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§

§

impl 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)

pub fn x(self) -> f64

Returns the x axis scale factor.

pub fn y(self) -> f64

Returns the y axis scale factor.

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.

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.

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§

§

impl Clone for Scale

§

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
§

impl Data for Scale

§

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

Determine whether two values are the same. Read more
§

impl Debug for Scale

§

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

Formats the value using the given formatter. Read more
§

impl Default for Scale

§

fn default() -> Scale

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

impl PartialEq<Scale> for Scale

§

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.
§

impl Copy for Scale

§

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
§

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

§

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

§

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.

§

impl<T> Instrument for T

§

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

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

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.

§

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

§

fn is_default(&self) -> bool

Checks that type has a default value.
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

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.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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