use crate::UserData;
use fey_math::Vec2;
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
pub struct Slice {
pub name: String,
pub ty: SliceType,
pub user_data: Option<UserData>,
}
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
pub enum SliceType {
Rect(Vec<SliceKey>),
Nine(Vec<NineSliceKey>),
}
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
pub struct SliceKey {
pub frame: u32,
pub origin: Vec2<i32>,
pub size: Vec2<u32>,
pub pivot: Vec2<i32>,
}
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
pub struct NineSliceKey {
pub key: SliceKey,
pub center_pos: Vec2<i32>,
pub center_size: Vec2<u32>,
}