blockworx_editor/
state.rs1use blockworx_doc::id::PinId;
2use blockworx_geom::Vec2;
3
4use crate::edit::naming::Authoring;
5use crate::shape::pin::PinSide;
6
7#[derive(Clone, Copy, Debug)]
8pub enum RenderMode {
9 Normal,
10 Hidden,
13 Moving {
14 delta: Vec2,
15 },
16 Resizing {
17 mode: ResizeMode,
18 delta: Vec2,
19 },
20 Selected {
21 authoring: Authoring,
25 },
26 PinDragged {
27 pin: PinId,
28 delta: f32,
29 side: PinSide,
30 candidate: Option<u32>,
33 },
34 TitleDragged {
35 delta: Vec2,
36 },
37 TypeDragged {
38 delta: Vec2,
39 },
40}
41
42#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
43pub enum ResizeMode {
44 LeftTop,
45 RightTop,
46 LeftBottom,
47 RightBottom,
48}