zng_unit

Type Alias DipSideOffsets

Source
pub type DipSideOffsets = SideOffsets2D<Dip, Dip>;
Expand description

Side-offsets in device independent pixels.

Aliased Type§

struct DipSideOffsets {
    pub top: Dip,
    pub right: Dip,
    pub bottom: Dip,
    pub left: Dip,
    /* private fields */
}

Fields§

§top: Dip

Top offset.

§right: Dip

Right offset.

§bottom: Dip

Bottom offset.

§left: Dip

Left offset.

Implementations

Source§

impl<T, U> SideOffsets2D<T, U>

Source

pub const fn new(top: T, right: T, bottom: T, left: T) -> Self

Constructor taking a scalar for each side.

Sides are specified in top-right-bottom-left order following CSS’s convention.

Source

pub fn from_vectors_outer(min: Vector2D<T, U>, max: Vector2D<T, U>) -> Self
where T: Neg<Output = T>,

Construct side offsets from min and a max vector offsets.

The outer rect of the resulting side offsets is equivalent to translating a rectangle’s upper-left corner with the min vector and translating the bottom-right corner with the max vector.

Source

pub fn from_vectors_inner(min: Vector2D<T, U>, max: Vector2D<T, U>) -> Self
where T: Neg<Output = T>,

Construct side offsets from min and a max vector offsets.

The inner rect of the resulting side offsets is equivalent to translating a rectangle’s upper-left corner with the min vector and translating the bottom-right corner with the max vector.

Source

pub fn zero() -> Self
where T: Zero,

Constructor, setting all sides to zero.

Source

pub fn is_zero(&self) -> bool
where T: Zero + PartialEq,

Returns true if all side offsets are zero.

Source

pub fn new_all_same(all: T) -> Self
where T: Copy,

Constructor setting the same value to all sides, taking a scalar value directly.

Source

pub fn horizontal(&self) -> T
where T: Copy + Add<T, Output = T>,

Left + right.

Source

pub fn vertical(&self) -> T
where T: Copy + Add<T, Output = T>,

Top + bottom.

Trait Implementations§

Source§

impl DipToPx for DipSideOffsets

Source§

type AsPx = SideOffsets2D<Px, Px>

Self equivalent in Px units.
Source§

fn to_px(self, scale_factor: Factor) -> Self::AsPx

Multiply the Dip self by the scale.
Source§

impl<T, U> Add for SideOffsets2D<T, U>
where T: Add<T, Output = T>,

Source§

type Output = SideOffsets2D<T, U>

The resulting type after applying the + operator.
Source§

fn add(self, other: Self) -> Self

Performs the + operation. Read more
Source§

impl<T, U> AddAssign for SideOffsets2D<T, U>
where T: AddAssign<T>,

Source§

fn add_assign(&mut self, other: Self)

Performs the += operation. Read more
Source§

impl<T: Clone, U> Clone for SideOffsets2D<T, U>

Source§

fn clone(&self) -> Self

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<T: Debug, U> Debug for SideOffsets2D<T, U>

Source§

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

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

impl<T: Default, U> Default for SideOffsets2D<T, U>

Source§

fn default() -> Self

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

impl<'de, T, U> Deserialize<'de> for SideOffsets2D<T, U>
where T: Deserialize<'de>,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<T: Copy + Div, U1, U2> Div<Scale<T, U1, U2>> for SideOffsets2D<T, U2>

Source§

type Output = SideOffsets2D<<T as Div>::Output, U1>

The resulting type after applying the / operator.
Source§

fn div(self, scale: Scale<T, U1, U2>) -> Self::Output

Performs the / operation. Read more
Source§

impl<T: Copy + Div, U> Div<T> for SideOffsets2D<T, U>

Source§

type Output = SideOffsets2D<<T as Div>::Output, U>

The resulting type after applying the / operator.
Source§

fn div(self, scale: T) -> Self::Output

Performs the / operation. Read more
Source§

impl<T: Copy + DivAssign, U> DivAssign<Scale<T, U, U>> for SideOffsets2D<T, U>

Source§

fn div_assign(&mut self, other: Scale<T, U, U>)

Performs the /= operation. Read more
Source§

impl<T: Copy + DivAssign, U> DivAssign<T> for SideOffsets2D<T, U>

Source§

fn div_assign(&mut self, other: T)

Performs the /= operation. Read more
Source§

impl<T, U> From<SideOffsets2D<T, U>> for SideOffsets2D<T, U>

Source§

fn from(value: SideOffsets2D<T, U>) -> Self

Converts to this type from the input type.
Source§

impl<T, U> Hash for SideOffsets2D<T, U>
where T: Hash,

Source§

fn hash<H: Hasher>(&self, h: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<T: Copy + Mul, U1, U2> Mul<Scale<T, U1, U2>> for SideOffsets2D<T, U1>

Source§

type Output = SideOffsets2D<<T as Mul>::Output, U2>

The resulting type after applying the * operator.
Source§

fn mul(self, scale: Scale<T, U1, U2>) -> Self::Output

Performs the * operation. Read more
Source§

impl<T: Copy + Mul, U> Mul<T> for SideOffsets2D<T, U>

Source§

type Output = SideOffsets2D<<T as Mul>::Output, U>

The resulting type after applying the * operator.
Source§

fn mul(self, scale: T) -> Self::Output

Performs the * operation. Read more
Source§

impl<T: Copy + MulAssign, U> MulAssign<Scale<T, U, U>> for SideOffsets2D<T, U>

Source§

fn mul_assign(&mut self, other: Scale<T, U, U>)

Performs the *= operation. Read more
Source§

impl<T: Copy + MulAssign, U> MulAssign<T> for SideOffsets2D<T, U>

Source§

fn mul_assign(&mut self, other: T)

Performs the *= operation. Read more
Source§

impl<T, U> Neg for SideOffsets2D<T, U>
where T: Neg<Output = T>,

Source§

type Output = SideOffsets2D<T, U>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self

Performs the unary - operation. Read more
Source§

impl<T, U> PartialEq for SideOffsets2D<T, U>
where T: PartialEq,

Source§

fn eq(&self, other: &Self) -> 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<T, U> Serialize for SideOffsets2D<T, U>
where T: Serialize,

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<T, U> Sub for SideOffsets2D<T, U>
where T: Sub<T, Output = T>,

Source§

type Output = SideOffsets2D<T, U>

The resulting type after applying the - operator.
Source§

fn sub(self, other: Self) -> Self

Performs the - operation. Read more
Source§

impl<T, U> SubAssign for SideOffsets2D<T, U>
where T: SubAssign<T>,

Source§

fn sub_assign(&mut self, other: Self)

Performs the -= operation. Read more
Source§

impl<T: Copy, U> Copy for SideOffsets2D<T, U>

Source§

impl<T, U> Eq for SideOffsets2D<T, U>
where T: Eq,