-struct App {
- canvas: Canvas<Window>,
- 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);
- }
- }
-}
-