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