pub mod easing;
pub mod timing;
use anyhow::Result;
#[derive(Debug, Clone)]
#[allow(dead_code)]
pub enum AnimationProperty {
Position { x: i16, y: i16 },
Alpha(f32),
Scale(f32),
Color { r: u8, g: u8, b: u8 },
}
#[allow(dead_code)]
pub trait AnimationTarget {
fn set_property(&mut self, property: AnimationProperty) -> Result<()>;
}
#[allow(dead_code)]
pub trait Animation {
fn update(&mut self, delta_time: f64) -> bool;
fn get_current_property(&self) -> AnimationProperty;
fn is_complete(&self) -> bool;
}
#[allow(dead_code)]
pub trait Animatable {
fn update_animations(&mut self, delta_time: f64);
fn cleanup_animations(&mut self);
fn has_active_animations(&self) -> bool;
}