use std::path::PathBuf; use graphite_editor::messages::prelude::{DocumentId, FrontendMessage}; pub(crate) use graphite_editor::messages::prelude::Message as EditorMessage; pub enum DesktopFrontendMessage { ToWeb(Vec), OpenFileDialog { title: String, filters: Vec, context: OpenFileDialogContext, }, SaveFileDialog { title: String, default_filename: String, default_folder: Option, filters: Vec, context: SaveFileDialogContext, }, WriteFile { path: PathBuf, content: Vec, }, OpenUrl(String), UpdateViewportBounds { x: f32, y: f32, width: f32, height: f32, }, UpdateOverlays(vello::Scene), } pub struct FileFilter { pub name: String, pub extensions: Vec, } pub enum DesktopWrapperMessage { FromWeb(Box), OpenFileDialogResult { path: PathBuf, content: Vec, context: OpenFileDialogContext }, SaveFileDialogResult { path: PathBuf, context: SaveFileDialogContext }, OpenDocument { path: PathBuf, content: Vec }, OpenFile { path: PathBuf, content: Vec }, ImportFile { path: PathBuf, content: Vec }, ImportSvg { path: PathBuf, content: Vec }, ImportImage { path: PathBuf, content: Vec }, PollNodeGraphEvaluation, } pub enum OpenFileDialogContext { Document, Import, } pub enum SaveFileDialogContext { Document { document_id: DocumentId, content: Vec }, File { content: Vec }, }