aboutsummaryrefslogtreecommitdiff
path: root/games/rstnode/rst-client/src/ctx.rs
diff options
context:
space:
mode:
Diffstat (limited to 'games/rstnode/rst-client/src/ctx.rs')
-rw-r--r--games/rstnode/rst-client/src/ctx.rs30
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()
+ })
+}