pub trait Command {
// Required methods
fn name(&self) -> &'static str;
fn execute(&mut self, ctx: &mut CanvasState<'_>);
fn undo(&mut self, ctx: &mut CanvasState<'_>);
}pub trait Command {
// Required methods
fn name(&self) -> &'static str;
fn execute(&mut self, ctx: &mut CanvasState<'_>);
fn undo(&mut self, ctx: &mut CanvasState<'_>);
}