Graphite/editor/src/messages/tool/tool_message.rs

106 lines
1.9 KiB
Rust

use super::utility_types::ToolType;
use crate::messages::preferences::SelectionMode;
use crate::messages::prelude::*;
use graphene_core::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]
Line(LineToolMessage),
#[child]
Rectangle(RectangleToolMessage),
#[child]
Ellipse(EllipseToolMessage),
#[child]
Polygon(PolygonToolMessage),
#[child]
Text(TextToolMessage),
#[child]
Brush(BrushToolMessage),
// // #[child]
// Heal(HealToolMessage),
// // #[child]
// Clone(CloneToolMessage),
// // #[child]
// Patch(PatchToolMessage),
// // #[child]
// Relight(RelightToolMessage),
// // #[child]
// Detail(DetailToolMessage),
#[child]
Imaginate(ImaginateToolMessage),
// Messages
ActivateToolSelect,
ActivateToolArtboard,
ActivateToolNavigate,
ActivateToolEyedropper,
ActivateToolText,
ActivateToolFill,
ActivateToolGradient,
ActivateToolPath,
ActivateToolPen,
ActivateToolFreehand,
ActivateToolSpline,
ActivateToolLine,
ActivateToolRectangle,
ActivateToolEllipse,
ActivateToolPolygon,
ActivateToolBrush,
ActivateToolImaginate,
ActivateTool {
tool_type: ToolType,
},
DeactivateTools,
InitTools,
PreUndo,
Redo,
RefreshToolOptions,
ResetColors,
SelectPrimaryColor {
color: Color,
},
SelectRandomPrimaryColor,
SelectSecondaryColor {
color: Color,
},
SwapColors,
Undo,
UpdateCursor,
UpdateHints,
UpdateSelectionMode {
selection_mode: SelectionMode,
},
}