summaryrefslogtreecommitdiffstats
path: root/examples/ggez/main.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-07-21 12:35:25 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-07-21 12:35:25 +0200
commit0eaffff422767b42b94acb58912e84e68a07c282 (patch)
tree3c195a29f94edb3cd62f8ed395a7f4a4688d8f40 /examples/ggez/main.rs
parent2b7ad3d50eae48b1963aa8e866e184c41133ca3d (diff)
downloadiced-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.rs49
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(())
+ }
+}