Implement an opaque Size type
It immutably ties physical and logical sizes to a specific scale factor.
This commit is contained in:
parent
1d71f78f90
commit
fbc9deb424
3 changed files with 55 additions and 32 deletions
30
winit/src/size.rs
Normal file
30
winit/src/size.rs
Normal file
|
|
@ -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
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue