diff --git a/.gitignore b/.gitignore index dc0d833..2089cea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ target/ +SDL2*.dll diff --git a/src/main.rs b/src/main.rs index d1b91b5..ffd0861 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,27 @@ use std::time::Duration; -use sdl2::{event::Event, keyboard::Keycode, pixels::Color}; +use sdl2::{event::Event, keyboard::Keycode, pixels::Color, rect::Rect, render::Canvas, video::Window}; mod bong; +enum Element { + Div(Vec), + Rectangle(Color), +} + +impl Element { + fn render(&self, canvas: &mut Canvas, x: i32, y: i32) { + match self { + Element::Div(_) => todo!(), + Element::Rectangle(color) => { + canvas.set_draw_color(*color); + let _ = canvas.fill_rect(Rect::new(x, y, 50, 50)); + }, + } + } +} + + fn main() { let sdl_context = sdl2::init().unwrap(); let video_subsystem = sdl_context.video().unwrap(); @@ -20,10 +38,9 @@ fn main() { canvas.clear(); canvas.present(); let mut event_pump = sdl_context.event_pump().unwrap(); - let mut i = 0; - 'running: loop { - i = (i + 1) % 255; - canvas.set_draw_color(Color::RGB(i, 64, 255 - i)); + loop { + + canvas.set_draw_color(Color::RGB(170, 200, 255)); canvas.clear(); for event in event_pump.poll_iter() { match event { @@ -31,12 +48,16 @@ fn main() { | Event::KeyDown { keycode: Some(Keycode::Escape), .. - } => break 'running, + } => break, _ => {} } } // The rest of the game loop goes here... - + let dom = Element::Div(vec![Element::Rectangle(Color::RGB(1, 238, 34)), Element::Rectangle(Color::RGB(123, 123, 123))]); + + canvas.set_draw_color(Color::RGB(255, 0, 0)); + let _ = canvas.fill_rect(Rect::new(0, 0, 50, 50)); + canvas.present(); ::std::thread::sleep(Duration::new(0, 1_000_000_000u32 / 60)); }