pub mod canvas_state; pub mod canvas_frame; pub mod shader; pub mod canvas_text; pub mod canvas_buffer; pub trait Handle { fn get_handle(&self) -> u32; } #[derive(Clone, Debug, Default, PartialEq, Eq, Hash)] pub struct CanvasTextureHandle { pub handle: u32 } #[derive(Clone, Debug, Default, PartialEq, Eq, Hash)] pub struct CanvasImageHandle { pub handle: u32 } #[derive(Clone, Debug, Default, PartialEq, Eq, Hash)] pub struct CanvasShaderHandle { pub handle: u32 } /// Typed wrapper for a u32 handle #[derive(Clone, Debug, Default, PartialEq, Eq, Hash)] pub struct CompiledGraphicsPipelineHandle { pub handle: u32 } #[derive(Clone, Debug, Default, PartialEq, Eq, Hash)] pub struct CompuBufferHandle { pub handle: u32, }