diff options
author | 2019-07-21 12:35:25 +0200 | |
---|---|---|
committer | 2019-07-21 12:35:25 +0200 | |
commit | 0eaffff422767b42b94acb58912e84e68a07c282 (patch) | |
tree | 3c195a29f94edb3cd62f8ed395a7f4a4688d8f40 /examples/ggez/main.rs | |
parent | 2b7ad3d50eae48b1963aa8e866e184c41133ca3d (diff) | |
download | iced-0eaffff422767b42b94acb58912e84e68a07c282.tar.gz iced-0eaffff422767b42b94acb58912e84e68a07c282.tar.bz2 iced-0eaffff422767b42b94acb58912e84e68a07c282.zip |
Start implementing `ggez` example
Diffstat (limited to 'examples/ggez/main.rs')
-rw-r--r-- | examples/ggez/main.rs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/examples/ggez/main.rs b/examples/ggez/main.rs new file mode 100644 index 00000000..87949dee --- /dev/null +++ b/examples/ggez/main.rs @@ -0,0 +1,49 @@ +mod renderer; +mod widget; + +use renderer::Renderer; +use widget::Text; + +use ggez; +use ggez::event; +use ggez::graphics; + +use iced::Interface; + +pub fn main() -> ggez::GameResult { + let cb = ggez::ContextBuilder::new("iced", "ggez"); + let (ctx, event_loop) = &mut cb.build()?; + let state = &mut Game::new()?; + event::run(ctx, event_loop, state) +} + +struct Game {} + +impl Game { + fn new() -> ggez::GameResult<Game> { + Ok(Game {}) + } +} + +impl event::EventHandler for Game { + fn update(&mut self, _ctx: &mut ggez::Context) -> ggez::GameResult { + Ok(()) + } + + fn draw(&mut self, context: &mut ggez::Context) -> ggez::GameResult { + graphics::clear(context, [0.1, 0.2, 0.3, 1.0].into()); + + { + let renderer = &mut Renderer { context }; + let ui: Interface<(), Renderer> = + Interface::compute(Text::new("Hello, iced!").into(), renderer); + + let mouse_cursor = ui.draw(renderer, iced::Point::new(0.0, 0.0)); + + renderer.flush(); + } + + graphics::present(context)?; + Ok(()) + } +} |