mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-15 22:28:10 +08:00
* Remove unsafe code * Make node graph test syncronous * Add miri step to ci * Remove unsafe from node graph evaluation * Replace operation pseudo_hash with hash based on discriminant * Fix test * Move memo module to core and make it safe * Fix formatting * Remove unused stuff from gstd * Use safe casting for creating key variants * Fix memo node types * Fix ref node * "fix" ub * Use correct input types for ExtractImageFrame * Fix types for async nodes * Fix missing implementation * Manually override output type for async nodes * Fix types for EditorApi * Fix output type for WasmSurfaceHandle * Remove unused miri.yml * Fix incorrect type for cache node
50 lines
1.1 KiB
Rust
50 lines
1.1 KiB
Rust
use crate::messages::prelude::*;
|
|
|
|
use graphite_proc_macros::*;
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
use std::collections::hash_map::DefaultHasher;
|
|
use std::hash::{Hash, Hasher};
|
|
|
|
#[remain::sorted]
|
|
#[impl_message]
|
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
|
pub enum Message {
|
|
#[remain::unsorted]
|
|
NoOp,
|
|
#[remain::unsorted]
|
|
Init,
|
|
|
|
#[child]
|
|
Broadcast(BroadcastMessage),
|
|
#[child]
|
|
Debug(DebugMessage),
|
|
#[child]
|
|
Dialog(DialogMessage),
|
|
#[child]
|
|
Frontend(FrontendMessage),
|
|
#[child]
|
|
Globals(GlobalsMessage),
|
|
#[child]
|
|
InputPreprocessor(InputPreprocessorMessage),
|
|
#[child]
|
|
KeyMapping(KeyMappingMessage),
|
|
#[child]
|
|
Layout(LayoutMessage),
|
|
#[child]
|
|
Portfolio(PortfolioMessage),
|
|
#[child]
|
|
Preferences(PreferencesMessage),
|
|
#[child]
|
|
Tool(ToolMessage),
|
|
#[child]
|
|
Workspace(WorkspaceMessage),
|
|
}
|
|
|
|
/// Provides an impl of `specta::Type` for `MessageDiscriminant`, the struct created by `impl_message`.
|
|
/// Specta isn't integrated with `impl_message`, so a remote impl must be provided using this
|
|
/// struct.
|
|
#[derive(specta::Type)]
|
|
#[specta(inline, remote = "MessageDiscriminant")]
|
|
pub struct MessageDiscriminantDef(u8);
|