raylib_draw_extension/
raylib_draw_extension.rs1use 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}