diff options
Diffstat (limited to '')
-rw-r--r-- | src/graphics.rs | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/src/graphics.rs b/src/graphics.rs index ca98946..003f182 100644 --- a/src/graphics.rs +++ b/src/graphics.rs @@ -1,6 +1,5 @@ extern crate sfml; - use sfml::window::{ ContextSettings, Event, @@ -13,20 +12,10 @@ use sfml::graphics::{ Color, }; - -struct State { - running: bool -} - - -pub fn start() { +pub fn start() -> RenderWindow { let default_window_size = (1280, 720); let default_framerate = 80; - let mut state = State { - running: true - }; - let context_settings = ContextSettings { antialiasing_level: 0, ..Default::default() @@ -42,22 +31,18 @@ pub fn start() { window.set_framerate_limit(default_framerate); window.set_vertical_sync_enabled(true); - - while state.running { - render(&mut window); - update(&mut window, &mut state); - } + return window; } -fn render(window: &mut RenderWindow) { +pub fn render(window: &mut RenderWindow) { window.clear(&Color::BLACK); window.display(); } -fn update(window: &mut RenderWindow, state: &mut State) { +pub fn update(window: &mut RenderWindow) { while let Some(ev) = window.poll_event() { match ev { - Event::Closed => state.running = false, + Event::Closed => window.close(), _ => {}, } } |