1 module libwasm.bindings.GeometryUtils;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.DOMPoint;
7 import libwasm.bindings.DOMQuad;
8 import libwasm.bindings.DOMRect;
9 import libwasm.bindings.Document;
10 import libwasm.bindings.Element;
11 import libwasm.bindings.Text;
12 
13 @safe:
14 nothrow:
15 
16 struct BoxQuadOptions {
17   nothrow:
18   JsHandle handle;
19   alias handle this;
20   this(Handle h) {
21     this.handle = JsHandle(h);
22   }
23   static auto create() {
24     return BoxQuadOptions(libwasm_add__object());
25   }
26   void box()(CSSBoxType box) {
27     Object_Call_int__void(this.handle, "box", box);
28   }
29   CSSBoxType box()() {
30     return Object_Getter__int(this.handle, "box");
31   }
32   void relativeTo()(scope ref GeometryNode relativeTo) {
33     Serialize_Object_VarArgCall!void(this.handle, "relativeTo", "SumType!(Handle,Handle,Handle)", tuple(libwasm.sumtype.match!(((ref relativeTo.Types[0] v) => 0),((ref relativeTo.Types[1] v) => 1),((ref relativeTo.Types[2] v) => 2))(relativeTo),tuple(libwasm.sumtype.match!(((ref relativeTo.Types[0] v) => cast(Handle)v.handle),((ref relativeTo.Types[1] v) => Handle.init),((ref relativeTo.Types[2] v) => Handle.init))(relativeTo),libwasm.sumtype.match!(((ref relativeTo.Types[0] v) => Handle.init),((ref relativeTo.Types[1] v) => cast(Handle)v.handle),((ref relativeTo.Types[2] v) => Handle.init))(relativeTo),libwasm.sumtype.match!(((ref relativeTo.Types[0] v) => Handle.init),((ref relativeTo.Types[1] v) => Handle.init),((ref relativeTo.Types[2] v) => cast(Handle)v.handle))(relativeTo))));
34   }
35   auto relativeTo()() {
36     return Object_Getter__Handle(this.handle, "relativeTo");
37   }
38 }
39 enum CSSBoxType {
40   margin,
41   border,
42   padding,
43   content
44 }
45 struct ConvertCoordinateOptions {
46   nothrow:
47   JsHandle handle;
48   alias handle this;
49   this(Handle h) {
50     this.handle = JsHandle(h);
51   }
52   static auto create() {
53     return ConvertCoordinateOptions(libwasm_add__object());
54   }
55   void fromBox()(CSSBoxType fromBox) {
56     Object_Call_int__void(this.handle, "fromBox", fromBox);
57   }
58   CSSBoxType fromBox()() {
59     return Object_Getter__int(this.handle, "fromBox");
60   }
61   void toBox()(CSSBoxType toBox) {
62     Object_Call_int__void(this.handle, "toBox", toBox);
63   }
64   CSSBoxType toBox()() {
65     return Object_Getter__int(this.handle, "toBox");
66   }
67 }
68 alias GeometryNode = SumType!(Text, Element, Document);
69 struct GeometryUtils {
70   nothrow:
71   JsHandle handle;
72   alias handle this;
73   this(Handle h) {
74     this.handle = JsHandle(h);
75   }
76   auto getBoxQuads()(scope ref BoxQuadOptions options) {
77     return Sequence!(DOMQuad)(Object_Call_Handle__Handle(this.handle, "getBoxQuads", options.handle));
78   }
79   auto getBoxQuads()() {
80     return Sequence!(DOMQuad)(Object_Getter__Handle(this.handle, "getBoxQuads"));
81   }
82   auto convertQuadFromNode()(scope ref DOMQuad quad, scope ref GeometryNode from, scope ref ConvertCoordinateOptions options) {
83     return DOMQuad(Serialize_Object_VarArgCall!Handle(this.handle, "convertQuadFromNode", "Handle;SumType!(Handle,Handle,Handle);Handle", tuple(cast(Handle)quad.handle, libwasm.sumtype.match!(((ref from.Types[0] v) => 0),((ref from.Types[1] v) => 1),((ref from.Types[2] v) => 2))(from),tuple(libwasm.sumtype.match!(((ref from.Types[0] v) => cast(Handle)v.handle),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => cast(Handle)v.handle),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => cast(Handle)v.handle))(from)), cast(Handle)options.handle)));
84   }
85   auto convertQuadFromNode()(scope ref DOMQuad quad, scope ref GeometryNode from) {
86     return DOMQuad(Serialize_Object_VarArgCall!Handle(this.handle, "convertQuadFromNode", "Handle;SumType!(Handle,Handle,Handle)", tuple(cast(Handle)quad.handle, libwasm.sumtype.match!(((ref from.Types[0] v) => 0),((ref from.Types[1] v) => 1),((ref from.Types[2] v) => 2))(from),tuple(libwasm.sumtype.match!(((ref from.Types[0] v) => cast(Handle)v.handle),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => cast(Handle)v.handle),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => cast(Handle)v.handle))(from)))));
87   }
88   auto convertRectFromNode()(scope ref DOMRectReadOnly rect, scope ref GeometryNode from, scope ref ConvertCoordinateOptions options) {
89     return DOMQuad(Serialize_Object_VarArgCall!Handle(this.handle, "convertRectFromNode", "Handle;SumType!(Handle,Handle,Handle);Handle", tuple(cast(Handle)rect.handle, libwasm.sumtype.match!(((ref from.Types[0] v) => 0),((ref from.Types[1] v) => 1),((ref from.Types[2] v) => 2))(from),tuple(libwasm.sumtype.match!(((ref from.Types[0] v) => cast(Handle)v.handle),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => cast(Handle)v.handle),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => cast(Handle)v.handle))(from)), cast(Handle)options.handle)));
90   }
91   auto convertRectFromNode()(scope ref DOMRectReadOnly rect, scope ref GeometryNode from) {
92     return DOMQuad(Serialize_Object_VarArgCall!Handle(this.handle, "convertRectFromNode", "Handle;SumType!(Handle,Handle,Handle)", tuple(cast(Handle)rect.handle, libwasm.sumtype.match!(((ref from.Types[0] v) => 0),((ref from.Types[1] v) => 1),((ref from.Types[2] v) => 2))(from),tuple(libwasm.sumtype.match!(((ref from.Types[0] v) => cast(Handle)v.handle),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => cast(Handle)v.handle),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => cast(Handle)v.handle))(from)))));
93   }
94   auto convertPointFromNode()(scope ref DOMPointInit point, scope ref GeometryNode from, scope ref ConvertCoordinateOptions options) {
95     return DOMPoint(Serialize_Object_VarArgCall!Handle(this.handle, "convertPointFromNode", "Handle;SumType!(Handle,Handle,Handle);Handle", tuple(cast(Handle)point.handle, libwasm.sumtype.match!(((ref from.Types[0] v) => 0),((ref from.Types[1] v) => 1),((ref from.Types[2] v) => 2))(from),tuple(libwasm.sumtype.match!(((ref from.Types[0] v) => cast(Handle)v.handle),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => cast(Handle)v.handle),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => cast(Handle)v.handle))(from)), cast(Handle)options.handle)));
96   }
97   auto convertPointFromNode()(scope ref DOMPointInit point, scope ref GeometryNode from) {
98     return DOMPoint(Serialize_Object_VarArgCall!Handle(this.handle, "convertPointFromNode", "Handle;SumType!(Handle,Handle,Handle)", tuple(cast(Handle)point.handle, libwasm.sumtype.match!(((ref from.Types[0] v) => 0),((ref from.Types[1] v) => 1),((ref from.Types[2] v) => 2))(from),tuple(libwasm.sumtype.match!(((ref from.Types[0] v) => cast(Handle)v.handle),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => cast(Handle)v.handle),((ref from.Types[2] v) => Handle.init))(from),libwasm.sumtype.match!(((ref from.Types[0] v) => Handle.init),((ref from.Types[1] v) => Handle.init),((ref from.Types[2] v) => cast(Handle)v.handle))(from)))));
99   }
100 }
101 
102