graphite2 / editor /src /messages /tool /tool_message.rs
openfree's picture
Deploy from GitHub repository
2409829 verified
use super::utility_types::ToolType;
use crate::messages::preferences::SelectionMode;
use crate::messages::prelude::*;
use graphene_std::raster::color::Color;
#[impl_message(Message, Tool)]
#[derive(PartialEq, Clone, Debug, serde::Serialize, serde::Deserialize)]
pub enum ToolMessage {
// Sub-messages
#[child]
TransformLayer(TransformLayerMessage),
#[child]
Select(SelectToolMessage),
#[child]
Artboard(ArtboardToolMessage),
#[child]
Navigate(NavigateToolMessage),
#[child]
Eyedropper(EyedropperToolMessage),
#[child]
Fill(FillToolMessage),
#[child]
Gradient(GradientToolMessage),
#[child]
Path(PathToolMessage),
#[child]
Pen(PenToolMessage),
#[child]
Freehand(FreehandToolMessage),
#[child]
Spline(SplineToolMessage),
#[child]
Shape(ShapeToolMessage),
#[child]
Text(TextToolMessage),
#[child]
Brush(BrushToolMessage),
// // #[child]
// Heal(HealToolMessage),
// // #[child]
// Clone(CloneToolMessage),
// // #[child]
// Patch(PatchToolMessage),
// // #[child]
// Relight(RelightToolMessage),
// // #[child]
// Detail(DetailToolMessage),
// Messages
// General tools
ActivateToolSelect,
ActivateToolArtboard,
ActivateToolNavigate,
ActivateToolEyedropper,
ActivateToolFill,
ActivateToolGradient,
// Vector tools
ActivateToolPath,
ActivateToolPen,
ActivateToolFreehand,
ActivateToolSpline,
ActivateToolShapeLine,
ActivateToolShapeRectangle,
ActivateToolShapeEllipse,
ActivateToolShape,
ActivateToolText,
// Raster tools
ActivateToolBrush,
ActivateTool {
tool_type: ToolType,
},
DeactivateTools,
InitTools,
PreUndo,
Redo,
RefreshToolOptions,
ResetColors,
SelectWorkingColor {
color: Color,
primary: bool,
},
SelectRandomWorkingColor {
primary: bool,
},
SwapColors,
Undo,
UpdateCursor,
UpdateHints,
UpdateSelectionMode {
selection_mode: SelectionMode,
},
}