diff options
Diffstat (limited to 'games/rstnode/rst-client/src/ctx.rs')
-rw-r--r-- | games/rstnode/rst-client/src/ctx.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/games/rstnode/rst-client/src/ctx.rs b/games/rstnode/rst-client/src/ctx.rs new file mode 100644 index 000000000000..7590867f18e2 --- /dev/null +++ b/games/rstnode/rst-client/src/ctx.rs @@ -0,0 +1,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() + }) +} |