1extern crate pushrod;
2extern crate sdl2;
3
4use pushrod::render::engine::Engine;
5use pushrod::render::{make_points, make_size};
6use pushrod::widgets::checkbox_widget::*;
7
8pub fn main() {
9 let sdl_context = sdl2::init().unwrap();
10 let video_subsystem = sdl_context.video().unwrap();
11 let window = video_subsystem
12 .window("pushrod-render image button demo", 400, 180)
13 .position_centered()
14 .opengl()
15 .build()
16 .unwrap();
17 let mut engine = Engine::new(400, 180, 60);
18 let widget1 = CheckboxWidget::new(
19 make_points(20, 20),
20 make_size(360, 30),
21 String::from(" Checkbox Item 1"),
22 22,
23 false,
24 );
25 let widget2 = CheckboxWidget::new(
26 make_points(20, 70),
27 make_size(360, 30),
28 String::from(" Checked Checkbox"),
29 22,
30 true,
31 );
32 let widget3 = CheckboxWidget::new(
33 make_points(20, 120),
34 make_size(360, 30),
35 String::from(" Unchecked Checkbox"),
36 22,
37 false,
38 );
39
40 engine.add_widget(Box::new(widget1), String::from("widget1"));
41 engine.add_widget(Box::new(widget2), String::from("widget2"));
42 engine.add_widget(Box::new(widget3), String::from("widget3"));
43
44 engine.run(sdl_context, window);
45}