1extern crate est_render;
2
3use est_render::prelude::*;
4
5fn main() {
6 let mut runner = est_render::runner::new().expect("Failed to create runner");
7
8 let mut window = runner
9 .create_window("Drawing Example", Point2::new(800, 600))
10 .build()
11 .expect("Failed to create window");
12
13 let mut gpu = est_render::gpu::new(Some(&mut window))
14 .build()
15 .expect("Failed to create GPU");
16
17 while runner.pool_events(None) {
18 for event in runner.get_events() {
19 match event {
20 Event::WindowClosed { .. } => {
21 return;
22 }
23 _ => {}
24 }
25 }
26
27 if let Ok(mut cmd) = gpu.begin_command() {
28 if let Ok(mut gp) = cmd.begin_renderpass() {
29 gp.set_clear_color(Color::BLUE); gp.set_blend(0, Some(&BlendState::ALPHA_BLEND));
32 if let Some(mut drawing) = gp.begin_drawing() {
33 drawing.draw_rect_filled(
34 Vector2::new(100.0, 100.0),
35 Vector2::new(200.0, 200.0),
36 Color::RED,
37 );
38
39 drawing.draw_circle_filled(Vector2::new(400.0, 300.0), 50.0, 25, Color::GREEN);
40 }
41
42 gp.set_blend(0, Some(&BlendState::ADDITIVE_BLEND));
43 if let Some(mut drawing) = gp.begin_drawing() {
44 drawing.draw_text(
45 "Hello, World!",
46 Vector2::new(300.0, 500.0),
47 Color::WHITE,
48 );
49 }
50 }
51 }
52 }
53}