Function screen_height

Source
pub fn screen_height() -> f32
Examples found in repository?
examples/screenshot_history.rs (line 17)
16    fn update(&mut self, c: &mut EngineContext) {
17        let screen_size = uvec2(screen_width() as u32, screen_height() as u32);
18
19        if !self.initialized {
20            self.initialized = true;
21
22            c.renderer.screenshot_params.record_screenshots = true;
23            c.renderer.screenshot_params.screenshot_interval_n = 10;
24            c.renderer.screenshot_params.history_length = 5;
25
26            for i in 0..c.renderer.screenshot_params.history_length {
27                self.handles.push(
28                    c.renderer
29                        .context
30                        .texture_creator
31                        .borrow_mut()
32                        .handle_from_size(
33                            &format!("screenshot-{i}"),
34                            screen_size,
35                            RED,
36                        ),
37                );
38            }
39        }
40
41        if is_key_pressed(KeyCode::F) {
42            let start = Instant::now();
43
44            save_screenshots_to_folder(
45                "screenshot-history",
46                &c.renderer.screenshot_history_buffer,
47            );
48
49            println!(
50                "Saved screenshots to folder 'screenshot-history', time: {}ms",
51                start.elapsed().as_millis()
52            );
53        }
54
55        for (screenshot, handle) in
56            c.renderer.screenshot_history_buffer.iter().zip(self.handles.iter())
57        {
58            c.renderer.context.texture_creator.borrow_mut().update_texture(
59                &imageops::flip_vertical(&screenshot.image),
60                *handle,
61            );
62        }
63
64        let ratio = screen_size.x as f32 / screen_size.y as f32;
65        let w = 2.0;
66
67        for (i, handle) in self.handles.iter().enumerate() {
68            draw_sprite(
69                *handle,
70                vec2(i as f32 * 2.0 + 2.0, 2.0),
71                WHITE,
72                100,
73                vec2(w, w / ratio),
74            );
75        }
76
77        draw_text_ex(
78            "Press F to save screenshots to disk",
79            Vec2::ZERO,
80            TextAlign::Center,
81            TextParams::default(),
82        );
83
84        let time = get_time() as f32;
85
86        clear_background(Color::rgb8(13, 2, 8));
87
88        let colors = [RED, GREEN, BLUE, YELLOW, CYAN];
89
90        for (i, color) in colors.into_iter().enumerate() {
91            let s = (i + 1) as f32;
92            let t = s * time;
93
94            let z_index = i as i32;
95
96            draw_circle(
97                vec2(i as f32 * 2.0 + 2.0, t.sin() - 2.0),
98                s * 0.75,
99                color,
100                z_index,
101            );
102
103            let r = rescale(i, 0..colors.len(), 2..5);
104            draw_arc(
105                vec2(-s - 2.0, t.sin() - 2.0),
106                r,
107                PI - t.sin(),
108                PI - t.cos(),
109                color,
110                z_index,
111            );
112
113            draw_arc_outline(
114                vec2(-0.5, s - 0.5),
115                r,
116                s / 10.0,
117                PI / 4.0 - t.cos().powf(2.0),
118                t.sin().powf(2.0) + PI * 3.0 / 4.0,
119                // t.cos(),
120                color,
121                z_index,
122            );
123        }
124    }