Struct druid::Scale

source ·
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

source

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)

source

pub fn x(self) -> f64

Returns the x axis scale factor.

source

pub fn y(self) -> f64

Returns the y axis scale factor.

source

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.

source

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.

source

pub fn px_to_dp_xy<T>(self, x: T, y: T) -> (f64, f64)where 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§

source§

impl Clone for Scale

source§

fn clone(&self) -> Scale

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Data for Scale

source§

fn same(&self, other: &Self) -> bool

Determine whether two values are the same. Read more
source§

impl Debug for Scale

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Default for Scale

source§

fn default() -> Scale

Returns the “default value” for a type. Read more
source§

impl PartialEq<Scale> for Scale

source§

fn eq(&self, other: &Scale) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for Scale

source§

impl StructuralPartialEq for Scale

Auto Trait Implementations§

§

impl RefUnwindSafe for Scale

§

impl Send for Scale

§

impl Sync for Scale

§

impl Unpin for Scale

§

impl UnwindSafe for Scale

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AnyEq for Twhere T: Any + PartialEq<T>,

source§

fn equals(&self, other: &(dyn Any + 'static)) -> bool

source§

fn as_any(&self) -> &(dyn Any + 'static)

source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IsDefault for Twhere T: Default + PartialEq<T> + Copy,

source§

fn is_default(&self) -> bool

Checks that type has a default value.
§

impl<T> RoundFrom<T> for T

§

fn round_from(x: T) -> T

Performs the conversion.
§

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

§

fn round_into(self) -> U

Performs the conversion.
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more