1 module libwasm.bindings.ScreenOrientation; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.EventHandler; 7 import libwasm.bindings.EventTarget; 8 9 @safe: 10 nothrow: 11 12 enum OrientationLockType { 13 any, 14 natural, 15 landscape, 16 portrait, 17 portrait_primary, 18 portrait_secondary, 19 landscape_primary, 20 landscape_secondary 21 } 22 enum OrientationType { 23 portrait_primary, 24 portrait_secondary, 25 landscape_primary, 26 landscape_secondary 27 } 28 struct ScreenOrientation { 29 nothrow: 30 libwasm.bindings.EventTarget.EventTarget _parent; 31 alias _parent this; 32 this(Handle h) { 33 _parent = .EventTarget(h); 34 } 35 auto lock()(OrientationLockType orientation) { 36 return JsPromise!(void)(Object_Call_int__Handle(this._parent, "lock", orientation)); 37 } 38 void unlock()() { 39 Object_Call__void(this._parent, "unlock"); 40 } 41 OrientationType type()() { 42 return Object_Getter__int(this._parent, "type"); 43 } 44 ushort angle()() { 45 return Object_Getter__ushort(this._parent, "angle"); 46 } 47 void onchange(T0)(scope auto ref Optional!(T0) onchange) if (isTOrPointer!(T0, EventHandlerNonNull)) { 48 Object_Call_EventHandler__void(this._parent, "onchange", !onchange.empty, onchange.front); 49 } 50 EventHandler onchange()() { 51 return Object_Getter__EventHandler(this._parent, "onchange"); 52 } 53 } 54 55