summaryrefslogtreecommitdiffstats
path: root/winit
diff options
context:
space:
mode:
Diffstat (limited to 'winit')
-rw-r--r--winit/Cargo.toml4
-rw-r--r--winit/src/application.rs15
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(