1 module libwasm.bindings.FontFaceSet;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.EventHandler;
7 import libwasm.bindings.EventTarget;
8 import libwasm.bindings.FontFace;
9 
10 @safe:
11 nothrow:
12 
13 struct FontFaceSet {
14   nothrow:
15   libwasm.bindings.EventTarget.EventTarget _parent;
16   alias _parent this;
17   this(Handle h) {
18     _parent = .EventTarget(h);
19   }
20   uint size()() {
21     return Object_Getter__uint(this._parent, "size");
22   }
23   void add()(scope ref FontFace font) {
24     Object_Call_Handle__void(this._parent, "add", font.handle);
25   }
26   bool has()(scope ref FontFace font) {
27     return Serialize_Object_VarArgCall!bool(this._parent, "has", "Handle", tuple(cast(Handle)font.handle));
28   }
29   bool delete_()(scope ref FontFace font) {
30     return Serialize_Object_VarArgCall!bool(this._parent, "delete", "Handle", tuple(cast(Handle)font.handle));
31   }
32   void clear()() {
33     Object_Call__void(this._parent, "clear");
34   }
35   auto entries()() {
36     return FontFaceSetIterator(Object_Getter__Handle(this._parent, "entries"));
37   }
38   auto values()() {
39     return FontFaceSetIterator(Object_Getter__Handle(this._parent, "values"));
40   }
41   void forEach(T1)(FontFaceSetForEachCallback cb, scope auto ref T1 thisArg) {
42     // Any
43     Handle _handle_thisArg = getOrCreateHandle(thisArg);
44     FontFaceSet_forEach(this._parent, cb, _handle_thisArg);
45     dropHandle!(T1)(_handle_thisArg);
46   }
47   void forEach()(FontFaceSetForEachCallback cb) {
48     FontFaceSet_forEach_0(this._parent, cb);
49   }
50   void onloading(T0)(scope auto ref Optional!(T0) onloading) if (isTOrPointer!(T0, EventHandlerNonNull)) {
51     Object_Call_EventHandler__void(this._parent, "onloading", !onloading.empty, onloading.front);
52   }
53   EventHandler onloading()() {
54     return Object_Getter__EventHandler(this._parent, "onloading");
55   }
56   void onloadingdone(T0)(scope auto ref Optional!(T0) onloadingdone) if (isTOrPointer!(T0, EventHandlerNonNull)) {
57     Object_Call_EventHandler__void(this._parent, "onloadingdone", !onloadingdone.empty, onloadingdone.front);
58   }
59   EventHandler onloadingdone()() {
60     return Object_Getter__EventHandler(this._parent, "onloadingdone");
61   }
62   void onloadingerror(T0)(scope auto ref Optional!(T0) onloadingerror) if (isTOrPointer!(T0, EventHandlerNonNull)) {
63     Object_Call_EventHandler__void(this._parent, "onloadingerror", !onloadingerror.empty, onloadingerror.front);
64   }
65   EventHandler onloadingerror()() {
66     return Object_Getter__EventHandler(this._parent, "onloadingerror");
67   }
68   auto load()(string font, string text /* = " " */) {
69     return JsPromise!(Sequence!(FontFace))(Object_Call_string_string__Handle(this._parent, "load", font, text));
70   }
71   auto load()(string font) {
72     return JsPromise!(Sequence!(FontFace))(Object_Call_string__Handle(this._parent, "load", font));
73   }
74   bool check()(string font, string text /* = " " */) {
75     return Serialize_Object_VarArgCall!bool(this._parent, "check", "string;string", tuple(font, text));
76   }
77   bool check()(string font) {
78     return Object_Call_string__bool(this._parent, "check", font);
79   }
80   auto ready()() {
81     return JsPromise!(void)(Object_Getter__Handle(this._parent, "ready"));
82   }
83   FontFaceSetLoadStatus status()() {
84     return Object_Getter__int(this._parent, "status");
85   }
86 }
87 alias FontFaceSetForEachCallback = void delegate(FontFace, FontFace, FontFaceSet);
88 struct FontFaceSetIterator {
89   nothrow:
90   JsHandle handle;
91   alias handle this;
92   this(Handle h) {
93     this.handle = JsHandle(h);
94   }
95   auto next()() {
96     return FontFaceSetIteratorResult(Object_Getter__Handle(this.handle, "next"));
97   }
98 }
99 struct FontFaceSetIteratorResult {
100   nothrow:
101   JsHandle handle;
102   alias handle this;
103   this(Handle h) {
104     this.handle = JsHandle(h);
105   }
106   static auto create() {
107     return FontFaceSetIteratorResult(libwasm_add__object());
108   }
109   void value()(scope ref Any value) {
110     Object_Call_Handle__void(this.handle, "value", value.handle);
111   }
112   auto value()() {
113     return Any(Object_Getter__Handle(this.handle, "value"));
114   }
115   void done()(bool done) {
116     Object_Call_bool__void(this.handle, "done", done);
117   }
118   bool done()() {
119     return Object_Getter__bool(this.handle, "done");
120   }
121 }
122 enum FontFaceSetLoadStatus {
123   loading,
124   loaded
125 }
126 
127 
128 extern (C) void FontFaceSet_forEach(Handle, FontFaceSetForEachCallback, Handle);
129 extern (C) void FontFaceSet_forEach_0(Handle, FontFaceSetForEachCallback);