summaryrefslogtreecommitdiffstats
path: root/third_party/rust/raw-window-handle/src/web.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/raw-window-handle/src/web.rs')
-rw-r--r--third_party/rust/raw-window-handle/src/web.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/third_party/rust/raw-window-handle/src/web.rs b/third_party/rust/raw-window-handle/src/web.rs
new file mode 100644
index 0000000000..1e6908ffea
--- /dev/null
+++ b/third_party/rust/raw-window-handle/src/web.rs
@@ -0,0 +1,45 @@
+/// Raw display handle for the Web.
+///
+/// ## Construction
+/// ```
+/// # use raw_window_handle::WebDisplayHandle;
+/// let mut display_handle = WebDisplayHandle::empty();
+/// /* set fields */
+/// ```
+#[non_exhaustive]
+#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
+pub struct WebDisplayHandle;
+
+impl WebDisplayHandle {
+ pub fn empty() -> Self {
+ Self {}
+ }
+}
+
+/// Raw window handle for the Web.
+///
+/// ## Construction
+/// ```
+/// # use raw_window_handle::WebWindowHandle;
+/// let mut window_handle = WebWindowHandle::empty();
+/// /* set fields */
+/// ```
+#[non_exhaustive]
+#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
+pub struct WebWindowHandle {
+ /// An ID value inserted into the [data attributes] of the canvas element as '`raw-handle`'.
+ ///
+ /// When accessing from JS, the attribute will automatically be called `rawHandle`.
+ ///
+ /// Each canvas created by the windowing system should be assigned their own unique ID.
+ /// 0 should be reserved for invalid / null IDs.
+ ///
+ /// [data attributes]: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/data-*
+ pub id: u32,
+}
+
+impl WebWindowHandle {
+ pub fn empty() -> Self {
+ Self { id: 0 }
+ }
+}