use bevy::prelude::*;
#[derive(Component, Debug, Clone, Copy)]
pub struct WebviewResizable {
pub edge_thickness: u32,
pub min_size: UVec2,
pub max_size: Option<UVec2>,
pub aspect_lock: AspectLockMode,
}
impl Default for WebviewResizable {
fn default() -> Self {
Self {
edge_thickness: 16,
min_size: UVec2::new(100, 100),
max_size: None,
aspect_lock: AspectLockMode::default(),
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum AspectLockMode {
#[default]
LockOnShift,
Always,
Never,
}
#[derive(Component, Debug, Clone, Copy, Deref, DerefMut)]
pub struct DisplaySize(pub Vec2);
#[derive(Component, Debug, Clone, Copy, Deref, DerefMut)]
pub struct BaseRenderScale(pub Vec2);
#[derive(Component, Debug, Clone, Copy, Deref, DerefMut)]
pub struct QualityMultiplier(pub f32);
impl Default for QualityMultiplier {
fn default() -> Self {
Self(1.0)
}
}
#[derive(Component, Debug, Clone, Copy)]
pub struct WebviewBasis2d {
pub local_size: Vec2,
}
#[derive(Component, Debug, Clone, Copy)]
pub struct PendingBasisInit;