1 module libwasm.bindings.CanvasRenderingContext2D; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.Element; 7 import libwasm.bindings.HTMLCanvasElement; 8 import libwasm.bindings.HTMLImageElement; 9 import libwasm.bindings.HTMLVideoElement; 10 import libwasm.bindings.ImageBitmap; 11 import libwasm.bindings.ImageData; 12 import libwasm.bindings.SVGImageElement; 13 import libwasm.bindings.SVGMatrix; 14 import libwasm.bindings.Window; 15 16 @safe: 17 nothrow: 18 19 struct CanvasCompositing { 20 nothrow: 21 JsHandle handle; 22 alias handle this; 23 this(Handle h) { 24 this.handle = JsHandle(h); 25 } 26 void globalAlpha()(double globalAlpha) { 27 Object_Call_double__void(this.handle, "globalAlpha", globalAlpha); 28 } 29 double globalAlpha()() { 30 return Object_Getter__double(this.handle, "globalAlpha"); 31 } 32 void globalCompositeOperation()(string globalCompositeOperation) { 33 Object_Call_string__void(this.handle, "globalCompositeOperation", globalCompositeOperation); 34 } 35 string globalCompositeOperation()() { 36 return Object_Getter__string(this.handle, "globalCompositeOperation"); 37 } 38 } 39 struct CanvasDrawImage { 40 nothrow: 41 JsHandle handle; 42 alias handle this; 43 this(Handle h) { 44 this.handle = JsHandle(h); 45 } 46 void drawImage()(scope ref CanvasImageSource image, double dx, double dy) { 47 Serialize_Object_VarArgCall!void(this.handle, "drawImage", "SumType!(Handle,Handle,Handle,Handle,Handle);double;double", tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => 0),((ref image.Types[1] v) => 1),((ref image.Types[2] v) => 2),((ref image.Types[3] v) => 3),((ref image.Types[4] v) => 4))(image),tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => cast(Handle)v.handle),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => cast(Handle)v.handle),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => cast(Handle)v.handle),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => cast(Handle)v.handle),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => cast(Handle)v.handle))(image)), dx, dy)); 48 } 49 void drawImage()(scope ref CanvasImageSource image, double dx, double dy, double dw, double dh) { 50 Serialize_Object_VarArgCall!void(this.handle, "drawImage", "SumType!(Handle,Handle,Handle,Handle,Handle);double;double;double;double", tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => 0),((ref image.Types[1] v) => 1),((ref image.Types[2] v) => 2),((ref image.Types[3] v) => 3),((ref image.Types[4] v) => 4))(image),tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => cast(Handle)v.handle),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => cast(Handle)v.handle),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => cast(Handle)v.handle),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => cast(Handle)v.handle),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => cast(Handle)v.handle))(image)), dx, dy, dw, dh)); 51 } 52 void drawImage()(scope ref CanvasImageSource image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh) { 53 Serialize_Object_VarArgCall!void(this.handle, "drawImage", "SumType!(Handle,Handle,Handle,Handle,Handle);double;double;double;double;double;double;double;double", tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => 0),((ref image.Types[1] v) => 1),((ref image.Types[2] v) => 2),((ref image.Types[3] v) => 3),((ref image.Types[4] v) => 4))(image),tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => cast(Handle)v.handle),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => cast(Handle)v.handle),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => cast(Handle)v.handle),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => cast(Handle)v.handle),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => cast(Handle)v.handle))(image)), sx, sy, sw, sh, dx, dy, dw, dh)); 54 } 55 } 56 struct CanvasDrawPath { 57 nothrow: 58 JsHandle handle; 59 alias handle this; 60 this(Handle h) { 61 this.handle = JsHandle(h); 62 } 63 void beginPath()() { 64 Object_Call__void(this.handle, "beginPath"); 65 } 66 void fill()(CanvasWindingRule winding /* = "nonzero" */) { 67 Object_Call_int__void(this.handle, "fill", winding); 68 } 69 void fill()() { 70 Object_Call__void(this.handle, "fill"); 71 } 72 void fill()(scope ref Path2D path, CanvasWindingRule winding /* = "nonzero" */) { 73 Serialize_Object_VarArgCall!void(this.handle, "fill", "Handle;Enum", tuple(cast(Handle)path.handle, winding)); 74 } 75 void fill()(scope ref Path2D path) { 76 Object_Call_Handle__void(this.handle, "fill", path.handle); 77 } 78 void stroke()() { 79 Object_Call__void(this.handle, "stroke"); 80 } 81 void stroke()(scope ref Path2D path) { 82 Object_Call_Handle__void(this.handle, "stroke", path.handle); 83 } 84 void clip()(CanvasWindingRule winding /* = "nonzero" */) { 85 Object_Call_int__void(this.handle, "clip", winding); 86 } 87 void clip()() { 88 Object_Call__void(this.handle, "clip"); 89 } 90 void clip()(scope ref Path2D path, CanvasWindingRule winding /* = "nonzero" */) { 91 Serialize_Object_VarArgCall!void(this.handle, "clip", "Handle;Enum", tuple(cast(Handle)path.handle, winding)); 92 } 93 void clip()(scope ref Path2D path) { 94 Object_Call_Handle__void(this.handle, "clip", path.handle); 95 } 96 bool isPointInPath()(double x, double y, CanvasWindingRule winding /* = "nonzero" */) { 97 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInPath", "double;double;Enum", tuple(x, y, winding)); 98 } 99 bool isPointInPath()(double x, double y) { 100 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInPath", "double;double", tuple(x, y)); 101 } 102 bool isPointInPath()(scope ref Path2D path, double x, double y, CanvasWindingRule winding /* = "nonzero" */) { 103 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInPath", "Handle;double;double;Enum", tuple(cast(Handle)path.handle, x, y, winding)); 104 } 105 bool isPointInPath()(scope ref Path2D path, double x, double y) { 106 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInPath", "Handle;double;double", tuple(cast(Handle)path.handle, x, y)); 107 } 108 bool isPointInStroke()(double x, double y) { 109 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInStroke", "double;double", tuple(x, y)); 110 } 111 bool isPointInStroke()(scope ref Path2D path, double x, double y) { 112 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInStroke", "Handle;double;double", tuple(cast(Handle)path.handle, x, y)); 113 } 114 } 115 struct CanvasFillStrokeStyles { 116 nothrow: 117 JsHandle handle; 118 alias handle this; 119 this(Handle h) { 120 this.handle = JsHandle(h); 121 } 122 void strokeStyle()(scope ref SumType!(string, CanvasGradient, CanvasPattern) strokeStyle) { 123 Serialize_Object_VarArgCall!void(this.handle, "strokeStyle", "SumType!(string,Handle,Handle)", tuple(libwasm.sumtype.match!(((string v) => 0),((ref strokeStyle.Types[1] v) => 1),((ref strokeStyle.Types[2] v) => 2))(strokeStyle),tuple(libwasm.sumtype.match!(((string v) => v),((ref strokeStyle.Types[1] v) => string.init),((ref strokeStyle.Types[2] v) => string.init))(strokeStyle),libwasm.sumtype.match!(((string v) => Handle.init),((ref strokeStyle.Types[1] v) => cast(Handle)v.handle),((ref strokeStyle.Types[2] v) => Handle.init))(strokeStyle),libwasm.sumtype.match!(((string v) => Handle.init),((ref strokeStyle.Types[1] v) => Handle.init),((ref strokeStyle.Types[2] v) => cast(Handle)v.handle))(strokeStyle)))); 124 } 125 auto strokeStyle()() { 126 return Object_Getter__Handle(this.handle, "strokeStyle"); 127 } 128 void fillStyle()(scope ref SumType!(string, CanvasGradient, CanvasPattern) fillStyle) { 129 Serialize_Object_VarArgCall!void(this.handle, "fillStyle", "SumType!(string,Handle,Handle)", tuple(libwasm.sumtype.match!(((string v) => 0),((ref fillStyle.Types[1] v) => 1),((ref fillStyle.Types[2] v) => 2))(fillStyle),tuple(libwasm.sumtype.match!(((string v) => v),((ref fillStyle.Types[1] v) => string.init),((ref fillStyle.Types[2] v) => string.init))(fillStyle),libwasm.sumtype.match!(((string v) => Handle.init),((ref fillStyle.Types[1] v) => cast(Handle)v.handle),((ref fillStyle.Types[2] v) => Handle.init))(fillStyle),libwasm.sumtype.match!(((string v) => Handle.init),((ref fillStyle.Types[1] v) => Handle.init),((ref fillStyle.Types[2] v) => cast(Handle)v.handle))(fillStyle)))); 130 } 131 auto fillStyle()() { 132 return Object_Getter__Handle(this.handle, "fillStyle"); 133 } 134 auto createLinearGradient()(double x0, double y0, double x1, double y1) { 135 return CanvasGradient(Serialize_Object_VarArgCall!Handle(this.handle, "createLinearGradient", "double;double;double;double", tuple(x0, y0, x1, y1))); 136 } 137 auto createRadialGradient()(double x0, double y0, double r0, double x1, double y1, double r1) { 138 return CanvasGradient(Serialize_Object_VarArgCall!Handle(this.handle, "createRadialGradient", "double;double;double;double;double;double", tuple(x0, y0, r0, x1, y1, r1))); 139 } 140 auto createPattern()(scope ref CanvasImageSource image, string repetition) { 141 return recastOpt!(CanvasPattern)(Serialize_Object_VarArgCall!(Optional!Handle)(this.handle, "createPattern", "SumType!(Handle,Handle,Handle,Handle,Handle);string", tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => 0),((ref image.Types[1] v) => 1),((ref image.Types[2] v) => 2),((ref image.Types[3] v) => 3),((ref image.Types[4] v) => 4))(image),tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => cast(Handle)v.handle),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => cast(Handle)v.handle),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => cast(Handle)v.handle),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => cast(Handle)v.handle),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => cast(Handle)v.handle))(image)), repetition))); 142 } 143 } 144 struct CanvasFilters { 145 nothrow: 146 JsHandle handle; 147 alias handle this; 148 this(Handle h) { 149 this.handle = JsHandle(h); 150 } 151 void filter()(string filter) { 152 Object_Call_string__void(this.handle, "filter", filter); 153 } 154 string filter()() { 155 return Object_Getter__string(this.handle, "filter"); 156 } 157 } 158 struct CanvasGradient { 159 nothrow: 160 JsHandle handle; 161 alias handle this; 162 this(Handle h) { 163 this.handle = JsHandle(h); 164 } 165 void addColorStop()(float offset, string color) { 166 Serialize_Object_VarArgCall!void(this.handle, "addColorStop", "float;string", tuple(offset, color)); 167 } 168 } 169 struct CanvasHitRegions { 170 nothrow: 171 JsHandle handle; 172 alias handle this; 173 this(Handle h) { 174 this.handle = JsHandle(h); 175 } 176 void addHitRegion()(scope ref HitRegionOptions options) { 177 Object_Call_Handle__void(this.handle, "addHitRegion", options.handle); 178 } 179 void addHitRegion()() { 180 Object_Call__void(this.handle, "addHitRegion"); 181 } 182 void removeHitRegion()(string id) { 183 Object_Call_string__void(this.handle, "removeHitRegion", id); 184 } 185 void clearHitRegions()() { 186 Object_Call__void(this.handle, "clearHitRegions"); 187 } 188 } 189 struct CanvasImageData { 190 nothrow: 191 JsHandle handle; 192 alias handle this; 193 this(Handle h) { 194 this.handle = JsHandle(h); 195 } 196 auto createImageData()(double sw, double sh) { 197 return ImageData(Serialize_Object_VarArgCall!Handle(this.handle, "createImageData", "double;double", tuple(sw, sh))); 198 } 199 auto createImageData()(scope ref ImageData imagedata) { 200 return ImageData(Object_Call_Handle__Handle(this.handle, "createImageData", imagedata.handle)); 201 } 202 auto getImageData()(double sx, double sy, double sw, double sh) { 203 return ImageData(Serialize_Object_VarArgCall!Handle(this.handle, "getImageData", "double;double;double;double", tuple(sx, sy, sw, sh))); 204 } 205 void putImageData()(scope ref ImageData imagedata, double dx, double dy) { 206 Serialize_Object_VarArgCall!void(this.handle, "putImageData", "Handle;double;double", tuple(cast(Handle)imagedata.handle, dx, dy)); 207 } 208 void putImageData()(scope ref ImageData imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight) { 209 Serialize_Object_VarArgCall!void(this.handle, "putImageData", "Handle;double;double;double;double;double;double", tuple(cast(Handle)imagedata.handle, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight)); 210 } 211 } 212 struct CanvasImageSmoothing { 213 nothrow: 214 JsHandle handle; 215 alias handle this; 216 this(Handle h) { 217 this.handle = JsHandle(h); 218 } 219 void imageSmoothingEnabled()(bool imageSmoothingEnabled) { 220 Object_Call_bool__void(this.handle, "imageSmoothingEnabled", imageSmoothingEnabled); 221 } 222 bool imageSmoothingEnabled()() { 223 return Object_Getter__bool(this.handle, "imageSmoothingEnabled"); 224 } 225 } 226 alias CanvasImageSource = SumType!(HTMLOrSVGImageElement, HTMLCanvasElement, HTMLVideoElement, ImageBitmap); 227 struct CanvasPathDrawingStyles { 228 nothrow: 229 JsHandle handle; 230 alias handle this; 231 this(Handle h) { 232 this.handle = JsHandle(h); 233 } 234 void lineWidth()(double lineWidth) { 235 Object_Call_double__void(this.handle, "lineWidth", lineWidth); 236 } 237 double lineWidth()() { 238 return Object_Getter__double(this.handle, "lineWidth"); 239 } 240 void lineCap()(string lineCap) { 241 Object_Call_string__void(this.handle, "lineCap", lineCap); 242 } 243 string lineCap()() { 244 return Object_Getter__string(this.handle, "lineCap"); 245 } 246 void lineJoin()(string lineJoin) { 247 Object_Call_string__void(this.handle, "lineJoin", lineJoin); 248 } 249 string lineJoin()() { 250 return Object_Getter__string(this.handle, "lineJoin"); 251 } 252 void miterLimit()(double miterLimit) { 253 Object_Call_double__void(this.handle, "miterLimit", miterLimit); 254 } 255 double miterLimit()() { 256 return Object_Getter__double(this.handle, "miterLimit"); 257 } 258 void setLineDash()(scope ref Sequence!(double) segments) { 259 Object_Call_Handle__void(this.handle, "setLineDash", segments.handle); 260 } 261 auto getLineDash()() { 262 return Sequence!(double)(Object_Getter__Handle(this.handle, "getLineDash")); 263 } 264 void lineDashOffset()(double lineDashOffset) { 265 Object_Call_double__void(this.handle, "lineDashOffset", lineDashOffset); 266 } 267 double lineDashOffset()() { 268 return Object_Getter__double(this.handle, "lineDashOffset"); 269 } 270 } 271 struct CanvasPathMethods { 272 nothrow: 273 JsHandle handle; 274 alias handle this; 275 this(Handle h) { 276 this.handle = JsHandle(h); 277 } 278 void closePath()() { 279 Object_Call__void(this.handle, "closePath"); 280 } 281 void moveTo()(double x, double y) { 282 Object_Call_double_double__void(this.handle, "moveTo", x, y); 283 } 284 void lineTo()(double x, double y) { 285 Object_Call_double_double__void(this.handle, "lineTo", x, y); 286 } 287 void quadraticCurveTo()(double cpx, double cpy, double x, double y) { 288 Serialize_Object_VarArgCall!void(this.handle, "quadraticCurveTo", "double;double;double;double", tuple(cpx, cpy, x, y)); 289 } 290 void bezierCurveTo()(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y) { 291 Serialize_Object_VarArgCall!void(this.handle, "bezierCurveTo", "double;double;double;double;double;double", tuple(cp1x, cp1y, cp2x, cp2y, x, y)); 292 } 293 void arcTo()(double x1, double y1, double x2, double y2, double radius) { 294 Serialize_Object_VarArgCall!void(this.handle, "arcTo", "double;double;double;double;double", tuple(x1, y1, x2, y2, radius)); 295 } 296 void rect()(double x, double y, double w, double h) { 297 Serialize_Object_VarArgCall!void(this.handle, "rect", "double;double;double;double", tuple(x, y, w, h)); 298 } 299 void arc()(double x, double y, double radius, double startAngle, double endAngle, bool anticlockwise /* = false */) { 300 Serialize_Object_VarArgCall!void(this.handle, "arc", "double;double;double;double;double;bool", tuple(x, y, radius, startAngle, endAngle, anticlockwise)); 301 } 302 void arc()(double x, double y, double radius, double startAngle, double endAngle) { 303 Serialize_Object_VarArgCall!void(this.handle, "arc", "double;double;double;double;double", tuple(x, y, radius, startAngle, endAngle)); 304 } 305 void ellipse()(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, bool anticlockwise /* = false */) { 306 Serialize_Object_VarArgCall!void(this.handle, "ellipse", "double;double;double;double;double;double;double;bool", tuple(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)); 307 } 308 void ellipse()(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle) { 309 Serialize_Object_VarArgCall!void(this.handle, "ellipse", "double;double;double;double;double;double;double", tuple(x, y, radiusX, radiusY, rotation, startAngle, endAngle)); 310 } 311 } 312 struct CanvasPattern { 313 nothrow: 314 JsHandle handle; 315 alias handle this; 316 this(Handle h) { 317 this.handle = JsHandle(h); 318 } 319 void setTransform()(scope ref SVGMatrix matrix) { 320 Object_Call_Handle__void(this.handle, "setTransform", matrix.handle); 321 } 322 } 323 struct CanvasRect { 324 nothrow: 325 JsHandle handle; 326 alias handle this; 327 this(Handle h) { 328 this.handle = JsHandle(h); 329 } 330 void clearRect()(double x, double y, double w, double h) { 331 Serialize_Object_VarArgCall!void(this.handle, "clearRect", "double;double;double;double", tuple(x, y, w, h)); 332 } 333 void fillRect()(double x, double y, double w, double h) { 334 Serialize_Object_VarArgCall!void(this.handle, "fillRect", "double;double;double;double", tuple(x, y, w, h)); 335 } 336 void strokeRect()(double x, double y, double w, double h) { 337 Serialize_Object_VarArgCall!void(this.handle, "strokeRect", "double;double;double;double", tuple(x, y, w, h)); 338 } 339 } 340 struct CanvasRenderingContext2D { 341 nothrow: 342 JsHandle handle; 343 alias handle this; 344 this(Handle h) { 345 this.handle = JsHandle(h); 346 } 347 auto canvas()() { 348 return recastOpt!(HTMLCanvasElement)(Object_Getter__OptionalHandle(this.handle, "canvas")); 349 } 350 void mozCurrentTransform()(scope ref JsObject mozCurrentTransform) { 351 Object_Call_Handle__void(this.handle, "mozCurrentTransform", mozCurrentTransform.handle); 352 } 353 auto mozCurrentTransform()() { 354 return JsObject(Object_Getter__Handle(this.handle, "mozCurrentTransform")); 355 } 356 void mozCurrentTransformInverse()(scope ref JsObject mozCurrentTransformInverse) { 357 Object_Call_Handle__void(this.handle, "mozCurrentTransformInverse", mozCurrentTransformInverse.handle); 358 } 359 auto mozCurrentTransformInverse()() { 360 return JsObject(Object_Getter__Handle(this.handle, "mozCurrentTransformInverse")); 361 } 362 void mozTextStyle()(string mozTextStyle) { 363 Object_Call_string__void(this.handle, "mozTextStyle", mozTextStyle); 364 } 365 string mozTextStyle()() { 366 return Object_Getter__string(this.handle, "mozTextStyle"); 367 } 368 void mozImageSmoothingEnabled()(bool mozImageSmoothingEnabled) { 369 Object_Call_bool__void(this.handle, "mozImageSmoothingEnabled", mozImageSmoothingEnabled); 370 } 371 bool mozImageSmoothingEnabled()() { 372 return Object_Getter__bool(this.handle, "mozImageSmoothingEnabled"); 373 } 374 enum uint DRAWWINDOW_DRAW_CARET = 0x01; 375 enum uint DRAWWINDOW_DO_NOT_FLUSH = 0x02; 376 enum uint DRAWWINDOW_DRAW_VIEW = 0x04; 377 enum uint DRAWWINDOW_USE_WIDGET_LAYERS = 0x08; 378 enum uint DRAWWINDOW_ASYNC_DECODE_IMAGES = 0x10; 379 void drawWindow()(scope ref Window window, double x, double y, double w, double h, string bgColor, uint flags /* = 0 */) { 380 Serialize_Object_VarArgCall!void(this.handle, "drawWindow", "Handle;double;double;double;double;string;uint", tuple(cast(Handle)window._parent, x, y, w, h, bgColor, flags)); 381 } 382 void drawWindow()(scope ref Window window, double x, double y, double w, double h, string bgColor) { 383 Serialize_Object_VarArgCall!void(this.handle, "drawWindow", "Handle;double;double;double;double;string", tuple(cast(Handle)window._parent, x, y, w, h, bgColor)); 384 } 385 void demote()() { 386 Object_Call__void(this.handle, "demote"); 387 } 388 void save()() { 389 Object_Call__void(this.handle, "save"); 390 } 391 void restore()() { 392 Object_Call__void(this.handle, "restore"); 393 } 394 void scale()(double x, double y) { 395 Object_Call_double_double__void(this.handle, "scale", x, y); 396 } 397 void rotate()(double angle) { 398 Object_Call_double__void(this.handle, "rotate", angle); 399 } 400 void translate()(double x, double y) { 401 Object_Call_double_double__void(this.handle, "translate", x, y); 402 } 403 void transform()(double a, double b, double c, double d, double e, double f) { 404 Serialize_Object_VarArgCall!void(this.handle, "transform", "double;double;double;double;double;double", tuple(a, b, c, d, e, f)); 405 } 406 void setTransform()(double a, double b, double c, double d, double e, double f) { 407 Serialize_Object_VarArgCall!void(this.handle, "setTransform", "double;double;double;double;double;double", tuple(a, b, c, d, e, f)); 408 } 409 void resetTransform()() { 410 Object_Call__void(this.handle, "resetTransform"); 411 } 412 void globalAlpha()(double globalAlpha) { 413 Object_Call_double__void(this.handle, "globalAlpha", globalAlpha); 414 } 415 double globalAlpha()() { 416 return Object_Getter__double(this.handle, "globalAlpha"); 417 } 418 void globalCompositeOperation()(string globalCompositeOperation) { 419 Object_Call_string__void(this.handle, "globalCompositeOperation", globalCompositeOperation); 420 } 421 string globalCompositeOperation()() { 422 return Object_Getter__string(this.handle, "globalCompositeOperation"); 423 } 424 void imageSmoothingEnabled()(bool imageSmoothingEnabled) { 425 Object_Call_bool__void(this.handle, "imageSmoothingEnabled", imageSmoothingEnabled); 426 } 427 bool imageSmoothingEnabled()() { 428 return Object_Getter__bool(this.handle, "imageSmoothingEnabled"); 429 } 430 void strokeStyle()(scope ref SumType!(string, CanvasGradient, CanvasPattern) strokeStyle) { 431 Serialize_Object_VarArgCall!void(this.handle, "strokeStyle", "SumType!(string,Handle,Handle)", tuple(libwasm.sumtype.match!(((string v) => 0),((ref strokeStyle.Types[1] v) => 1),((ref strokeStyle.Types[2] v) => 2))(strokeStyle),tuple(libwasm.sumtype.match!(((string v) => v),((ref strokeStyle.Types[1] v) => string.init),((ref strokeStyle.Types[2] v) => string.init))(strokeStyle),libwasm.sumtype.match!(((string v) => Handle.init),((ref strokeStyle.Types[1] v) => cast(Handle)v.handle),((ref strokeStyle.Types[2] v) => Handle.init))(strokeStyle),libwasm.sumtype.match!(((string v) => Handle.init),((ref strokeStyle.Types[1] v) => Handle.init),((ref strokeStyle.Types[2] v) => cast(Handle)v.handle))(strokeStyle)))); 432 } 433 auto strokeStyle()() { 434 return Object_Getter__Handle(this.handle, "strokeStyle"); 435 } 436 void fillStyle()(scope ref SumType!(string, CanvasGradient, CanvasPattern) fillStyle) { 437 Serialize_Object_VarArgCall!void(this.handle, "fillStyle", "SumType!(string,Handle,Handle)", tuple(libwasm.sumtype.match!(((string v) => 0),((ref fillStyle.Types[1] v) => 1),((ref fillStyle.Types[2] v) => 2))(fillStyle),tuple(libwasm.sumtype.match!(((string v) => v),((ref fillStyle.Types[1] v) => string.init),((ref fillStyle.Types[2] v) => string.init))(fillStyle),libwasm.sumtype.match!(((string v) => Handle.init),((ref fillStyle.Types[1] v) => cast(Handle)v.handle),((ref fillStyle.Types[2] v) => Handle.init))(fillStyle),libwasm.sumtype.match!(((string v) => Handle.init),((ref fillStyle.Types[1] v) => Handle.init),((ref fillStyle.Types[2] v) => cast(Handle)v.handle))(fillStyle)))); 438 } 439 auto fillStyle()() { 440 return Object_Getter__Handle(this.handle, "fillStyle"); 441 } 442 auto createLinearGradient()(double x0, double y0, double x1, double y1) { 443 return CanvasGradient(Serialize_Object_VarArgCall!Handle(this.handle, "createLinearGradient", "double;double;double;double", tuple(x0, y0, x1, y1))); 444 } 445 auto createRadialGradient()(double x0, double y0, double r0, double x1, double y1, double r1) { 446 return CanvasGradient(Serialize_Object_VarArgCall!Handle(this.handle, "createRadialGradient", "double;double;double;double;double;double", tuple(x0, y0, r0, x1, y1, r1))); 447 } 448 auto createPattern()(scope ref CanvasImageSource image, string repetition) { 449 return recastOpt!(CanvasPattern)(Serialize_Object_VarArgCall!(Optional!Handle)(this.handle, "createPattern", "SumType!(Handle,Handle,Handle,Handle,Handle);string", tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => 0),((ref image.Types[1] v) => 1),((ref image.Types[2] v) => 2),((ref image.Types[3] v) => 3),((ref image.Types[4] v) => 4))(image),tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => cast(Handle)v.handle),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => cast(Handle)v.handle),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => cast(Handle)v.handle),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => cast(Handle)v.handle),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => cast(Handle)v.handle))(image)), repetition))); 450 } 451 void shadowOffsetX()(double shadowOffsetX) { 452 Object_Call_double__void(this.handle, "shadowOffsetX", shadowOffsetX); 453 } 454 double shadowOffsetX()() { 455 return Object_Getter__double(this.handle, "shadowOffsetX"); 456 } 457 void shadowOffsetY()(double shadowOffsetY) { 458 Object_Call_double__void(this.handle, "shadowOffsetY", shadowOffsetY); 459 } 460 double shadowOffsetY()() { 461 return Object_Getter__double(this.handle, "shadowOffsetY"); 462 } 463 void shadowBlur()(double shadowBlur) { 464 Object_Call_double__void(this.handle, "shadowBlur", shadowBlur); 465 } 466 double shadowBlur()() { 467 return Object_Getter__double(this.handle, "shadowBlur"); 468 } 469 void shadowColor()(string shadowColor) { 470 Object_Call_string__void(this.handle, "shadowColor", shadowColor); 471 } 472 string shadowColor()() { 473 return Object_Getter__string(this.handle, "shadowColor"); 474 } 475 void filter()(string filter) { 476 Object_Call_string__void(this.handle, "filter", filter); 477 } 478 string filter()() { 479 return Object_Getter__string(this.handle, "filter"); 480 } 481 void clearRect()(double x, double y, double w, double h) { 482 Serialize_Object_VarArgCall!void(this.handle, "clearRect", "double;double;double;double", tuple(x, y, w, h)); 483 } 484 void fillRect()(double x, double y, double w, double h) { 485 Serialize_Object_VarArgCall!void(this.handle, "fillRect", "double;double;double;double", tuple(x, y, w, h)); 486 } 487 void strokeRect()(double x, double y, double w, double h) { 488 Serialize_Object_VarArgCall!void(this.handle, "strokeRect", "double;double;double;double", tuple(x, y, w, h)); 489 } 490 void beginPath()() { 491 Object_Call__void(this.handle, "beginPath"); 492 } 493 void fill()(CanvasWindingRule winding /* = "nonzero" */) { 494 Object_Call_int__void(this.handle, "fill", winding); 495 } 496 void fill()() { 497 Object_Call__void(this.handle, "fill"); 498 } 499 void fill()(scope ref Path2D path, CanvasWindingRule winding /* = "nonzero" */) { 500 Serialize_Object_VarArgCall!void(this.handle, "fill", "Handle;Enum", tuple(cast(Handle)path.handle, winding)); 501 } 502 void fill()(scope ref Path2D path) { 503 Object_Call_Handle__void(this.handle, "fill", path.handle); 504 } 505 void stroke()() { 506 Object_Call__void(this.handle, "stroke"); 507 } 508 void stroke()(scope ref Path2D path) { 509 Object_Call_Handle__void(this.handle, "stroke", path.handle); 510 } 511 void clip()(CanvasWindingRule winding /* = "nonzero" */) { 512 Object_Call_int__void(this.handle, "clip", winding); 513 } 514 void clip()() { 515 Object_Call__void(this.handle, "clip"); 516 } 517 void clip()(scope ref Path2D path, CanvasWindingRule winding /* = "nonzero" */) { 518 Serialize_Object_VarArgCall!void(this.handle, "clip", "Handle;Enum", tuple(cast(Handle)path.handle, winding)); 519 } 520 void clip()(scope ref Path2D path) { 521 Object_Call_Handle__void(this.handle, "clip", path.handle); 522 } 523 bool isPointInPath()(double x, double y, CanvasWindingRule winding /* = "nonzero" */) { 524 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInPath", "double;double;Enum", tuple(x, y, winding)); 525 } 526 bool isPointInPath()(double x, double y) { 527 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInPath", "double;double", tuple(x, y)); 528 } 529 bool isPointInPath()(scope ref Path2D path, double x, double y, CanvasWindingRule winding /* = "nonzero" */) { 530 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInPath", "Handle;double;double;Enum", tuple(cast(Handle)path.handle, x, y, winding)); 531 } 532 bool isPointInPath()(scope ref Path2D path, double x, double y) { 533 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInPath", "Handle;double;double", tuple(cast(Handle)path.handle, x, y)); 534 } 535 bool isPointInStroke()(double x, double y) { 536 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInStroke", "double;double", tuple(x, y)); 537 } 538 bool isPointInStroke()(scope ref Path2D path, double x, double y) { 539 return Serialize_Object_VarArgCall!bool(this.handle, "isPointInStroke", "Handle;double;double", tuple(cast(Handle)path.handle, x, y)); 540 } 541 void drawFocusIfNeeded()(scope ref Element element) { 542 Object_Call_Handle__void(this.handle, "drawFocusIfNeeded", element._parent); 543 } 544 void fillText()(string text, double x, double y, double maxWidth) { 545 Serialize_Object_VarArgCall!void(this.handle, "fillText", "string;double;double;double", tuple(text, x, y, maxWidth)); 546 } 547 void fillText()(string text, double x, double y) { 548 Serialize_Object_VarArgCall!void(this.handle, "fillText", "string;double;double", tuple(text, x, y)); 549 } 550 void strokeText()(string text, double x, double y, double maxWidth) { 551 Serialize_Object_VarArgCall!void(this.handle, "strokeText", "string;double;double;double", tuple(text, x, y, maxWidth)); 552 } 553 void strokeText()(string text, double x, double y) { 554 Serialize_Object_VarArgCall!void(this.handle, "strokeText", "string;double;double", tuple(text, x, y)); 555 } 556 auto measureText()(string text) { 557 return TextMetrics(Object_Call_string__Handle(this.handle, "measureText", text)); 558 } 559 void drawImage()(scope ref CanvasImageSource image, double dx, double dy) { 560 Serialize_Object_VarArgCall!void(this.handle, "drawImage", "SumType!(Handle,Handle,Handle,Handle,Handle);double;double", tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => 0),((ref image.Types[1] v) => 1),((ref image.Types[2] v) => 2),((ref image.Types[3] v) => 3),((ref image.Types[4] v) => 4))(image),tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => cast(Handle)v.handle),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => cast(Handle)v.handle),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => cast(Handle)v.handle),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => cast(Handle)v.handle),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => cast(Handle)v.handle))(image)), dx, dy)); 561 } 562 void drawImage()(scope ref CanvasImageSource image, double dx, double dy, double dw, double dh) { 563 Serialize_Object_VarArgCall!void(this.handle, "drawImage", "SumType!(Handle,Handle,Handle,Handle,Handle);double;double;double;double", tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => 0),((ref image.Types[1] v) => 1),((ref image.Types[2] v) => 2),((ref image.Types[3] v) => 3),((ref image.Types[4] v) => 4))(image),tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => cast(Handle)v.handle),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => cast(Handle)v.handle),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => cast(Handle)v.handle),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => cast(Handle)v.handle),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => cast(Handle)v.handle))(image)), dx, dy, dw, dh)); 564 } 565 void drawImage()(scope ref CanvasImageSource image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh) { 566 Serialize_Object_VarArgCall!void(this.handle, "drawImage", "SumType!(Handle,Handle,Handle,Handle,Handle);double;double;double;double;double;double;double;double", tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => 0),((ref image.Types[1] v) => 1),((ref image.Types[2] v) => 2),((ref image.Types[3] v) => 3),((ref image.Types[4] v) => 4))(image),tuple(libwasm.sumtype.match!(((ref image.Types[0] v) => cast(Handle)v.handle),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => cast(Handle)v.handle),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => cast(Handle)v.handle),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => cast(Handle)v.handle),((ref image.Types[4] v) => Handle.init))(image),libwasm.sumtype.match!(((ref image.Types[0] v) => Handle.init),((ref image.Types[1] v) => Handle.init),((ref image.Types[2] v) => Handle.init),((ref image.Types[3] v) => Handle.init),((ref image.Types[4] v) => cast(Handle)v.handle))(image)), sx, sy, sw, sh, dx, dy, dw, dh)); 567 } 568 auto createImageData()(double sw, double sh) { 569 return ImageData(Serialize_Object_VarArgCall!Handle(this.handle, "createImageData", "double;double", tuple(sw, sh))); 570 } 571 auto createImageData()(scope ref ImageData imagedata) { 572 return ImageData(Object_Call_Handle__Handle(this.handle, "createImageData", imagedata.handle)); 573 } 574 auto getImageData()(double sx, double sy, double sw, double sh) { 575 return ImageData(Serialize_Object_VarArgCall!Handle(this.handle, "getImageData", "double;double;double;double", tuple(sx, sy, sw, sh))); 576 } 577 void putImageData()(scope ref ImageData imagedata, double dx, double dy) { 578 Serialize_Object_VarArgCall!void(this.handle, "putImageData", "Handle;double;double", tuple(cast(Handle)imagedata.handle, dx, dy)); 579 } 580 void putImageData()(scope ref ImageData imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight) { 581 Serialize_Object_VarArgCall!void(this.handle, "putImageData", "Handle;double;double;double;double;double;double", tuple(cast(Handle)imagedata.handle, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight)); 582 } 583 void lineWidth()(double lineWidth) { 584 Object_Call_double__void(this.handle, "lineWidth", lineWidth); 585 } 586 double lineWidth()() { 587 return Object_Getter__double(this.handle, "lineWidth"); 588 } 589 void lineCap()(string lineCap) { 590 Object_Call_string__void(this.handle, "lineCap", lineCap); 591 } 592 string lineCap()() { 593 return Object_Getter__string(this.handle, "lineCap"); 594 } 595 void lineJoin()(string lineJoin) { 596 Object_Call_string__void(this.handle, "lineJoin", lineJoin); 597 } 598 string lineJoin()() { 599 return Object_Getter__string(this.handle, "lineJoin"); 600 } 601 void miterLimit()(double miterLimit) { 602 Object_Call_double__void(this.handle, "miterLimit", miterLimit); 603 } 604 double miterLimit()() { 605 return Object_Getter__double(this.handle, "miterLimit"); 606 } 607 void setLineDash()(scope ref Sequence!(double) segments) { 608 Object_Call_Handle__void(this.handle, "setLineDash", segments.handle); 609 } 610 auto getLineDash()() { 611 return Sequence!(double)(Object_Getter__Handle(this.handle, "getLineDash")); 612 } 613 void lineDashOffset()(double lineDashOffset) { 614 Object_Call_double__void(this.handle, "lineDashOffset", lineDashOffset); 615 } 616 double lineDashOffset()() { 617 return Object_Getter__double(this.handle, "lineDashOffset"); 618 } 619 void font()(string font) { 620 Object_Call_string__void(this.handle, "font", font); 621 } 622 string font()() { 623 return Object_Getter__string(this.handle, "font"); 624 } 625 void textAlign()(string textAlign) { 626 Object_Call_string__void(this.handle, "textAlign", textAlign); 627 } 628 string textAlign()() { 629 return Object_Getter__string(this.handle, "textAlign"); 630 } 631 void textBaseline()(string textBaseline) { 632 Object_Call_string__void(this.handle, "textBaseline", textBaseline); 633 } 634 string textBaseline()() { 635 return Object_Getter__string(this.handle, "textBaseline"); 636 } 637 void closePath()() { 638 Object_Call__void(this.handle, "closePath"); 639 } 640 void moveTo()(double x, double y) { 641 Object_Call_double_double__void(this.handle, "moveTo", x, y); 642 } 643 void lineTo()(double x, double y) { 644 Object_Call_double_double__void(this.handle, "lineTo", x, y); 645 } 646 void quadraticCurveTo()(double cpx, double cpy, double x, double y) { 647 Serialize_Object_VarArgCall!void(this.handle, "quadraticCurveTo", "double;double;double;double", tuple(cpx, cpy, x, y)); 648 } 649 void bezierCurveTo()(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y) { 650 Serialize_Object_VarArgCall!void(this.handle, "bezierCurveTo", "double;double;double;double;double;double", tuple(cp1x, cp1y, cp2x, cp2y, x, y)); 651 } 652 void arcTo()(double x1, double y1, double x2, double y2, double radius) { 653 Serialize_Object_VarArgCall!void(this.handle, "arcTo", "double;double;double;double;double", tuple(x1, y1, x2, y2, radius)); 654 } 655 void rect()(double x, double y, double w, double h) { 656 Serialize_Object_VarArgCall!void(this.handle, "rect", "double;double;double;double", tuple(x, y, w, h)); 657 } 658 void arc()(double x, double y, double radius, double startAngle, double endAngle, bool anticlockwise /* = false */) { 659 Serialize_Object_VarArgCall!void(this.handle, "arc", "double;double;double;double;double;bool", tuple(x, y, radius, startAngle, endAngle, anticlockwise)); 660 } 661 void arc()(double x, double y, double radius, double startAngle, double endAngle) { 662 Serialize_Object_VarArgCall!void(this.handle, "arc", "double;double;double;double;double", tuple(x, y, radius, startAngle, endAngle)); 663 } 664 void ellipse()(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, bool anticlockwise /* = false */) { 665 Serialize_Object_VarArgCall!void(this.handle, "ellipse", "double;double;double;double;double;double;double;bool", tuple(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)); 666 } 667 void ellipse()(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle) { 668 Serialize_Object_VarArgCall!void(this.handle, "ellipse", "double;double;double;double;double;double;double", tuple(x, y, radiusX, radiusY, rotation, startAngle, endAngle)); 669 } 670 void addHitRegion()(scope ref HitRegionOptions options) { 671 Object_Call_Handle__void(this.handle, "addHitRegion", options.handle); 672 } 673 void addHitRegion()() { 674 Object_Call__void(this.handle, "addHitRegion"); 675 } 676 void removeHitRegion()(string id) { 677 Object_Call_string__void(this.handle, "removeHitRegion", id); 678 } 679 void clearHitRegions()() { 680 Object_Call__void(this.handle, "clearHitRegions"); 681 } 682 } 683 struct CanvasShadowStyles { 684 nothrow: 685 JsHandle handle; 686 alias handle this; 687 this(Handle h) { 688 this.handle = JsHandle(h); 689 } 690 void shadowOffsetX()(double shadowOffsetX) { 691 Object_Call_double__void(this.handle, "shadowOffsetX", shadowOffsetX); 692 } 693 double shadowOffsetX()() { 694 return Object_Getter__double(this.handle, "shadowOffsetX"); 695 } 696 void shadowOffsetY()(double shadowOffsetY) { 697 Object_Call_double__void(this.handle, "shadowOffsetY", shadowOffsetY); 698 } 699 double shadowOffsetY()() { 700 return Object_Getter__double(this.handle, "shadowOffsetY"); 701 } 702 void shadowBlur()(double shadowBlur) { 703 Object_Call_double__void(this.handle, "shadowBlur", shadowBlur); 704 } 705 double shadowBlur()() { 706 return Object_Getter__double(this.handle, "shadowBlur"); 707 } 708 void shadowColor()(string shadowColor) { 709 Object_Call_string__void(this.handle, "shadowColor", shadowColor); 710 } 711 string shadowColor()() { 712 return Object_Getter__string(this.handle, "shadowColor"); 713 } 714 } 715 struct CanvasState { 716 nothrow: 717 JsHandle handle; 718 alias handle this; 719 this(Handle h) { 720 this.handle = JsHandle(h); 721 } 722 void save()() { 723 Object_Call__void(this.handle, "save"); 724 } 725 void restore()() { 726 Object_Call__void(this.handle, "restore"); 727 } 728 } 729 struct CanvasText { 730 nothrow: 731 JsHandle handle; 732 alias handle this; 733 this(Handle h) { 734 this.handle = JsHandle(h); 735 } 736 void fillText()(string text, double x, double y, double maxWidth) { 737 Serialize_Object_VarArgCall!void(this.handle, "fillText", "string;double;double;double", tuple(text, x, y, maxWidth)); 738 } 739 void fillText()(string text, double x, double y) { 740 Serialize_Object_VarArgCall!void(this.handle, "fillText", "string;double;double", tuple(text, x, y)); 741 } 742 void strokeText()(string text, double x, double y, double maxWidth) { 743 Serialize_Object_VarArgCall!void(this.handle, "strokeText", "string;double;double;double", tuple(text, x, y, maxWidth)); 744 } 745 void strokeText()(string text, double x, double y) { 746 Serialize_Object_VarArgCall!void(this.handle, "strokeText", "string;double;double", tuple(text, x, y)); 747 } 748 auto measureText()(string text) { 749 return TextMetrics(Object_Call_string__Handle(this.handle, "measureText", text)); 750 } 751 } 752 struct CanvasTextDrawingStyles { 753 nothrow: 754 JsHandle handle; 755 alias handle this; 756 this(Handle h) { 757 this.handle = JsHandle(h); 758 } 759 void font()(string font) { 760 Object_Call_string__void(this.handle, "font", font); 761 } 762 string font()() { 763 return Object_Getter__string(this.handle, "font"); 764 } 765 void textAlign()(string textAlign) { 766 Object_Call_string__void(this.handle, "textAlign", textAlign); 767 } 768 string textAlign()() { 769 return Object_Getter__string(this.handle, "textAlign"); 770 } 771 void textBaseline()(string textBaseline) { 772 Object_Call_string__void(this.handle, "textBaseline", textBaseline); 773 } 774 string textBaseline()() { 775 return Object_Getter__string(this.handle, "textBaseline"); 776 } 777 } 778 struct CanvasTransform { 779 nothrow: 780 JsHandle handle; 781 alias handle this; 782 this(Handle h) { 783 this.handle = JsHandle(h); 784 } 785 void scale()(double x, double y) { 786 Object_Call_double_double__void(this.handle, "scale", x, y); 787 } 788 void rotate()(double angle) { 789 Object_Call_double__void(this.handle, "rotate", angle); 790 } 791 void translate()(double x, double y) { 792 Object_Call_double_double__void(this.handle, "translate", x, y); 793 } 794 void transform()(double a, double b, double c, double d, double e, double f) { 795 Serialize_Object_VarArgCall!void(this.handle, "transform", "double;double;double;double;double;double", tuple(a, b, c, d, e, f)); 796 } 797 void setTransform()(double a, double b, double c, double d, double e, double f) { 798 Serialize_Object_VarArgCall!void(this.handle, "setTransform", "double;double;double;double;double;double", tuple(a, b, c, d, e, f)); 799 } 800 void resetTransform()() { 801 Object_Call__void(this.handle, "resetTransform"); 802 } 803 } 804 struct CanvasUserInterface { 805 nothrow: 806 JsHandle handle; 807 alias handle this; 808 this(Handle h) { 809 this.handle = JsHandle(h); 810 } 811 void drawFocusIfNeeded()(scope ref Element element) { 812 Object_Call_Handle__void(this.handle, "drawFocusIfNeeded", element._parent); 813 } 814 } 815 enum CanvasWindingRule { 816 nonzero, 817 evenodd 818 } 819 struct ContextAttributes2D { 820 nothrow: 821 JsHandle handle; 822 alias handle this; 823 this(Handle h) { 824 this.handle = JsHandle(h); 825 } 826 static auto create() { 827 return ContextAttributes2D(libwasm_add__object()); 828 } 829 void willReadFrequently()(bool willReadFrequently) { 830 Object_Call_bool__void(this.handle, "willReadFrequently", willReadFrequently); 831 } 832 bool willReadFrequently()() { 833 return Object_Getter__bool(this.handle, "willReadFrequently"); 834 } 835 void alpha()(bool alpha) { 836 Object_Call_bool__void(this.handle, "alpha", alpha); 837 } 838 bool alpha()() { 839 return Object_Getter__bool(this.handle, "alpha"); 840 } 841 } 842 alias HTMLOrSVGImageElement = SumType!(HTMLImageElement, SVGImageElement); 843 struct HitRegionOptions { 844 nothrow: 845 JsHandle handle; 846 alias handle this; 847 this(Handle h) { 848 this.handle = JsHandle(h); 849 } 850 static auto create() { 851 return HitRegionOptions(libwasm_add__object()); 852 } 853 void path(T0)(scope auto ref Optional!(T0) path) if (isTOrPointer!(T0, Path2D)) { 854 Serialize_Object_VarArgCall!void(this.handle, "path", "Optional!Handle", tuple(!path.empty, cast(Handle)path.front.handle)); 855 } 856 auto path()() { 857 return recastOpt!(Path2D)(Object_Getter__OptionalHandle(this.handle, "path")); 858 } 859 void id()(string id) { 860 Object_Call_string__void(this.handle, "id", id); 861 } 862 string id()() { 863 return Object_Getter__string(this.handle, "id"); 864 } 865 void control(T0)(scope auto ref Optional!(T0) control) if (isTOrPointer!(T0, Element)) { 866 Serialize_Object_VarArgCall!void(this.handle, "control", "Optional!Handle", tuple(!control.empty, cast(Handle)control.front._parent)); 867 } 868 auto control()() { 869 return recastOpt!(Element)(Object_Getter__OptionalHandle(this.handle, "control")); 870 } 871 } 872 struct Path2D { 873 nothrow: 874 JsHandle handle; 875 alias handle this; 876 this(Handle h) { 877 this.handle = JsHandle(h); 878 } 879 void addPath()(scope ref Path2D path, scope ref SVGMatrix transformation) { 880 Serialize_Object_VarArgCall!void(this.handle, "addPath", "Handle;Handle", tuple(cast(Handle)path.handle, cast(Handle)transformation.handle)); 881 } 882 void addPath()(scope ref Path2D path) { 883 Object_Call_Handle__void(this.handle, "addPath", path.handle); 884 } 885 void closePath()() { 886 Object_Call__void(this.handle, "closePath"); 887 } 888 void moveTo()(double x, double y) { 889 Object_Call_double_double__void(this.handle, "moveTo", x, y); 890 } 891 void lineTo()(double x, double y) { 892 Object_Call_double_double__void(this.handle, "lineTo", x, y); 893 } 894 void quadraticCurveTo()(double cpx, double cpy, double x, double y) { 895 Serialize_Object_VarArgCall!void(this.handle, "quadraticCurveTo", "double;double;double;double", tuple(cpx, cpy, x, y)); 896 } 897 void bezierCurveTo()(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y) { 898 Serialize_Object_VarArgCall!void(this.handle, "bezierCurveTo", "double;double;double;double;double;double", tuple(cp1x, cp1y, cp2x, cp2y, x, y)); 899 } 900 void arcTo()(double x1, double y1, double x2, double y2, double radius) { 901 Serialize_Object_VarArgCall!void(this.handle, "arcTo", "double;double;double;double;double", tuple(x1, y1, x2, y2, radius)); 902 } 903 void rect()(double x, double y, double w, double h) { 904 Serialize_Object_VarArgCall!void(this.handle, "rect", "double;double;double;double", tuple(x, y, w, h)); 905 } 906 void arc()(double x, double y, double radius, double startAngle, double endAngle, bool anticlockwise /* = false */) { 907 Serialize_Object_VarArgCall!void(this.handle, "arc", "double;double;double;double;double;bool", tuple(x, y, radius, startAngle, endAngle, anticlockwise)); 908 } 909 void arc()(double x, double y, double radius, double startAngle, double endAngle) { 910 Serialize_Object_VarArgCall!void(this.handle, "arc", "double;double;double;double;double", tuple(x, y, radius, startAngle, endAngle)); 911 } 912 void ellipse()(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, bool anticlockwise /* = false */) { 913 Serialize_Object_VarArgCall!void(this.handle, "ellipse", "double;double;double;double;double;double;double;bool", tuple(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)); 914 } 915 void ellipse()(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle) { 916 Serialize_Object_VarArgCall!void(this.handle, "ellipse", "double;double;double;double;double;double;double", tuple(x, y, radiusX, radiusY, rotation, startAngle, endAngle)); 917 } 918 } 919 struct TextMetrics { 920 nothrow: 921 JsHandle handle; 922 alias handle this; 923 this(Handle h) { 924 this.handle = JsHandle(h); 925 } 926 double width()() { 927 return Object_Getter__double(this.handle, "width"); 928 } 929 } 930 931