raylib_draw_extension/
raylib_draw_extension.rs

1use raylib_imgui::RaylibGui;
2use raylib::prelude::*;
3
4impl<T> RaylibDrawUiExt for T where T: RaylibDraw {}
5trait RaylibDrawUiExt: RaylibDraw {
6  fn on_ui(&self, gui: &mut RaylibGui, open: &mut bool) {
7    let ui = gui.new_frame();
8
9    ui.show_demo_window(open);
10    gui.render();
11  }
12}
13
14fn main() {
15  let (mut rl, thread) = raylib::init()
16    .size(800, 600)
17    .title("Using raylib draw")
18    .build();
19
20  let mut gui = RaylibGui::new(&mut rl, &thread);
21  let mut open = true;
22
23  while !rl.window_should_close() {
24    gui.update(&mut rl);
25    let mut d = rl.begin_drawing(&thread);
26
27    d.clear_background(Color::WHITE);
28    d.draw_text("Hello, world!", 12, 12, 20, Color::BLACK);
29    d.on_ui(&mut gui, &mut open);
30  }
31}