Skip to main content

SliverPhysicalParentData

Struct SliverPhysicalParentData 

Source
pub struct SliverPhysicalParentData {
    pub paint_offset: Offset,
    pub cross_axis_flex: Option<i32>,
}
Expand description

Parent data structure used by parents of slivers that position their children using absolute coordinates.

For example, used by crate::RenderViewport.

This data structure is optimized for fast painting, at the cost of requiring additional work during layout when the children change their offsets. It is best used by parents that expect to have few children, especially if those children will themselves be very tall relative to the parent.

Fields§

§paint_offset: Offset

The position of the child relative to the parent.

This is the distance from the top left visible corner of the parent to the top left visible corner of the sliver.

§cross_axis_flex: Option<i32>

The cross axis flex factor to use for this sliver child.

If used outside of a SliverCrossAxisGroup widget, this value has no meaning.

If None or zero, the child is inflexible and determines its own size in the cross axis. If non-zero, the amount of space the child can occupy in the cross axis is determined by dividing the free space (after placing the inflexible children) according to the flex factors of the flexible children.

Implementations§

Source§

impl SliverPhysicalParentData

Source

pub const fn new() -> SliverPhysicalParentData

Creates parent data with a zero paint offset.

Source

pub fn apply_paint_transform(&self, transform: &mut Matrix4)

Apply the paint_offset to the given transform.

Used to implement RenderObject::apply_paint_transform by slivers that use SliverPhysicalParentData.

Trait Implementations§

Source§

impl Clone for SliverPhysicalParentData

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for SliverPhysicalParentData

Source§

impl Debug for SliverPhysicalParentData

Source§

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

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

impl Default for SliverPhysicalParentData

Source§

fn default() -> SliverPhysicalParentData

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

impl Display for SliverPhysicalParentData

Source§

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

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

impl ParentData for SliverPhysicalParentData

Source§

fn provide(&self, id: TypeId) -> Option<&dyn Any>

The half of this parent data whose type is id, if it embeds one. Read more
Source§

fn provide_mut(&mut self, id: TypeId) -> Option<&mut dyn Any>

See provide; mirrors it exactly.
Source§

fn detach(&mut self)

Called when the render object is removed from the tree.

Auto Trait Implementations§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

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