sfml_xt/graphics/
render_window_ext.rs1use sfml::{
2 graphics::{RenderTarget, RenderWindow},
3 system::Vector2,
4 window::{ContextSettings, Style, VideoMode},
5};
6
7pub trait RenderWindowExt {
9 fn center(&mut self);
11 fn desktop_fullscreen(&mut self, title: &str, ctx_settings: &ContextSettings);
13}
14
15impl RenderWindowExt for RenderWindow {
16 fn center(&mut self) {
17 let Vector2 { x, y } = self.size();
18 let desktop_mode = VideoMode::desktop_mode();
19 let width_diff = desktop_mode.width - x;
20 let height_diff = desktop_mode.height - y;
21 let new_x = width_diff / 2;
22 let new_y = height_diff / 2;
23 self.set_position(Vector2::new(new_x as i32, new_y as i32));
24 }
25 fn desktop_fullscreen(&mut self, title: &str, ctx_settings: &ContextSettings) {
26 let desktop_mode = VideoMode::desktop_mode();
27 self.recreate(desktop_mode, title, Style::NONE, ctx_settings);
28 self.set_position((0, 0).into());
29 }
30}