1 module libwasm.bindings.TextTrack;
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.TextTrackCueList;
9 import libwasm.bindings.TextTrackList;
10 import libwasm.bindings.VTTCue;
11 
12 @safe:
13 nothrow:
14 
15 struct TextTrack {
16   nothrow:
17   libwasm.bindings.EventTarget.EventTarget _parent;
18   alias _parent this;
19   this(Handle h) {
20     _parent = .EventTarget(h);
21   }
22   TextTrackKind kind()() {
23     return Object_Getter__int(this._parent, "kind");
24   }
25   string label()() {
26     return Object_Getter__string(this._parent, "label");
27   }
28   string language()() {
29     return Object_Getter__string(this._parent, "language");
30   }
31   string id()() {
32     return Object_Getter__string(this._parent, "id");
33   }
34   string inBandMetadataTrackDispatchType()() {
35     return Object_Getter__string(this._parent, "inBandMetadataTrackDispatchType");
36   }
37   void mode()(TextTrackMode mode) {
38     Object_Call_int__void(this._parent, "mode", mode);
39   }
40   TextTrackMode mode()() {
41     return Object_Getter__int(this._parent, "mode");
42   }
43   auto cues()() {
44     return recastOpt!(TextTrackCueList)(Object_Getter__OptionalHandle(this._parent, "cues"));
45   }
46   auto activeCues()() {
47     return recastOpt!(TextTrackCueList)(Object_Getter__OptionalHandle(this._parent, "activeCues"));
48   }
49   void addCue()(scope ref VTTCue cue) {
50     Object_Call_Handle__void(this._parent, "addCue", cue._parent);
51   }
52   void removeCue()(scope ref VTTCue cue) {
53     Object_Call_Handle__void(this._parent, "removeCue", cue._parent);
54   }
55   void oncuechange(T0)(scope auto ref Optional!(T0) oncuechange) if (isTOrPointer!(T0, EventHandlerNonNull)) {
56     Object_Call_EventHandler__void(this._parent, "oncuechange", !oncuechange.empty, oncuechange.front);
57   }
58   EventHandler oncuechange()() {
59     return Object_Getter__EventHandler(this._parent, "oncuechange");
60   }
61   auto textTrackList()() {
62     return recastOpt!(TextTrackList)(Object_Getter__OptionalHandle(this._parent, "textTrackList"));
63   }
64 }
65 enum TextTrackKind {
66   subtitles,
67   captions,
68   descriptions,
69   chapters,
70   metadata
71 }
72 enum TextTrackMode {
73   disabled,
74   hidden,
75   showing
76 }
77 
78