diff -r cef0c685fda8 -r 0f517cbfe16d rust/theme-editor/src/main.rs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rust/theme-editor/src/main.rs Mon Oct 29 23:38:08 2018 +0300 @@ -0,0 +1,60 @@ +use sdl2::{ + keyboard::Scancode, + event::EventType +}; + +use rand::{ + thread_rng, RngCore +}; + +use landgen::{ + LandGenerator, + LandGenerationParameters +}; +use land2d::Land2D; +use lfprng::LaggedFibonacciPRNG; + +struct LandSource { + rnd: LaggedFibonacciPRNG, + generator: T +} + +impl LandSource { + fn new(generator: T) -> Self { + let mut init = [0u8; 64]; + thread_rng().fill_bytes(&mut init); + LandSource { + rnd: LaggedFibonacciPRNG::new(&init), + generator + } + } + fn next(&mut self, parameters: LandGenerationParameters) -> Land2D { + self.generator.generate_land(parameters, &mut self.rnd) + } +} + +fn main() { + let sdl = sdl2::init().unwrap(); + let _image = sdl2::image::init(sdl2::image::INIT_PNG).unwrap(); + let events = sdl.event().unwrap(); + + let mut pump = sdl.event_pump().unwrap(); + let video = sdl.video().unwrap(); + let _window = video.window("Theme Editor", 640, 480) + .position_centered() + .build().unwrap(); + + 'pool: loop { + use sdl2::event::Event::*; + pump.pump_events(); + + while let Some(event) = pump.poll_event() { + match event { + Quit{ .. } => break 'pool, + _ => () + } + } + } +} + +