From 475166b5737997319f50f0e8644b40f7ba8bf523 Mon Sep 17 00:00:00 2001 From: Yash Karandikar Date: Sun, 6 Mar 2022 13:19:04 -0600 Subject: [PATCH] Give downstream a Vec instead of the pump --- src/lib.rs | 5 +++-- src/main.rs | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 217729e..74c9a35 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -50,7 +50,7 @@ impl Game { } } - pub fn run, &mut EventPump)>(&self, func: F) -> Result<()> { + pub fn run, Vec)>(&self, func: F) -> Result<()> { let sdl_context = sdl2::init()?; let video_subsystem = sdl_context.video()?; @@ -67,7 +67,8 @@ impl Game { if self.stopped.get() { break; } - func(&mut canvas, &mut event_pump); + let events = event_pump.poll_iter().collect::>(); + func(&mut canvas, events); canvas.present(); } diff --git a/src/main.rs b/src/main.rs index 0eb0f95..e24187c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,12 @@ use catbox::{Event, Game, Keycode}; fn main() { - let mut game = Game::new("catbox demo", 1000, 800); + let game = Game::new("catbox demo", 1000, 800); game.run(|canvas, event_pump| { canvas.set_draw_color(catbox::Color::RGB(0, 59, 111)); canvas.clear(); - for event in event_pump.poll_iter() { + for event in event_pump { match event { Event::Quit { .. } | Event::KeyDown {