Document ipc a bit

This commit is contained in:
Jonathan Kelley 2024-01-04 20:28:57 -08:00
parent b5a125b963
commit 4d95bc1374
No known key found for this signature in database
GPG key ID: 1FBB50F7EB0A08BE

View file

@ -1,20 +1,27 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use tao::window::WindowId; use tao::window::WindowId;
/// A pair of data
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub struct UserWindowEvent(pub EventData, pub WindowId); pub struct UserWindowEvent(pub EventData, pub WindowId);
/// The data that might eminate from any window/webview
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub enum EventData { pub enum EventData {
/// Poll the virtualdom
Poll, Poll,
/// Handle an ipc message eminating from the window.postMessage of a given webview
Ipc(IpcMessage), Ipc(IpcMessage),
/// Handle a hotreload event, basically telling us to update our templates
#[cfg(all(feature = "hot-reload", debug_assertions))] #[cfg(all(feature = "hot-reload", debug_assertions))]
HotReloadEvent(dioxus_hot_reload::HotReloadMsg), HotReloadEvent(dioxus_hot_reload::HotReloadMsg),
/// Create a new window
NewWindow, NewWindow,
/// Close a given window (could be any window!)
CloseWindow, CloseWindow,
} }