2019-08-14 11:20:05 +03:00
|
|
|
#![cfg(target_arch = "wasm32")]
|
|
|
|
|
|
2019-09-24 19:33:32 -04:00
|
|
|
//! The web target does not automatically insert the canvas element object into the web page, to
|
2021-05-24 19:06:21 +02:00
|
|
|
//! allow end users to determine how the page should be laid out. Use the `WindowExtWebSys` trait
|
|
|
|
|
//! to retrieve the canvas from the Window. Alternatively, use the `WindowBuilderExtWebSys` trait
|
|
|
|
|
//! to provide your own canvas.
|
2020-01-15 21:20:14 -05:00
|
|
|
|
|
|
|
|
use crate::window::WindowBuilder;
|
2019-09-24 19:33:32 -04:00
|
|
|
|
2019-06-25 03:15:34 +02:00
|
|
|
use web_sys::HtmlCanvasElement;
|
|
|
|
|
|
|
|
|
|
pub trait WindowExtWebSys {
|
|
|
|
|
fn canvas(&self) -> HtmlCanvasElement;
|
2020-02-17 20:25:27 +01:00
|
|
|
|
|
|
|
|
/// Whether the browser reports the preferred color scheme to be "dark".
|
|
|
|
|
fn is_dark_mode(&self) -> bool;
|
2019-06-25 03:15:34 +02:00
|
|
|
}
|
2020-01-15 21:20:14 -05:00
|
|
|
|
|
|
|
|
pub trait WindowBuilderExtWebSys {
|
|
|
|
|
fn with_canvas(self, canvas: Option<HtmlCanvasElement>) -> Self;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl WindowBuilderExtWebSys for WindowBuilder {
|
|
|
|
|
fn with_canvas(mut self, canvas: Option<HtmlCanvasElement>) -> Self {
|
|
|
|
|
self.platform_specific.canvas = canvas;
|
|
|
|
|
|
|
|
|
|
self
|
|
|
|
|
}
|
|
|
|
|
}
|