1 module libwasm.bindings.HTMLMediaElement; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.AudioTrackList; 7 import libwasm.bindings.EventHandler; 8 import libwasm.bindings.HTMLElement; 9 import libwasm.bindings.MediaError; 10 import libwasm.bindings.MediaKeys; 11 import libwasm.bindings.MediaSource; 12 import libwasm.bindings.MediaStream; 13 import libwasm.bindings.TextTrack; 14 import libwasm.bindings.TextTrackList; 15 import libwasm.bindings.TimeRanges; 16 import libwasm.bindings.VideoTrackList; 17 18 @safe: 19 nothrow: 20 21 struct HTMLMediaElement { 22 nothrow: 23 libwasm.bindings.HTMLElement.HTMLElement _parent; 24 alias _parent this; 25 this(Handle h) { 26 _parent = .HTMLElement(h); 27 } 28 auto error()() { 29 return recastOpt!(MediaError)(Object_Getter__OptionalHandle(this._parent, "error")); 30 } 31 void src()(string src) { 32 Object_Call_string__void(this._parent, "src", src); 33 } 34 string src()() { 35 return Object_Getter__string(this._parent, "src"); 36 } 37 string currentSrc()() { 38 return Object_Getter__string(this._parent, "currentSrc"); 39 } 40 void crossOrigin(T0)(scope auto ref Optional!(T0) crossOrigin) if (isTOrPointer!(T0, string)) { 41 Serialize_Object_VarArgCall!void(this._parent, "crossOrigin", "Optional!(string)", tuple(!crossOrigin.empty, crossOrigin.front)); 42 } 43 Optional!(string) crossOrigin()() { 44 return Object_Getter__OptionalString(this._parent, "crossOrigin"); 45 } 46 enum ushort NETWORK_EMPTY = 0; 47 enum ushort NETWORK_IDLE = 1; 48 enum ushort NETWORK_LOADING = 2; 49 enum ushort NETWORK_NO_SOURCE = 3; 50 ushort networkState()() { 51 return Object_Getter__ushort(this._parent, "networkState"); 52 } 53 void preload()(string preload) { 54 Object_Call_string__void(this._parent, "preload", preload); 55 } 56 string preload()() { 57 return Object_Getter__string(this._parent, "preload"); 58 } 59 auto buffered()() { 60 return TimeRanges(Object_Getter__Handle(this._parent, "buffered")); 61 } 62 void load()() { 63 Object_Call__void(this._parent, "load"); 64 } 65 string canPlayType()(string type) { 66 return Object_Call_string__string(this._parent, "canPlayType", type); 67 } 68 enum ushort HAVE_NOTHING = 0; 69 enum ushort HAVE_METADATA = 1; 70 enum ushort HAVE_CURRENT_DATA = 2; 71 enum ushort HAVE_FUTURE_DATA = 3; 72 enum ushort HAVE_ENOUGH_DATA = 4; 73 ushort readyState()() { 74 return Object_Getter__ushort(this._parent, "readyState"); 75 } 76 bool seeking()() { 77 return Object_Getter__bool(this._parent, "seeking"); 78 } 79 void currentTime()(double currentTime) { 80 Object_Call_double__void(this._parent, "currentTime", currentTime); 81 } 82 double currentTime()() { 83 return Object_Getter__double(this._parent, "currentTime"); 84 } 85 void fastSeek()(double time) { 86 Object_Call_double__void(this._parent, "fastSeek", time); 87 } 88 double duration()() { 89 return Object_Getter__double(this._parent, "duration"); 90 } 91 bool isEncrypted()() { 92 return Object_Getter__bool(this._parent, "isEncrypted"); 93 } 94 bool paused()() { 95 return Object_Getter__bool(this._parent, "paused"); 96 } 97 void defaultPlaybackRate()(double defaultPlaybackRate) { 98 Object_Call_double__void(this._parent, "defaultPlaybackRate", defaultPlaybackRate); 99 } 100 double defaultPlaybackRate()() { 101 return Object_Getter__double(this._parent, "defaultPlaybackRate"); 102 } 103 void playbackRate()(double playbackRate) { 104 Object_Call_double__void(this._parent, "playbackRate", playbackRate); 105 } 106 double playbackRate()() { 107 return Object_Getter__double(this._parent, "playbackRate"); 108 } 109 auto played()() { 110 return TimeRanges(Object_Getter__Handle(this._parent, "played")); 111 } 112 auto seekable()() { 113 return TimeRanges(Object_Getter__Handle(this._parent, "seekable")); 114 } 115 bool ended()() { 116 return Object_Getter__bool(this._parent, "ended"); 117 } 118 void autoplay()(bool autoplay) { 119 Object_Call_bool__void(this._parent, "autoplay", autoplay); 120 } 121 bool autoplay()() { 122 return Object_Getter__bool(this._parent, "autoplay"); 123 } 124 void loop()(bool loop) { 125 Object_Call_bool__void(this._parent, "loop", loop); 126 } 127 bool loop()() { 128 return Object_Getter__bool(this._parent, "loop"); 129 } 130 auto play()() { 131 return JsPromise!(void)(Object_Getter__Handle(this._parent, "play")); 132 } 133 void pause()() { 134 Object_Call__void(this._parent, "pause"); 135 } 136 void controls()(bool controls) { 137 Object_Call_bool__void(this._parent, "controls", controls); 138 } 139 bool controls()() { 140 return Object_Getter__bool(this._parent, "controls"); 141 } 142 void volume()(double volume) { 143 Object_Call_double__void(this._parent, "volume", volume); 144 } 145 double volume()() { 146 return Object_Getter__double(this._parent, "volume"); 147 } 148 void muted()(bool muted) { 149 Object_Call_bool__void(this._parent, "muted", muted); 150 } 151 bool muted()() { 152 return Object_Getter__bool(this._parent, "muted"); 153 } 154 void defaultMuted()(bool defaultMuted) { 155 Object_Call_bool__void(this._parent, "defaultMuted", defaultMuted); 156 } 157 bool defaultMuted()() { 158 return Object_Getter__bool(this._parent, "defaultMuted"); 159 } 160 auto audioTracks()() { 161 return AudioTrackList(Object_Getter__Handle(this._parent, "audioTracks")); 162 } 163 auto videoTracks()() { 164 return VideoTrackList(Object_Getter__Handle(this._parent, "videoTracks")); 165 } 166 auto textTracks()() { 167 return recastOpt!(TextTrackList)(Object_Getter__OptionalHandle(this._parent, "textTracks")); 168 } 169 auto addTextTrack()(TextTrackKind kind, string label /* = "" */, string language /* = "" */) { 170 return TextTrack(Serialize_Object_VarArgCall!Handle(this._parent, "addTextTrack", "Enum;string;string", tuple(kind, label, language))); 171 } 172 auto addTextTrack()(TextTrackKind kind, string label /* = "" */) { 173 return TextTrack(Serialize_Object_VarArgCall!Handle(this._parent, "addTextTrack", "Enum;string", tuple(kind, label))); 174 } 175 auto addTextTrack()(TextTrackKind kind) { 176 return TextTrack(Object_Call_int__Handle(this._parent, "addTextTrack", kind)); 177 } 178 auto mozMediaSourceObject()() { 179 return recastOpt!(MediaSource)(Object_Getter__OptionalHandle(this._parent, "mozMediaSourceObject")); 180 } 181 string mozDebugReaderData()() { 182 return Object_Getter__string(this._parent, "mozDebugReaderData"); 183 } 184 auto mozRequestDebugInfo()() { 185 return JsPromise!(string)(Object_Getter__Handle(this._parent, "mozRequestDebugInfo")); 186 } 187 void mozEnableDebugLog()() { 188 Object_Call__void(this._parent, "mozEnableDebugLog"); 189 } 190 auto mozRequestDebugLog()() { 191 return JsPromise!(string)(Object_Getter__Handle(this._parent, "mozRequestDebugLog")); 192 } 193 auto mozDumpDebugInfo()() { 194 return JsPromise!(void)(Object_Getter__Handle(this._parent, "mozDumpDebugInfo")); 195 } 196 void srcObject(T0)(scope auto ref Optional!(T0) srcObject) if (isTOrPointer!(T0, MediaStream)) { 197 Serialize_Object_VarArgCall!void(this._parent, "srcObject", "Optional!Handle", tuple(!srcObject.empty, cast(Handle)srcObject.front.handle)); 198 } 199 auto srcObject()() { 200 return recastOpt!(MediaStream)(Object_Getter__OptionalHandle(this._parent, "srcObject")); 201 } 202 void mozPreservesPitch()(bool mozPreservesPitch) { 203 Object_Call_bool__void(this._parent, "mozPreservesPitch", mozPreservesPitch); 204 } 205 bool mozPreservesPitch()() { 206 return Object_Getter__bool(this._parent, "mozPreservesPitch"); 207 } 208 void mozAllowCasting()(bool mozAllowCasting) { 209 Object_Call_bool__void(this._parent, "mozAllowCasting", mozAllowCasting); 210 } 211 bool mozAllowCasting()() { 212 return Object_Getter__bool(this._parent, "mozAllowCasting"); 213 } 214 void mozIsCasting()(bool mozIsCasting) { 215 Object_Call_bool__void(this._parent, "mozIsCasting", mozIsCasting); 216 } 217 bool mozIsCasting()() { 218 return Object_Getter__bool(this._parent, "mozIsCasting"); 219 } 220 auto mozCaptureStream()() { 221 return MediaStream(Object_Getter__Handle(this._parent, "mozCaptureStream")); 222 } 223 auto mozCaptureStreamUntilEnded()() { 224 return MediaStream(Object_Getter__Handle(this._parent, "mozCaptureStreamUntilEnded")); 225 } 226 bool mozAudioCaptured()() { 227 return Object_Getter__bool(this._parent, "mozAudioCaptured"); 228 } 229 auto mozGetMetadata()() { 230 return recastOpt!(JsObject)(Object_Getter__OptionalHandle(this._parent, "mozGetMetadata")); 231 } 232 double mozFragmentEnd()() { 233 return Object_Getter__double(this._parent, "mozFragmentEnd"); 234 } 235 void reportCanPlayTelemetry()() { 236 Object_Call__void(this._parent, "reportCanPlayTelemetry"); 237 } 238 auto mediaKeys()() { 239 return recastOpt!(MediaKeys)(Object_Getter__OptionalHandle(this._parent, "mediaKeys")); 240 } 241 auto setMediaKeys(T0)(scope auto ref Optional!(T0) mediaKeys) if (isTOrPointer!(T0, MediaKeys)) { 242 return JsPromise!(void)(Serialize_Object_VarArgCall!Handle(this._parent, "setMediaKeys", "Optional!Handle", tuple(!mediaKeys.empty, cast(Handle)mediaKeys.front.handle))); 243 } 244 void onencrypted(T0)(scope auto ref Optional!(T0) onencrypted) if (isTOrPointer!(T0, EventHandlerNonNull)) { 245 Object_Call_EventHandler__void(this._parent, "onencrypted", !onencrypted.empty, onencrypted.front); 246 } 247 EventHandler onencrypted()() { 248 return Object_Getter__EventHandler(this._parent, "onencrypted"); 249 } 250 void onwaitingforkey(T0)(scope auto ref Optional!(T0) onwaitingforkey) if (isTOrPointer!(T0, EventHandlerNonNull)) { 251 Object_Call_EventHandler__void(this._parent, "onwaitingforkey", !onwaitingforkey.empty, onwaitingforkey.front); 252 } 253 EventHandler onwaitingforkey()() { 254 return Object_Getter__EventHandler(this._parent, "onwaitingforkey"); 255 } 256 double computedVolume()() { 257 return Object_Getter__double(this._parent, "computedVolume"); 258 } 259 bool computedMuted()() { 260 return Object_Getter__bool(this._parent, "computedMuted"); 261 } 262 uint computedSuspended()() { 263 return Object_Getter__uint(this._parent, "computedSuspended"); 264 } 265 auto seekToNextFrame()() { 266 return JsPromise!(void)(Object_Getter__Handle(this._parent, "seekToNextFrame")); 267 } 268 void setVisible()(bool aVisible) { 269 Object_Call_bool__void(this._parent, "setVisible", aVisible); 270 } 271 bool hasSuspendTaint()() { 272 return Object_Getter__bool(this._parent, "hasSuspendTaint"); 273 } 274 bool isVisible()() { 275 return Object_Getter__bool(this._parent, "isVisible"); 276 } 277 bool isVideoDecodingSuspended()() { 278 return Object_Getter__bool(this._parent, "isVideoDecodingSuspended"); 279 } 280 string sinkId()() { 281 return Object_Getter__string(this._parent, "sinkId"); 282 } 283 auto setSinkId()(string sinkId) { 284 return JsPromise!(void)(Object_Call_string__Handle(this._parent, "setSinkId", sinkId)); 285 } 286 bool allowedToPlay()() { 287 return Object_Getter__bool(this._parent, "allowedToPlay"); 288 } 289 } 290 291