X-Git-Url: http://www.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fmain.rs;h=8b103419314c721a878a8f1e3e0a1cad831f7f7e;hb=3bfea951f8059b01b1671be7dd78f2dc5a7ac4ee;hp=be2244809ec75c1424586dfb9a602072fdc2fb09;hpb=fcbc5786908a32f68597961203d8c30e8a70c9ba;p=kaka%2Frust-sdl-test.git diff --git a/src/main.rs b/src/main.rs index be22448..8b10341 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,21 +7,18 @@ use std::f32::consts::PI; use rand::Rng; use sdl2::event::Event; use sdl2::event::WindowEvent; -use sdl2::EventPump; use sdl2::gfx::primitives::DrawRenderer; use sdl2::keyboard::Keycode; use sdl2::pixels::Color; use sdl2::rect::Rect; -use sdl2::render::BlendMode; -use sdl2::render::Canvas; use sdl2::video::FullscreenType; -use sdl2::video::Window; use time::PreciseTime; +use app::*; use boll::{Boll, CircleBoll, SquareBoll}; use common::Point2D; -use sprites::SpriteManager; +mod app; #[macro_use] mod common; mod boll; mod sprites; @@ -33,43 +30,6 @@ const NS_PER_FRAME: u32 = 1_000_000_000 / FPS; type Bollar = Vec>; -struct App { - canvas: Canvas, - event_pump: EventPump, - sprites: SpriteManager, -} - -impl App { - fn new() -> App { - let context = sdl2::init().unwrap(); - sdl2::image::init(sdl2::image::InitFlag::PNG).unwrap(); - let window = context.video().unwrap().window("SDL test", SCREEN_WIDTH, SCREEN_HEIGHT) - .position_centered() - .opengl() - .build() - .unwrap(); - context.mouse().show_cursor(false); - let mut canvas = window.into_canvas().build().unwrap(); - canvas.set_blend_mode(BlendMode::Add); - canvas.set_draw_color(Color::RGB(0, 0, 0)); - canvas.clear(); - canvas.present(); - let event_pump = context.event_pump().unwrap(); - let sprites = SpriteManager::new(canvas.texture_creator()); - App { - canvas, - event_pump, - sprites, - } - } - - fn load_sprites(&mut self, sprites: &[(&'static str, &str)]) { - for (name, file) in sprites { - self.sprites.load(name, file); - } - } -} - fn main() { println!("starting..."); let mut app = App::new();