pub struct Scale { /* private fields */ }
Expand description
Coordinate scaling between pixels and display points.
This holds the platform scale factors.
Pixels and Display Points
A pixel (px) represents the smallest controllable area of color on the platform.
A display point (dp) is a resolution independent logical unit.
When developing your application you should primarily be thinking in display points.
These display points will be automatically converted into pixels under the hood.
One pixel is equal to one display point when the platform scale factor is 1.0
.
Read more about pixels and display points in the Druid book.
Converting with Scale
To translate coordinates between pixels and display points you should use one of the
helper conversion methods of Scale
or for manual conversion x
/ y
.
Scale
is designed for responsive applications, including responding to platform scale changes.
The platform scale can change quickly, e.g. when moving a window from one monitor to another.
A copy of Scale
will be stale as soon as the platform scale changes.
Implementations§
source§impl Scale
impl Scale
sourcepub fn new(x: f64, y: f64) -> Scale
pub fn new(x: f64, y: f64) -> Scale
Create a new Scale
based on the specified axis factors.
Units: none (scale relative to “standard” scale)
sourcepub fn px_to_dp_x<T>(self, x: T) -> f64where
T: Into<f64>,
pub fn px_to_dp_x<T>(self, x: T) -> f64where T: Into<f64>,
Converts from pixels into display points, using the x axis scale factor.
sourcepub fn px_to_dp_y<T>(self, y: T) -> f64where
T: Into<f64>,
pub fn px_to_dp_y<T>(self, y: T) -> f64where T: Into<f64>,
Converts from pixels into display points, using the y axis scale factor.