Files
Graphite/editor/src/viewport_tools/tool_message.rs
T
Paul Kupper 1d2768c26d Implement Freehand Tool (#503)
* Implement freehand tool

* Address review comments

* Consistent ordering of tools

* Add hotkey N for freehand tool

* Tweak freehand tool hint
2022-01-30 11:39:49 +01:00

100 lines
1.8 KiB
Rust

use super::tool::ToolType;
use super::tool_options::ToolOptions;
use crate::message_prelude::*;
use graphene::color::Color;
use serde::{Deserialize, Serialize};
#[remain::sorted]
#[impl_message(Message, Tool)]
#[derive(PartialEq, Clone, Debug, Serialize, Deserialize)]
pub enum ToolMessage {
// Sub-messages
#[remain::unsorted]
#[child]
Select(SelectMessage),
#[remain::unsorted]
#[child]
Crop(CropMessage),
#[remain::unsorted]
#[child]
Navigate(NavigateMessage),
#[remain::unsorted]
#[child]
Eyedropper(EyedropperMessage),
// #[remain::unsorted]
// #[child]
// Text(TextMessage),
#[remain::unsorted]
#[child]
Fill(FillMessage),
// #[remain::unsorted]
// #[child]
// Gradient(GradientMessage),
// #[remain::unsorted]
// #[child]
// Brush(BrushMessage),
// #[remain::unsorted]
// #[child]
// Heal(HealMessage),
// #[remain::unsorted]
// #[child]
// Clone(CloneMessage),
// #[remain::unsorted]
// #[child]
// Patch(PatchMessage),
// #[remain::unsorted]
// #[child]
// Detail(DetailMessage),
// #[remain::unsorted]
// #[child]
// Relight(RelightMessage),
#[remain::unsorted]
#[child]
Path(PathMessage),
#[remain::unsorted]
#[child]
Pen(PenMessage),
#[remain::unsorted]
#[child]
Freehand(FreehandMessage),
// #[remain::unsorted]
// #[child]
// Spline(SplineMessage),
#[remain::unsorted]
#[child]
Line(LineMessage),
#[remain::unsorted]
#[child]
Rectangle(RectangleMessage),
#[remain::unsorted]
#[child]
Ellipse(EllipseMessage),
#[remain::unsorted]
#[child]
Shape(ShapeMessage),
// Messages
#[remain::unsorted]
NoOp,
ActivateTool {
tool_type: ToolType,
},
DocumentIsDirty,
ResetColors,
SelectPrimaryColor {
color: Color,
},
SelectSecondaryColor {
color: Color,
},
SetToolOptions {
tool_type: ToolType,
tool_options: ToolOptions,
},
SwapColors,
UpdateCursor,
UpdateHints,
}