Skip to main content

SegmentSlots

Struct SegmentSlots 

Source
pub struct SegmentSlots(/* private fields */);
Expand description

Shared handle to the geometry the widget publishes each layout pass and the chrome reads at paint time.

The widget’s place_children always runs before its children paint, so a chrome reading this during paint always sees the current pass’s values. Before the first layout it is empty, and the chrome must treat that as “nothing to draw” rather than as an error.

Implementations§

Source§

impl SegmentSlots

Source

pub fn new() -> Self

An empty handle, as produced before the first layout pass.

Source

pub fn publish(&self, geometry: SegmentSlotGeometry)

Replace the published geometry. Called from the widget’s place_children.

Source

pub fn with<R>(&self, f: impl FnOnce(&SegmentSlotGeometry) -> R) -> R

Read the published geometry.

Source

pub fn slot_of(&self, segment: usize) -> Option<usize>

The slot a live segment currently occupies, if it is on the strip. Returns None for a segment that overflowed into the menu.

Source

pub fn rect_of(&self, segment: usize) -> Option<Rect>

The rectangle a live segment currently occupies, if any.

Source

pub fn len(&self) -> usize

Number of visible slots.

Source

pub fn is_empty(&self) -> bool

Whether the strip currently shows no segments at all.

Trait Implementations§

Source§

impl Clone for SegmentSlots

Source§

fn clone(&self) -> SegmentSlots

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 Debug for SegmentSlots

Source§

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

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

impl Default for SegmentSlots

Source§

fn default() -> SegmentSlots

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

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<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> 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> 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 = !

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.