screenspace coords was much easier than expected
This commit is contained in:
@@ -11,7 +11,7 @@ use winit::event::Event;
|
||||
|
||||
/// Trait which may be inherited by objects that wish to be drawn to the screen
|
||||
pub trait Drawable {
|
||||
fn get(&self) -> Vec<VertexType>;
|
||||
fn get(&self, window_size: (u32, u32)) -> Vec<VertexType>;
|
||||
}
|
||||
|
||||
/// Trait which may be inherited by objects that wish to receive events
|
||||
@@ -19,17 +19,29 @@ pub trait Eventable<T> {
|
||||
fn notify(&mut self, event: &Event<T>) -> ();
|
||||
}
|
||||
|
||||
/// Trait which may be inherited by objects that wish to be updated
|
||||
pub trait Updatable {
|
||||
fn update(&mut self, delta_time: f32) -> ();
|
||||
}
|
||||
|
||||
/// Accumulator for Vectors of VertexTypes
|
||||
#[derive(Default)]
|
||||
pub struct CanvasFrame {
|
||||
pub map: Vec<VertexType>,
|
||||
window_size: (u32, u32),
|
||||
}
|
||||
|
||||
impl CanvasFrame {
|
||||
|
||||
pub fn new(window_size: (u32, u32)) -> CanvasFrame {
|
||||
CanvasFrame {
|
||||
map: vec![],
|
||||
window_size: window_size,
|
||||
}
|
||||
}
|
||||
/// Push this drawable onto the back of the accumulator
|
||||
pub fn draw(&mut self, drawable: &dyn Drawable) {
|
||||
for i in drawable.get() {
|
||||
for i in drawable.get(self.window_size) {
|
||||
self.map.push(i);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user