diff options
author | 2022-01-28 16:55:16 +0700 | |
---|---|---|
committer | 2022-01-28 21:37:16 +0700 | |
commit | 26d95fdc4b7b6a66431d45f49edd0cc3ef19823f (patch) | |
tree | 555a79d67e516a789d6533b9a5113000fc102f74 /winit | |
parent | 825c7749ff364cf1f7ae5cab0c25f27ed85c7d82 (diff) | |
download | iced-26d95fdc4b7b6a66431d45f49edd0cc3ef19823f.tar.gz iced-26d95fdc4b7b6a66431d45f49edd0cc3ef19823f.tar.bz2 iced-26d95fdc4b7b6a66431d45f49edd0cc3ef19823f.zip |
Append `Canvas` to `<body>` when targetting Wasm in `iced_winit`
Diffstat (limited to 'winit')
-rw-r--r-- | winit/Cargo.toml | 4 | ||||
-rw-r--r-- | winit/src/application.rs | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/winit/Cargo.toml b/winit/Cargo.toml index bfcfacbc..46f0cdb1 100644 --- a/winit/Cargo.toml +++ b/winit/Cargo.toml @@ -37,3 +37,7 @@ path = "../futures" [target.'cfg(target_os = "windows")'.dependencies.winapi] version = "0.3.6" + +[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys] +version = "0.3" +features = ["Document", "Window"] diff --git a/winit/src/application.rs b/winit/src/application.rs index 53b7a6c7..7ddb9947 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -148,6 +148,21 @@ where .build(&event_loop) .map_err(Error::WindowCreationFailed)?; + #[cfg(target_arch = "wasm32")] + { + use winit::platform::web::WindowExtWebSys; + + let canvas = window.canvas(); + + let window = web_sys::window().unwrap(); + let document = window.document().unwrap(); + let body = document.body().unwrap(); + + let _ = body + .append_child(&canvas) + .expect("Append canvas to HTML body"); + } + let mut clipboard = Clipboard::connect(&window); run_command( |