diff options
author | 2020-01-09 04:22:27 +0100 | |
---|---|---|
committer | 2020-02-07 23:50:10 -0500 | |
commit | fbc9deb424b0bfbc1ae7c7ee89ba08fecd049b2a (patch) | |
tree | 18aa49a724ce203b8772351925392271546dfdc1 /winit/src/size.rs | |
parent | 1d71f78f906dc74aa3d724dd09cb6c6225686d76 (diff) | |
download | iced-fbc9deb424b0bfbc1ae7c7ee89ba08fecd049b2a.tar.gz iced-fbc9deb424b0bfbc1ae7c7ee89ba08fecd049b2a.tar.bz2 iced-fbc9deb424b0bfbc1ae7c7ee89ba08fecd049b2a.zip |
Implement an opaque `Size` type
It immutably ties physical and logical sizes to a specific scale factor.
Diffstat (limited to 'winit/src/size.rs')
-rw-r--r-- | winit/src/size.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/winit/src/size.rs b/winit/src/size.rs new file mode 100644 index 00000000..7e3056d4 --- /dev/null +++ b/winit/src/size.rs @@ -0,0 +1,30 @@ +pub struct Size { + physical: winit::dpi::PhysicalSize<u32>, + logical: winit::dpi::LogicalSize<f64>, + scale_factor: f64, +} + +impl Size { + pub fn new( + physical: winit::dpi::PhysicalSize<u32>, + scale_factor: f64, + ) -> Size { + Size { + logical: physical.to_logical(scale_factor), + physical, + scale_factor, + } + } + + pub fn physical(&self) -> winit::dpi::PhysicalSize<u32> { + self.physical + } + + pub fn logical(&self) -> winit::dpi::LogicalSize<f64> { + self.logical + } + + pub fn scale_factor(&self) -> f64 { + self.scale_factor + } +} |