From 056f470a820ea40e5988864141072c6299f7558c Mon Sep 17 00:00:00 2001 From: Yash Karandikar Date: Mon, 7 Mar 2022 10:59:19 -0600 Subject: [PATCH] Finish sprite rendering --- duck.png | Bin 0 -> 14012 bytes src/lib.rs | 12 +++++++++--- src/main.rs | 13 ++++++++++--- 3 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 duck.png diff --git a/duck.png b/duck.png new file mode 100644 index 0000000000000000000000000000000000000000..e881adffe12035922066a7ba9fc473b7d34a0bc3 GIT binary patch literal 14012 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 literal 0 HcmV?d00001 diff --git a/src/lib.rs b/src/lib.rs index 32aa2bc..8910a3f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -80,7 +80,7 @@ impl Sprite { let surf = ops.load()?; let srect = surf.rect(); - let dest_rect: Rect = Rect::new(x, y, srect.width(), srect.height()); + let dest_rect: Rect = Rect::from_center((x, y), srect.width(), srect.height()); Ok(Self { rect: dest_rect, @@ -88,8 +88,14 @@ impl Sprite { }) } - pub fn draw(&self, canvas: Canvas) { - let surface = canvas.window(); + pub fn draw(&self, canvas: &mut Canvas, events: &Events) -> Result<()> { + let mut surface = canvas.window().surface(events.as_ref())?; + + self.surf.blit(None, &mut *surface, self.rect)?; + + surface.finish()?; + + Ok(()) } } diff --git a/src/main.rs b/src/main.rs index 2ede3ca..6449ffa 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,13 +1,20 @@ -use catbox::{Event, Game, Keycode}; +use catbox::{Event, Game, Keycode, Sprite}; fn main() { let game = Game::new("catbox demo", 1000, 800); let mut i = 0; + let s = Sprite::new("/home/yashkarandikar/code/catbox/duck.png", 500, 400).unwrap(); game.run(|canvas, event_pump| { i = (i + 1) % 255; - canvas.set_draw_color(catbox::Color::RGB(i, 64, 255)); - canvas.clear(); + // canvas.set_draw_color(catbox::Color::RGB(i, 64, 255)); + // canvas.clear(); + s.draw(canvas, event_pump).unwrap(); + + // let m = sdl2::mouse::MouseState::new(event_pump.as_ref()); + // println!("{}, {}", m.x(), m.y()); + + for event in event_pump { match event { Event::Quit { .. }