From b7f893e2e2a40a17775728599d2a41f4090b49cf Mon Sep 17 00:00:00 2001 From: Pauan Date: Tue, 20 Oct 2020 12:10:07 +0200 Subject: [PATCH] Adding in drag events --- Cargo.toml | 2 ++ src/events.rs | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 47b94d5..33d3b4f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,8 +36,10 @@ features = [ "CssStyleDeclaration", "CssStyleRule", "CssStyleSheet", + "DataTransfer", "Document", "DomTokenList", + "DragEvent", "Element", "Event", "EventTarget", diff --git a/src/events.rs b/src/events.rs index 5d020b8..0b41baa 100644 --- a/src/events.rs +++ b/src/events.rs @@ -95,6 +95,16 @@ macro_rules! make_focus_event { }; } +macro_rules! make_drag_event { + ($name:ident, $type:literal) => { + make_event!($name, $type => web_sys::DragEvent); + + impl $name { + #[inline] pub fn data_transfer(&self) -> Option { self.event.data_transfer() } + } + }; +} + make_mouse_event!(Click, "click"); make_mouse_event!(MouseDown, "mousedown"); @@ -111,6 +121,14 @@ make_keyboard_event!(KeyUp, "keyup"); make_focus_event!(Focus, "focus"); make_focus_event!(Blur, "blur"); +make_drag_event!(DragStart, "dragstart"); +make_drag_event!(Drag, "drag"); +make_drag_event!(DragEnd, "dragend"); +make_drag_event!(DragOver, "dragover"); +make_drag_event!(DragEnter, "dragenter"); +make_drag_event!(DragLeave, "dragleave"); +make_drag_event!(Drop, "drop"); + make_event!(Scroll, "scroll" => web_sys::Event); make_event!(Resize, "resize" => web_sys::UiEvent);