DRect

Struct DRect 

Source
pub struct DRect {
    pub px: PxRect,
    pub dp: AbsRect,
    pub rel: RelRect,
}
Expand description

Unified Display Rectangle with both per-pixel and display-independent pixels. Can be constructed by adding together any combination of PxRect, AbsRect or RelRect.

§Examples

use feather_ui::{DRect, AbsRect, PxRect, RelRect};
let foo: DRect = AbsRect::new(1.0,2.0,3.0,4.0).into();

let bar = AbsRect::new(1.0,2.0,3.0,4.0) + PxRect::new(1.0,2.0,3.0,4.0);

let baz = RelRect::new(1.0,2.0,3.0,4.0) + PxRect::new(1.0,2.0,3.0,4.0);

// These can be added together because bar turned into a `DRect` from adding `PxRect`
// and `AbsRect` together
let foobar = foo + bar;

let test = DRect{
    px: PxRect::new(1.0,2.0,3.0,4.0),
    dp: AbsRect::new(1.0,2.0,3.0,4.0),
    rel: RelRect::new(1.0,2.0,3.0,4.0),
};

let baztest = baz + test;

Fields§

§px: PxRect§dp: AbsRect§rel: RelRect

Implementations§

Source§

impl DRect

Source

pub fn topleft(&self) -> DPoint

Returns the top-left corner of the unified display rectangle as a unified display point.

Source

pub fn bottomright(&self) -> DPoint

Returns the bottom-right corner of the unified display rectangle. This is not the size of the rectangle! To get the actual size of the rectangle, you must subtract the top-left corner from the bottom-right corner, or call DRect::size which does this for you.

Source

pub fn size(&self) -> DPoint

Returns the size of the rectangle as a unified display point.

Source

pub const fn zero() -> Self

Returns a degenerate zero-sized rectangle.

Source

pub const fn fill() -> Self

Returns a DRect with a relative component mapped to the entire available area. This is often used for any element that should be the same size as it’s parent container.

Source

pub const fn auto() -> Self

Returns a DRect with two UNSIZED_AXIS, meaning they will be set to the size of the children of the element, or the element’s intrinsic size (or zero if it doesn’t have any).

Trait Implementations§

Source§

impl Add for DRect

Source§

type Output = DRect

The resulting type after applying the + operator.
Source§

fn add(self, rhs: DRect) -> Self::Output

Performs the + operation. Read more
Source§

impl Anchor for DRect

Source§

fn anchor(&self) -> &DPoint

Source§

impl Area for DRect

Source§

fn area(&self) -> &DRect

Source§

impl Clone for DRect

Source§

fn clone(&self) -> DRect

Returns a duplicate 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 Debug for DRect

Source§

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

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

impl Default for DRect

Source§

fn default() -> DRect

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

impl From<Rect<Logical>> for DRect

Source§

fn from(value: AbsRect) -> Self

Converts to this type from the input type.
Source§

impl From<Rect<Pixel>> for DRect

Source§

fn from(value: PxRect) -> Self

Converts to this type from the input type.
Source§

impl From<Rect<Relative>> for DRect

Source§

fn from(value: RelRect) -> Self

Converts to this type from the input type.
Source§

impl FromLua for DRect

Source§

fn from_lua(value: LuaValue, lua: &Lua) -> LuaResult<Self>

Performs the conversion.
Source§

impl Limits for DRect

Source§

fn limits(&self) -> &DLimits

Source§

impl Neg for DRect

Source§

type Output = DRect

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl Padding for DRect

Source§

impl PartialEq for DRect

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RLimits for DRect

Source§

impl Sub for DRect

Source§

type Output = DRect

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: DRect) -> Self::Output

Performs the - operation. Read more
Source§

impl ZIndex for DRect

Source§

fn zindex(&self) -> i32

Source§

impl Child for DRect

Source§

impl Copy for DRect

Source§

impl Empty for DRect

Source§

impl Padded for DRect

Source§

impl Prop for DRect

Source§

impl Prop for DRect

Source§

impl StructuralPartialEq for DRect

Auto Trait Implementations§

§

impl Freeze for DRect

§

impl RefUnwindSafe for DRect

§

impl Send for DRect

§

impl Sync for DRect

§

impl Unpin for DRect

§

impl UnwindSafe for DRect

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

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

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

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

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromLuaMulti for T
where T: FromLua,

Source§

fn from_lua_multi(values: MultiValue, lua: &Lua) -> Result<T, Error>

Performs the conversion. Read more
Source§

fn from_lua_args( args: MultiValue, i: usize, to: Option<&str>, lua: &Lua, ) -> Result<T, Error>

Source§

unsafe fn from_stack_multi(nvals: i32, lua: &RawLua) -> Result<T, Error>

Source§

unsafe fn from_stack_args( nargs: i32, i: usize, to: Option<&str>, lua: &RawLua, ) -> Result<T, Error>

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 T
where U: From<T>,

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

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

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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 T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

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

impl<T> MaybeSend for T

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,