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