use crate::interaction::InteractionType;
use crate::{CompactionType, CollisionStrategy, LayoutItem};
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum InteractionPhase {
Start,
Update,
Stop,
Cancel,
}
#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
pub enum LayoutEvent {
Interaction {
phase: InteractionPhase,
id: String,
interaction: InteractionType,
layout: Vec<LayoutItem>,
compaction: CompactionType,
collision: CollisionStrategy,
},
ConfigChanged {
cols: i32,
compaction: CompactionType,
},
}