1 module libwasm.bindings.DataTransfer; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.DOMStringList; 7 import libwasm.bindings.DataTransferItemList; 8 import libwasm.bindings.Directory; 9 import libwasm.bindings.Element; 10 import libwasm.bindings.File; 11 import libwasm.bindings.FileList; 12 import libwasm.bindings.Node; 13 14 @safe: 15 nothrow: 16 17 struct DataTransfer { 18 nothrow: 19 JsHandle handle; 20 alias handle this; 21 this(Handle h) { 22 this.handle = JsHandle(h); 23 } 24 void dropEffect()(string dropEffect) { 25 Object_Call_string__void(this.handle, "dropEffect", dropEffect); 26 } 27 string dropEffect()() { 28 return Object_Getter__string(this.handle, "dropEffect"); 29 } 30 void effectAllowed()(string effectAllowed) { 31 Object_Call_string__void(this.handle, "effectAllowed", effectAllowed); 32 } 33 string effectAllowed()() { 34 return Object_Getter__string(this.handle, "effectAllowed"); 35 } 36 auto items()() { 37 return DataTransferItemList(Object_Getter__Handle(this.handle, "items")); 38 } 39 void setDragImage()(scope ref Element image, int x, int y) { 40 Serialize_Object_VarArgCall!void(this.handle, "setDragImage", "Handle;int;int", tuple(cast(Handle)image._parent, x, y)); 41 } 42 auto types()() { 43 return Sequence!(string)(Object_Getter__Handle(this.handle, "types")); 44 } 45 string getData()(string format) { 46 return Object_Call_string__string(this.handle, "getData", format); 47 } 48 void setData()(string format, string data) { 49 Object_Call_string_string__void(this.handle, "setData", format, data); 50 } 51 void clearData()(string format) { 52 Object_Call_string__void(this.handle, "clearData", format); 53 } 54 void clearData()() { 55 Object_Call__void(this.handle, "clearData"); 56 } 57 auto files()() { 58 return recastOpt!(FileList)(Object_Getter__OptionalHandle(this.handle, "files")); 59 } 60 auto getFilesAndDirectories()() { 61 return JsPromise!(Sequence!(SumType!(File, Directory)))(Object_Getter__Handle(this.handle, "getFilesAndDirectories")); 62 } 63 auto getFiles()(bool recursiveFlag /* = false */) { 64 return JsPromise!(Sequence!(File))(Object_Call_bool__Handle(this.handle, "getFiles", recursiveFlag)); 65 } 66 auto getFiles()() { 67 return JsPromise!(Sequence!(File))(Object_Getter__Handle(this.handle, "getFiles")); 68 } 69 void addElement()(scope ref Element element) { 70 Object_Call_Handle__void(this.handle, "addElement", element._parent); 71 } 72 uint mozItemCount()() { 73 return Object_Getter__uint(this.handle, "mozItemCount"); 74 } 75 void mozCursor()(string mozCursor) { 76 Object_Call_string__void(this.handle, "mozCursor", mozCursor); 77 } 78 string mozCursor()() { 79 return Object_Getter__string(this.handle, "mozCursor"); 80 } 81 auto mozTypesAt()(uint index) { 82 return DOMStringList(Object_Call_uint__Handle(this.handle, "mozTypesAt", index)); 83 } 84 void mozClearDataAt()(string format, uint index) { 85 Object_Call_string_uint__void(this.handle, "mozClearDataAt", format, index); 86 } 87 void mozSetDataAt(T1)(string format, scope auto ref T1 data, uint index) { 88 // Any 89 Handle _handle_data = getOrCreateHandle(data); 90 Serialize_Object_VarArgCall!void(this.handle, "mozSetDataAt", "string;Handle;uint", tuple(format, _handle_data, index)); 91 dropHandle!(T1)(_handle_data); 92 } 93 auto mozGetDataAt()(string format, uint index) { 94 return Any(Object_Call_string_uint__Handle(this.handle, "mozGetDataAt", format, index)); 95 } 96 void updateDragImage()(scope ref Element image, int x, int y) { 97 Serialize_Object_VarArgCall!void(this.handle, "updateDragImage", "Handle;int;int", tuple(cast(Handle)image._parent, x, y)); 98 } 99 bool mozUserCancelled()() { 100 return Object_Getter__bool(this.handle, "mozUserCancelled"); 101 } 102 auto mozSourceNode()() { 103 return recastOpt!(Node)(Object_Getter__OptionalHandle(this.handle, "mozSourceNode")); 104 } 105 string mozTriggeringPrincipalURISpec()() { 106 return Object_Getter__string(this.handle, "mozTriggeringPrincipalURISpec"); 107 } 108 auto mozCloneForEvent()(string event) { 109 return DataTransfer(Object_Call_string__Handle(this.handle, "mozCloneForEvent", event)); 110 } 111 } 112 113