use std::sync::Arc; use crate::canvas::*; use crate::canvas::managed::handles::{CanvasFontHandle, CanvasImageHandle, CanvasTextureHandle, Handle}; use crate::canvas::canvas_frame::{Drawable}; use crate::util::vertex::{VertexTypes, TextureVertex2D, Vertex3D}; /// #[derive(Debug, Clone)] pub struct Sprite { pub verts: VertexTypes, position: (f32, f32), size: (f32, f32), } /// Container class which implements drawable. impl Sprite { /// pub fn new(position: (f32, f32), size: (f32, f32), depth: u32, texture_handle: Arc) -> Sprite { let normalized_depth = (depth as f32 / 255.0); Sprite { verts: VertexTypes::TextureType(Vec::new(), texture_handle), position: position, size: size, } } } impl Drawable for Sprite{ fn get(&self) -> VertexTypes { self.verts.clone() } }