1/* 2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26module html { 27 28 interface [ 29 InterfaceUUID=98fb48ae-7216-489c-862b-8e1217fc4443, 30 ImplementationUUID=ab4f0781-152f-450e-9546-5b3987491a54 31 ] CanvasRenderingContext2D : CanvasRenderingContext { 32 33 // Web Applications 1.0 draft 34 35 void save(); 36 void restore(); 37 38 void scale(in float sx, in float sy); 39 void rotate(in float angle); 40 void translate(in float tx, in float ty); 41 void transform(in float m11, in float m12, in float m21, in float m22, in float dx, in float dy); 42 void setTransform(in float m11, in float m12, in float m21, in float m22, in float dx, in float dy); 43 44 attribute float globalAlpha; 45 attribute [ConvertNullToNullString] DOMString globalCompositeOperation; 46 47 CanvasGradient createLinearGradient(in float x0, in float y0, in float x1, in float y1) 48 raises (DOMException); 49 CanvasGradient createRadialGradient(in float x0, in float y0, in float r0, in float x1, in float y1, in float r1) 50 raises (DOMException); 51 52 attribute float lineWidth; 53 attribute [ConvertNullToNullString] DOMString lineCap; 54 attribute [ConvertNullToNullString] DOMString lineJoin; 55 attribute float miterLimit; 56 57 attribute float shadowOffsetX; 58 attribute float shadowOffsetY; 59 attribute float shadowBlur; 60 attribute [ConvertNullToNullString] DOMString shadowColor; 61 62 void clearRect(in float x, in float y, in float width, in float height); 63 void fillRect(in float x, in float y, in float width, in float height); 64 65 void beginPath(); 66 void closePath(); 67 void moveTo(in float x, in float y); 68 void lineTo(in float x, in float y); 69 void quadraticCurveTo(in float cpx, in float cpy, in float x, in float y); 70 void bezierCurveTo(in float cp1x, in float cp1y, in float cp2x, in float cp2y, in float x, in float y); 71 void arcTo(in float x1, in float y1, in float x2, in float y2, in float radius) 72 raises (DOMException); 73 void rect(in float x, in float y, in float width, in float height); 74 void arc(in float x, in float y, in float radius, in float startAngle, in float endAngle, in boolean anticlockwise) 75 raises (DOMException); 76 void fill(); 77 void stroke(); 78 void clip(); 79 boolean isPointInPath(in float x, in float y); 80 81 // text 82 attribute DOMString font; 83 attribute DOMString textAlign; 84 attribute DOMString textBaseline; 85 [Custom] void fillText(/* 4 */); 86 [Custom] void strokeText(/* 4 */); 87 TextMetrics measureText(in DOMString text); 88 89 // other 90 91 void setAlpha(in float alpha); 92 void setCompositeOperation(in DOMString compositeOperation); 93 94 void setLineWidth(in float width); 95 void setLineCap(in DOMString cap); 96 void setLineJoin(in DOMString join); 97 void setMiterLimit(in float limit); 98 99 void clearShadow(); 100 101 [Custom] void setStrokeColor(/* 1 */); 102 [Custom] void setFillColor(/* 1 */); 103 [Custom] void strokeRect(/* 4 */); 104 [Custom] void drawImage(/* 3 */); 105 [Custom] void drawImageFromRect(/* 10 */); 106 [Custom] void setShadow(/* 3 */); 107 [Custom] void createPattern(/* 2 */); 108 109 attribute [Custom] custom strokeStyle; 110 attribute [Custom] custom fillStyle; 111 112 // pixel manipulation 113 ImageData createImageData(in float sw, in float sh) 114 raises (DOMException); 115 ImageData getImageData(in float sx, in float sy, in float sw, in float sh) 116 raises(DOMException); 117 [Custom] void putImageData(/* in ImageData imagedata, in float dx, in float dy [, in float dirtyX, in float dirtyY, in float dirtyWidth, in float dirtyHeight] */); 118 }; 119 120} 121 122