1extern crate pushrod;
2extern crate sdl2;
3
4use pushrod::render::engine::Engine;
5use pushrod::render::widget::Widget;
6use pushrod::render::widget_config::CONFIG_COLOR_SECONDARY;
7use pushrod::render::{make_points, make_size};
8use pushrod::widgets::progress_widget::*;
9use sdl2::pixels::Color;
10
11pub fn main() {
12 let sdl_context = sdl2::init().unwrap();
13 let video_subsystem = sdl_context.video().unwrap();
14 let window = video_subsystem
15 .window("pushrod-render progress demo", 400, 180)
16 .position_centered()
17 .opengl()
18 .build()
19 .unwrap();
20 let mut engine = Engine::new(400, 180, 60);
21 let mut widget1 = ProgressWidget::new(make_points(20, 20), make_size(360, 40), 25);
22
23 widget1.set_color(CONFIG_COLOR_SECONDARY, Color::RGB(255, 0, 0));
24
25 let mut widget2 = ProgressWidget::new(make_points(20, 70), make_size(360, 40), 50);
26
27 widget2.set_color(CONFIG_COLOR_SECONDARY, Color::RGB(255, 0, 0));
28
29 let mut widget3 = ProgressWidget::new(make_points(20, 120), make_size(360, 40), 75);
30
31 widget3.set_color(CONFIG_COLOR_SECONDARY, Color::RGB(255, 0, 0));
32
33 engine.add_widget(Box::new(widget1), String::from("widget1"));
34 engine.add_widget(Box::new(widget2), String::from("widget2"));
35 engine.add_widget(Box::new(widget3), String::from("widget3"));
36
37 engine.run(sdl_context, window);
38}