[][src]Struct druid::Scale

pub struct Scale { /* fields omitted */ }

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]

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]

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]

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

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> AnyEq for T where
    T: PartialEq<T> + Any
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> RoundFrom<T> for T

impl<T, U> RoundInto<U> for T where
    U: RoundFrom<T>, 

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.