use super::BorderRect;
use bevy_reflect::{std_traits::ReflectDefault, Reflect};
#[derive(Debug, Clone, Reflect, PartialEq)]
#[reflect(Clone, PartialEq)]
pub struct TextureSlicer {
pub border: BorderRect,
pub center_scale_mode: SliceScaleMode,
pub sides_scale_mode: SliceScaleMode,
pub max_corner_scale: f32,
}
#[derive(Debug, Copy, Clone, Default, Reflect, PartialEq)]
#[reflect(Clone, PartialEq, Default)]
pub enum SliceScaleMode {
#[default]
Stretch,
Tile {
stretch_value: f32,
},
}
impl Default for TextureSlicer {
fn default() -> Self {
Self {
border: Default::default(),
center_scale_mode: Default::default(),
sides_scale_mode: Default::default(),
max_corner_scale: 1.0,
}
}
}