summaryrefslogtreecommitdiff
path: root/engine/src/windowing/window.rs
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-06-28 00:09:06 +0200
committerHampusM <hampus@hampusmat.com>2026-06-30 18:24:47 +0200
commit9df8a4d197e66accb389edb5a5c54117933f157e (patch)
tree2d348fea32df9dd73ec6b961fae63e8ccb60899d /engine/src/windowing/window.rs
parent4a5e3e612e8b597dd1734afefd01324b74fd99ab (diff)
feat(engine): add windowing DPI utilities
Diffstat (limited to 'engine/src/windowing/window.rs')
-rw-r--r--engine/src/windowing/window.rs41
1 files changed, 7 insertions, 34 deletions
diff --git a/engine/src/windowing/window.rs b/engine/src/windowing/window.rs
index 7be2562..039d98a 100644
--- a/engine/src/windowing/window.rs
+++ b/engine/src/windowing/window.rs
@@ -1,8 +1,8 @@
use std::borrow::Cow;
-use crate::data_types::dimens::Dimens;
use crate::ecs::Component;
use crate::reflection::Reflection;
+use crate::windowing::dpi::PhysicalSize;
pub mod platform;
@@ -99,7 +99,7 @@ pub struct Window
pub title: String,
pub cursor_visible: bool,
pub cursor_grab_mode: CursorGrabMode,
- pub inner_size: Dimens<u32>,
+ pub inner_size: PhysicalSize<u32>,
wid: Id,
scale_factor: f64,
}
@@ -137,15 +137,15 @@ impl Window
winit_window.set_title(&self.title);
winit_window.set_cursor_visible(self.cursor_visible);
- let curr_inner_size = winit_window.inner_size();
+ let curr_inner_size = winit_window.inner_size().clone().into();
let inner_size_request_result = match winit_window
- .request_inner_size(winit::dpi::Size::Physical(self.inner_size.into()))
+ .request_inner_size(winit::dpi::Size::Physical(self.inner_size.clone().into()))
{
// The comparison of curr_inner_size is in case the user's windowing system
// lies about using the requested inner size
- None if curr_inner_size == self.inner_size.into() => Ok(()),
- None => Err(curr_inner_size.into()),
+ None if curr_inner_size == self.inner_size => Ok(()),
+ None => Err(curr_inner_size),
Some(inner_size) => Err(inner_size.into()),
};
@@ -154,11 +154,6 @@ impl Window
}
}
- pub(crate) fn set_inner_size(&mut self, inner_size: Dimens<u32>)
- {
- self.inner_size = inner_size;
- }
-
pub(crate) fn set_scale_factor(&mut self, scale_factor: f64)
{
self.scale_factor = scale_factor;
@@ -184,30 +179,8 @@ pub enum CursorGrabMode
/// A unique identifier for an X11 visual.
pub type XVisualID = u32;
-impl<P> From<winit::dpi::PhysicalSize<P>> for Dimens<P>
-{
- fn from(size: winit::dpi::PhysicalSize<P>) -> Self
- {
- Self {
- width: size.width,
- height: size.height,
- }
- }
-}
-
-impl<P> From<Dimens<P>> for winit::dpi::PhysicalSize<P>
-{
- fn from(dimens: Dimens<P>) -> Self
- {
- Self {
- width: dimens.width,
- height: dimens.height,
- }
- }
-}
-
#[derive(Debug)]
pub(crate) struct ApplyResults
{
- pub inner_size_request: Result<(), Dimens<u32>>,
+ pub inner_size_request: Result<(), PhysicalSize<u32>>,
}