1 module libwasm.bindings.SpeechSynthesis; 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.SpeechSynthesisUtterance; 9 import libwasm.bindings.SpeechSynthesisVoice; 10 11 @safe: 12 nothrow: 13 14 struct SpeechSynthesis { 15 nothrow: 16 libwasm.bindings.EventTarget.EventTarget _parent; 17 alias _parent this; 18 this(Handle h) { 19 _parent = .EventTarget(h); 20 } 21 bool pending()() { 22 return Object_Getter__bool(this._parent, "pending"); 23 } 24 bool speaking()() { 25 return Object_Getter__bool(this._parent, "speaking"); 26 } 27 bool paused()() { 28 return Object_Getter__bool(this._parent, "paused"); 29 } 30 void speak()(scope ref SpeechSynthesisUtterance utterance) { 31 Object_Call_Handle__void(this._parent, "speak", utterance._parent); 32 } 33 void cancel()() { 34 Object_Call__void(this._parent, "cancel"); 35 } 36 void pause()() { 37 Object_Call__void(this._parent, "pause"); 38 } 39 void resume()() { 40 Object_Call__void(this._parent, "resume"); 41 } 42 auto getVoices()() { 43 return Sequence!(SpeechSynthesisVoice)(Object_Getter__Handle(this._parent, "getVoices")); 44 } 45 void onvoiceschanged(T0)(scope auto ref Optional!(T0) onvoiceschanged) if (isTOrPointer!(T0, EventHandlerNonNull)) { 46 Object_Call_EventHandler__void(this._parent, "onvoiceschanged", !onvoiceschanged.empty, onvoiceschanged.front); 47 } 48 EventHandler onvoiceschanged()() { 49 return Object_Getter__EventHandler(this._parent, "onvoiceschanged"); 50 } 51 void forceEnd()() { 52 Object_Call__void(this._parent, "forceEnd"); 53 } 54 } 55 56