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