[−][src]Struct druid::Scale
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
impl Scale
[src]
pub fn new(x: f64, y: f64) -> Scale
[src]
Create a new Scale
based on the specified axis factors.
Units: none (scale relative to "standard" scale)
pub fn x(self) -> f64
[src]
Returns the x axis scale factor.
pub fn y(self) -> f64
[src]
Returns the y axis scale factor.
pub fn px_to_dp_x<T>(self, x: T) -> f64 where
T: Into<f64>,
[src]
T: Into<f64>,
Converts from pixels into display points, using the x axis scale factor.
pub fn px_to_dp_y<T>(self, y: T) -> f64 where
T: Into<f64>,
[src]
T: Into<f64>,
Converts from pixels into display points, using the y axis scale factor.
pub fn px_to_dp_xy<T>(self, x: T, y: T) -> (f64, f64) where
T: Into<f64>,
[src]
T: Into<f64>,
Converts from pixels into display points,
using the x axis scale factor for x
and the y axis scale factor for y
.
Trait Implementations
impl Clone for Scale
[src]
impl Copy for Scale
[src]
impl Data for Scale
[src]
impl Debug for Scale
[src]
impl Default for Scale
[src]
impl PartialEq<Scale> for Scale
[src]
impl StructuralPartialEq for Scale
[src]
Auto Trait Implementations
impl RefUnwindSafe for Scale
[src]
impl Send for Scale
[src]
impl Sync for Scale
[src]
impl Unpin for Scale
[src]
impl UnwindSafe for Scale
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> AnyEq for T where
T: PartialEq<T> + Any,
[src]
T: PartialEq<T> + Any,
pub fn equals(&self, other: &(dyn Any + 'static)) -> bool
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> RoundFrom<T> for T
pub fn round_from(x: T) -> T
impl<T, U> RoundInto<U> for T where
U: RoundFrom<T>,
U: RoundFrom<T>,
pub fn round_into(self) -> U
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,