1 module libwasm.bindings.Screen;
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.ScreenOrientation;
9 
10 @safe:
11 nothrow:
12 
13 struct Screen {
14   nothrow:
15   libwasm.bindings.EventTarget.EventTarget _parent;
16   alias _parent this;
17   this(Handle h) {
18     _parent = .EventTarget(h);
19   }
20   int availWidth()() {
21     return Object_Getter__int(this._parent, "availWidth");
22   }
23   int availHeight()() {
24     return Object_Getter__int(this._parent, "availHeight");
25   }
26   int width()() {
27     return Object_Getter__int(this._parent, "width");
28   }
29   int height()() {
30     return Object_Getter__int(this._parent, "height");
31   }
32   int colorDepth()() {
33     return Object_Getter__int(this._parent, "colorDepth");
34   }
35   int pixelDepth()() {
36     return Object_Getter__int(this._parent, "pixelDepth");
37   }
38   int top()() {
39     return Object_Getter__int(this._parent, "top");
40   }
41   int left()() {
42     return Object_Getter__int(this._parent, "left");
43   }
44   int availTop()() {
45     return Object_Getter__int(this._parent, "availTop");
46   }
47   int availLeft()() {
48     return Object_Getter__int(this._parent, "availLeft");
49   }
50   string mozOrientation()() {
51     return Object_Getter__string(this._parent, "mozOrientation");
52   }
53   void onmozorientationchange(T0)(scope auto ref Optional!(T0) onmozorientationchange) if (isTOrPointer!(T0, EventHandlerNonNull)) {
54     Object_Call_EventHandler__void(this._parent, "onmozorientationchange", !onmozorientationchange.empty, onmozorientationchange.front);
55   }
56   EventHandler onmozorientationchange()() {
57     return Object_Getter__EventHandler(this._parent, "onmozorientationchange");
58   }
59   bool mozLockOrientation()(string orientation) {
60     return Object_Call_string__bool(this._parent, "mozLockOrientation", orientation);
61   }
62   bool mozLockOrientation()(scope ref Sequence!(string) orientation) {
63     return Serialize_Object_VarArgCall!bool(this._parent, "mozLockOrientation", "Handle", tuple(cast(Handle)orientation.handle));
64   }
65   void mozUnlockOrientation()() {
66     Object_Call__void(this._parent, "mozUnlockOrientation");
67   }
68   auto orientation()() {
69     return ScreenOrientation(Object_Getter__Handle(this._parent, "orientation"));
70   }
71   ScreenColorGamut colorGamut()() {
72     return Object_Getter__int(this._parent, "colorGamut");
73   }
74   auto luminance()() {
75     return recastOpt!(ScreenLuminance)(Object_Getter__OptionalHandle(this._parent, "luminance"));
76   }
77   void onchange(T0)(scope auto ref Optional!(T0) onchange) if (isTOrPointer!(T0, EventHandlerNonNull)) {
78     Object_Call_EventHandler__void(this._parent, "onchange", !onchange.empty, onchange.front);
79   }
80   EventHandler onchange()() {
81     return Object_Getter__EventHandler(this._parent, "onchange");
82   }
83 }
84 enum ScreenColorGamut {
85   srgb,
86   p3,
87   rec2020
88 }
89 struct ScreenLuminance {
90   nothrow:
91   JsHandle handle;
92   alias handle this;
93   this(Handle h) {
94     this.handle = JsHandle(h);
95   }
96   double min()() {
97     return Object_Getter__double(this.handle, "min");
98   }
99   double max()() {
100     return Object_Getter__double(this.handle, "max");
101   }
102   double maxAverage()() {
103     return Object_Getter__double(this.handle, "maxAverage");
104   }
105 }
106 
107