aboutsummaryrefslogtreecommitdiff
path: root/games/rstnode/rst-client/src/ctx.rs
blob: 7590867f18e2e2db28e80e23c0083b2a387be7c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//! Small context builder

use crate::{
    constants::{AUTHORS, NAME, VERSION},
    GameSettings,
};

use ggez::{
    conf::{WindowMode, WindowSetup},
    ContextBuilder,
};

/// Construct a context builder with default & user window settings
pub fn build(settings: &GameSettings) -> ContextBuilder {
    ContextBuilder::new(NAME, AUTHORS)
        .window_setup(WindowSetup {
            title: format!("{} (v{})", NAME, VERSION),
            samples: (&settings.graphics.samples).into(),
            vsync: settings.graphics.vsync,
            icon: "".into(),
            srgb: true,
        })
        .window_mode(WindowMode {
            width: settings.window.width as f32,
            height: settings.window.height as f32,
            maximized: settings.window.window_mode.maximized(),
            fullscreen_type: settings.window.window_mode._type(),
            ..Default::default()
        })
}