Adam Barth 81233b6df9 Add a basic custom painting facility to Sky
This CL adds just enough custom painting to Sky to make
sky/examples/painting/circle.sky draw a circle. Over time, we should be able to
elaborate this system into something interesting and to make it actually work
in a reasonable way.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1017593005
2015-03-19 16:00:21 -07:00

43 lines
1.4 KiB
Plaintext

// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
[
CustomConstructor,
] interface Element : ParentNode {
readonly attribute DOMString tagName;
boolean hasAttribute(DOMString name);
[TreatReturnedNullStringAs=Null] DOMString getAttribute(DOMString name);
[CustomElementCallbacks, RaisesException] void setAttribute(DOMString name, optional DOMString? value);
[CustomElementCallbacks] void removeAttribute(DOMString name);
sequence<Attr> getAttributes();
readonly attribute ShadowRoot shadowRoot;
void requestPaint(PaintingCallback callback);
// TODO(abarth): Move to Node.
readonly attribute CSSStyleDeclaration style;
// TODO(abarth): Remove these when we implement more of the system.
[RaisesException] boolean matches(DOMString selectors);
void focus();
void blur();
attribute long tabIndex;
readonly attribute DOMTokenList classList;
[RaisesException] ShadowRoot ensureShadowRoot();
ClientRect getBoundingClientRect();
readonly attribute long offsetLeft;
readonly attribute long offsetTop;
readonly attribute long offsetWidth;
readonly attribute long offsetHeight;
readonly attribute Element offsetParent;
readonly attribute long clientLeft;
readonly attribute long clientTop;
readonly attribute long clientWidth;
readonly attribute long clientHeight;
};