blob: d41f87592ddc8149dbf07a107813ea771e75172c [file] [log] [blame]
/*
* Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
module html {
interface CanvasRenderingContext2D : CanvasRenderingContext {
void save();
void restore();
void scale(in [Optional=DefaultIsUndefined] float sx,
in [Optional=DefaultIsUndefined] float sy);
void rotate(in [Optional=DefaultIsUndefined] float angle);
void translate(in [Optional=DefaultIsUndefined] float tx,
in [Optional=DefaultIsUndefined] float ty);
void transform(in [Optional=DefaultIsUndefined] float m11,
in [Optional=DefaultIsUndefined] float m12,
in [Optional=DefaultIsUndefined] float m21,
in [Optional=DefaultIsUndefined] float m22,
in [Optional=DefaultIsUndefined] float dx,
in [Optional=DefaultIsUndefined] float dy);
void setTransform(in [Optional=DefaultIsUndefined] float m11,
in [Optional=DefaultIsUndefined] float m12,
in [Optional=DefaultIsUndefined] float m21,
in [Optional=DefaultIsUndefined] float m22,
in [Optional=DefaultIsUndefined] float dx,
in [Optional=DefaultIsUndefined] float dy);
attribute float globalAlpha;
attribute [TreatNullAs=NullString] DOMString globalCompositeOperation;
CanvasGradient createLinearGradient(in [Optional=DefaultIsUndefined] float x0,
in [Optional=DefaultIsUndefined] float y0,
in [Optional=DefaultIsUndefined] float x1,
in [Optional=DefaultIsUndefined] float y1)
raises (DOMException);
CanvasGradient createRadialGradient(in [Optional=DefaultIsUndefined] float x0,
in [Optional=DefaultIsUndefined] float y0,
in [Optional=DefaultIsUndefined] float r0,
in [Optional=DefaultIsUndefined] float x1,
in [Optional=DefaultIsUndefined] float y1,
in [Optional=DefaultIsUndefined] float r1)
raises (DOMException);
attribute float lineWidth;
attribute [TreatNullAs=NullString] DOMString lineCap;
attribute [TreatNullAs=NullString] DOMString lineJoin;
attribute float miterLimit;
attribute float shadowOffsetX;
attribute float shadowOffsetY;
attribute float shadowBlur;
attribute [TreatNullAs=NullString] DOMString shadowColor;
// FIXME: These attributes should also be implemented for V8.
#if !(defined(V8_BINDING) && V8_BINDING)
attribute [Custom] Array webkitLineDash;
attribute float webkitLineDashOffset;
#endif
void clearRect(in [Optional=DefaultIsUndefined] float x,
in [Optional=DefaultIsUndefined] float y,
in [Optional=DefaultIsUndefined] float width,
in [Optional=DefaultIsUndefined] float height);
void fillRect(in [Optional=DefaultIsUndefined] float x,
in [Optional=DefaultIsUndefined] float y,
in [Optional=DefaultIsUndefined] float width,
in [Optional=DefaultIsUndefined] float height);
void beginPath();
void closePath();
void moveTo(in [Optional=DefaultIsUndefined] float x,
in [Optional=DefaultIsUndefined] float y);
void lineTo(in [Optional=DefaultIsUndefined] float x,
in [Optional=DefaultIsUndefined] float y);
void quadraticCurveTo(in [Optional=DefaultIsUndefined] float cpx,
in [Optional=DefaultIsUndefined] float cpy,
in [Optional=DefaultIsUndefined] float x,
in [Optional=DefaultIsUndefined] float y);
void bezierCurveTo(in [Optional=DefaultIsUndefined] float cp1x,
in [Optional=DefaultIsUndefined] float cp1y,
in [Optional=DefaultIsUndefined] float cp2x,
in [Optional=DefaultIsUndefined] float cp2y,
in [Optional=DefaultIsUndefined] float x,
in [Optional=DefaultIsUndefined] float y);
void arcTo(in [Optional=DefaultIsUndefined] float x1,
in [Optional=DefaultIsUndefined] float y1,
in [Optional=DefaultIsUndefined] float x2,
in [Optional=DefaultIsUndefined] float y2,
in [Optional=DefaultIsUndefined] float radius)
raises (DOMException);
void rect(in [Optional=DefaultIsUndefined] float x,
in [Optional=DefaultIsUndefined] float y,
in [Optional=DefaultIsUndefined] float width,
in [Optional=DefaultIsUndefined] float height);
void arc(in [Optional=DefaultIsUndefined] float x,
in [Optional=DefaultIsUndefined] float y,
in [Optional=DefaultIsUndefined] float radius,
in [Optional=DefaultIsUndefined] float startAngle,
in [Optional=DefaultIsUndefined] float endAngle,
in [Optional=DefaultIsUndefined] boolean anticlockwise)
raises (DOMException);
void fill();
void stroke();
void clip();
boolean isPointInPath(in [Optional=DefaultIsUndefined] float x,
in [Optional=DefaultIsUndefined] float y);
// text
attribute DOMString font;
attribute DOMString textAlign;
attribute DOMString textBaseline;
TextMetrics measureText(in [Optional=DefaultIsUndefined] DOMString text);
// other
void setAlpha(in [Optional=DefaultIsUndefined] float alpha);
void setCompositeOperation(in [Optional=DefaultIsUndefined] DOMString compositeOperation);
#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
void setLineWidth(in [Optional=DefaultIsUndefined] float width);
void setLineCap(in [Optional=DefaultIsUndefined] DOMString cap);
void setLineJoin(in [Optional=DefaultIsUndefined] DOMString join);
void setMiterLimit(in [Optional=DefaultIsUndefined] float limit);
#endif
void clearShadow();
void fillText(in DOMString text, in float x, in float y, in [Optional] float maxWidth);
void strokeText(in DOMString text, in float x, in float y, in [Optional] float maxWidth);
void setStrokeColor(in DOMString color, in [Optional] float alpha);
void setStrokeColor(in float grayLevel, in [Optional] float alpha);
void setStrokeColor(in float r, in float g, in float b, in float a);
void setStrokeColor(in float c, in float m, in float y, in float k, in float a);
void setFillColor(in DOMString color, in [Optional] float alpha);
void setFillColor(in float grayLevel, in [Optional] float alpha);
void setFillColor(in float r, in float g, in float b, in float a);
void setFillColor(in float c, in float m, in float y, in float k, in float a);
void strokeRect(in [Optional=DefaultIsUndefined] float x,
in [Optional=DefaultIsUndefined] float y,
in [Optional=DefaultIsUndefined] float width,
in [Optional=DefaultIsUndefined] float height,
in [Optional] float lineWidth);
void drawImage(in HTMLImageElement image, in float x, in float y)
raises (DOMException);
void drawImage(in HTMLImageElement image, in float x, in float y, in float width, in float height)
raises (DOMException);
void drawImage(in HTMLImageElement image, in float sx, in float sy, in float sw, in float sh, in float dx, in float dy, in float dw, in float dh)
raises (DOMException);
void drawImage(in HTMLCanvasElement canvas, in float x, in float y)
raises (DOMException);
void drawImage(in HTMLCanvasElement canvas, in float x, in float y, in float width, in float height)
raises (DOMException);
void drawImage(in HTMLCanvasElement canvas, in float sx, in float sy, in float sw, in float sh, in float dx, in float dy, in float dw, in float dh)
raises (DOMException);
#if defined(ENABLE_VIDEO) && ENABLE_VIDEO
void drawImage(in HTMLVideoElement video, in float x, in float y)
raises (DOMException);
void drawImage(in HTMLVideoElement video, in float x, in float y, in float width, in float height)
raises (DOMException);
void drawImage(in HTMLVideoElement video, in float sx, in float sy, in float sw, in float sh, in float dx, in float dy, in float dw, in float dh)
raises (DOMException);
#endif
void drawImageFromRect(in HTMLImageElement image,
in [Optional] float sx, in [Optional] float sy, in [Optional] float sw, in [Optional] float sh,
in [Optional] float dx, in [Optional] float dy, in [Optional] float dw, in [Optional] float dh,
in [Optional] DOMString compositeOperation);
void setShadow(in float width, in float height, in float blur, in [Optional] DOMString color, in [Optional] float alpha);
void setShadow(in float width, in float height, in float blur, in float grayLevel, in [Optional] float alpha);
void setShadow(in float width, in float height, in float blur, in float r, in float g, in float b, in float a);
void setShadow(in float width, in float height, in float blur, in float c, in float m, in float y, in float k, in float a);
void putImageData(in ImageData imagedata, in float dx, in float dy)
raises(DOMException);
void putImageData(in ImageData imagedata, in float dx, in float dy, in float dirtyX, in float dirtyY, in float dirtyWidth, in float dirtyHeight)
raises(DOMException);
void webkitPutImageDataHD(in ImageData imagedata, in float dx, in float dy)
raises(DOMException);
void webkitPutImageDataHD(in ImageData imagedata, in float dx, in float dy, in float dirtyX, in float dirtyY, in float dirtyWidth, in float dirtyHeight)
raises(DOMException);
CanvasPattern createPattern(in HTMLCanvasElement canvas, in [TreatNullAs=NullString] DOMString repetitionType)
raises (DOMException);
CanvasPattern createPattern(in HTMLImageElement image, in [TreatNullAs=NullString] DOMString repetitionType)
raises (DOMException);
ImageData createImageData(in ImageData imagedata)
raises (DOMException);
ImageData createImageData(in float sw, in float sh)
raises (DOMException);
attribute [Custom] custom strokeStyle;
attribute [Custom] custom fillStyle;
// pixel manipulation
ImageData getImageData(in [Optional=DefaultIsUndefined] float sx, in [Optional=DefaultIsUndefined] float sy,
in [Optional=DefaultIsUndefined] float sw, in [Optional=DefaultIsUndefined] float sh)
raises(DOMException);
ImageData webkitGetImageDataHD(in [Optional=DefaultIsUndefined] float sx, in [Optional=DefaultIsUndefined] float sy,
in [Optional=DefaultIsUndefined] float sw, in [Optional=DefaultIsUndefined] float sh)
raises(DOMException);
readonly attribute float webkitBackingStorePixelRatio;
attribute boolean webkitImageSmoothingEnabled;
};
}