On Web, add Window::(set_)prevent_default() (#3307)

This commit is contained in:
daxpedda 2023-12-25 09:37:35 +01:00 committed by GitHub
parent 28a811bbba
commit 843d7904d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 84 additions and 60 deletions

View file

@ -36,8 +36,6 @@ impl Window {
) -> Result<Self, RootOE> {
let id = target.generate_id();
let prevent_default = platform_attr.prevent_default;
let window = target.runner.window();
let document = target.runner.document();
let canvas =
@ -45,7 +43,7 @@ impl Window {
let canvas = Rc::new(RefCell::new(canvas));
let cursor = CursorState::new(canvas.borrow().style().clone());
target.register(&canvas, id, prevent_default);
target.register(&canvas, id);
let runner = target.runner.clone();
let destroy_fn = Box::new(move || runner.notify_destroy_window(RootWI(id)));
@ -84,6 +82,16 @@ impl Window {
.map(|inner| inner.canvas.borrow().raw().clone())
}
pub(crate) fn prevent_default(&self) -> bool {
self.inner
.queue(|inner| inner.canvas.borrow().prevent_default.get())
}
pub(crate) fn set_prevent_default(&self, prevent_default: bool) {
self.inner
.dispatch(move |inner| inner.canvas.borrow().prevent_default.set(prevent_default))
}
#[cfg(feature = "rwh_06")]
#[inline]
pub fn raw_window_handle_rwh_06(&self) -> Result<rwh_06::RawWindowHandle, rwh_06::HandleError> {