jellyflow_runtime/runtime/events/
node_resize.rs1use serde::{Deserialize, Serialize};
2
3use crate::runtime::resize::NodeResizeDirection;
4use jellyflow_core::core::{CanvasPoint, CanvasSize, NodeId};
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7#[serde(rename_all = "snake_case")]
8pub enum NodeResizeEndOutcome {
9 Committed,
10 Rejected,
11 Canceled,
12 NoOp,
13}
14
15#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
16pub struct NodeResizeStart {
17 pub node: NodeId,
18 pub direction: NodeResizeDirection,
19 pub pointer: CanvasPoint,
20}
21
22#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
23pub struct NodeResizeUpdate {
24 pub node: NodeId,
25 pub direction: NodeResizeDirection,
26 pub pointer: CanvasPoint,
27 pub position: CanvasPoint,
28 pub size: CanvasSize,
29}
30
31#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
32pub struct NodeResizeEnd {
33 pub node: NodeId,
34 pub direction: NodeResizeDirection,
35 pub pointer: CanvasPoint,
36 pub outcome: NodeResizeEndOutcome,
37}