Skip to content

Commit c1b5e86

Browse files
committed
fix(examples): initialize window with update() before polling events in showcases
1 parent 90c6427 commit c1b5e86

4 files changed

Lines changed: 53 additions & 49 deletions

examples/basics/draw_task_band_buffer_showcase.rs

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,20 +94,6 @@ fn run_interactive_window() {
9494
let mut dir: i32 = 2;
9595

9696
'running: loop {
97-
for event in window.events() {
98-
match event {
99-
SimulatorEvent::Quit => break 'running,
100-
SimulatorEvent::KeyDown { keycode, .. } => match keycode {
101-
Keycode::Escape | Keycode::Q => break 'running,
102-
Keycode::Space => {
103-
progress = (progress + 20) % 250;
104-
}
105-
_ => {}
106-
},
107-
_ => {}
108-
}
109-
}
110-
11197
if progress >= 240 {
11298
dir = -2;
11399
} else if progress <= 20 {
@@ -124,6 +110,21 @@ fn run_interactive_window() {
124110
.expect("Render succeeded");
125111

126112
window.update(&sim.display);
113+
114+
for event in window.events() {
115+
match event {
116+
SimulatorEvent::Quit => break 'running,
117+
SimulatorEvent::KeyDown { keycode, .. } => match keycode {
118+
Keycode::Escape | Keycode::Q => break 'running,
119+
Keycode::Space => {
120+
progress = (progress + 20) % 250;
121+
}
122+
_ => {}
123+
},
124+
_ => {}
125+
}
126+
}
127+
127128
std::thread::sleep(std::time::Duration::from_millis(16));
128129
}
129130
}

examples/basics/relative_anchors_and_flex_justify_showcase.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,15 @@ fn run_interactive_window() {
5353
let mut justify_mode = 0usize;
5454

5555
'running: loop {
56+
display.clear(Rgb565::new(1, 2, 3)).unwrap();
57+
58+
let screen = Rect::new(0, 0, W, H);
59+
let mut ctx = RenderCtx::new(&mut display, screen);
60+
61+
render_anchors_and_flex(&mut ctx, card_offset_x, card_offset_y, justify_mode);
62+
63+
window.update(&display);
64+
5665
for event in window.events() {
5766
match event {
5867
SimulatorEvent::Quit => break 'running,
@@ -71,14 +80,6 @@ fn run_interactive_window() {
7180
}
7281
}
7382

74-
display.clear(Rgb565::new(1, 2, 3)).unwrap();
75-
76-
let screen = Rect::new(0, 0, W, H);
77-
let mut ctx = RenderCtx::new(&mut display, screen);
78-
79-
render_anchors_and_flex(&mut ctx, card_offset_x, card_offset_y, justify_mode);
80-
81-
window.update(&display);
8283
std::thread::sleep(std::time::Duration::from_millis(16));
8384
}
8485
}

examples/basics/vector_pdc_round_screen_showcase.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@ fn run_interactive_window() {
5454
let mut overlay_active = false;
5555

5656
'running: loop {
57+
let screen = Rect::new(0, 0, W, H);
58+
display.clear(Rgb565::new(0, 0, 0)).unwrap();
59+
60+
let mut ctx = RenderCtx::new(&mut display, screen);
61+
render_round_screen(&mut ctx, &icon, overlay_active, selected_digit, active_page);
62+
63+
window.update(&display);
64+
5765
for event in window.events() {
5866
match event {
5967
SimulatorEvent::Quit => break 'running,
@@ -84,13 +92,6 @@ fn run_interactive_window() {
8492
}
8593
}
8694

87-
let screen = Rect::new(0, 0, W, H);
88-
display.clear(Rgb565::new(0, 0, 0)).unwrap();
89-
90-
let mut ctx = RenderCtx::new(&mut display, screen);
91-
render_round_screen(&mut ctx, &icon, overlay_active, selected_digit, active_page);
92-
93-
window.update(&display);
9495
std::thread::sleep(std::time::Duration::from_millis(16));
9596
}
9697
}

examples/basics/wearable_os_subsystems_showcase.rs

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,27 @@ fn run_interactive_window() {
6868
let mut notif_progress = 1.0f32;
6969

7070
'running: loop {
71+
notif_progress -= 0.003;
72+
if notif_progress <= 0.0 {
73+
notif_progress = 1.0;
74+
}
75+
76+
display.clear(Rgb565::new(1, 2, 3)).unwrap();
77+
78+
let screen = Rect::new(0, 0, W, H);
79+
let mut ctx = RenderCtx::new(&mut display, screen);
80+
81+
render_all_components(
82+
&mut ctx,
83+
screen,
84+
peek_expanded,
85+
selected_menu_idx,
86+
selected_notif_action,
87+
notif_progress,
88+
);
89+
90+
window.update(&display);
91+
7192
for event in window.events() {
7293
match event {
7394
SimulatorEvent::Quit => break 'running,
@@ -94,26 +115,6 @@ fn run_interactive_window() {
94115
}
95116
}
96117

97-
notif_progress -= 0.003;
98-
if notif_progress <= 0.0 {
99-
notif_progress = 1.0;
100-
}
101-
102-
display.clear(Rgb565::new(1, 2, 3)).unwrap();
103-
104-
let screen = Rect::new(0, 0, W, H);
105-
let mut ctx = RenderCtx::new(&mut display, screen);
106-
107-
render_all_components(
108-
&mut ctx,
109-
screen,
110-
peek_expanded,
111-
selected_menu_idx,
112-
selected_notif_action,
113-
notif_progress,
114-
);
115-
116-
window.update(&display);
117118
std::thread::sleep(std::time::Duration::from_millis(16));
118119
}
119120
}

0 commit comments

Comments
 (0)