Skip to main content

NumberStepperFace

Struct NumberStepperFace 

pub struct NumberStepperFace<'a> { /* private fields */ }
Expand description

Immediate-mode number stepper: − value +, the face of a NumberInput. Inline (the default) it is the toolbar stepper of NumberInput::compact, bare steppers either side of the value; Self::framed gives the secondary steppers of the framed control, whose value the host’s field draws.

The steppers are squares of the rect’s height at either end; read their geometry from Self::steppers and their pointer targets from Self::hit_rects, so a painted host hit-tests what it painted.

Implementations§

§

impl<'a> NumberStepperFace<'a>

pub fn new(rect: Rect, value: &'a str) -> NumberStepperFace<'a>

An inline stepper in rect showing value (already formatted: a number and its unit, or the host’s own terms such as a clock time).

pub fn names( self, decrease: &'a str, increase: &'a str, ) -> NumberStepperFace<'a>

What the two buttons are called for assistive technology and tooltips, when “Decrease” and “Increase” say less than the host’s own words (“Earlier”, “Later”).

pub fn control_size(self, size: ControlSize) -> NumberStepperFace<'a>

The control size the steppers and the value are set in.

pub fn framed(self) -> NumberStepperFace<'a>

The framed control’s secondary steppers; the value is the host’s field, not painted here.

pub fn hovered(self, part: Option<StepperPart>) -> NumberStepperFace<'a>

The button under the pointer.

pub fn disabled(self, disabled: bool) -> NumberStepperFace<'a>

Unavailable: painted under the disabled alpha.

pub fn height(size: ControlSize, theme: &Theme) -> f64

The control’s height in theme.

pub fn width( size: ControlSize, values: &[&str], text: &mut TextRenderer, theme: &Theme, ) -> f64

The width an inline stepper of size needs so each of values fits between its steppers without the control changing width as it steps. Pass the widest values it can show ("00:00" and "Now").

pub fn steppers(&self) -> (Rect, Rect)

The − and + button faces: squares of the rect’s height.

pub fn value_rect(&self) -> Rect

The run between the steppers where the value sits.

pub fn hit_rects(&self, theme: &Theme) -> (Rect, Rect)

Where a pointer presses each button: its face grown to the minimum target about its centre.

pub fn part_at(&self, theme: &Theme, point: Point) -> Option<StepperPart>

The button under point, by its pointer target.

pub fn paint_steppers(&self, ctx: &mut PaintCtx<'_>)

Paint the two steppers.

pub fn paint_value(&self, ctx: &mut PaintCtx<'_>)

Paint the value centred between the steppers, in the size’s label type with tabular figures.

pub fn paint(&self, ctx: &mut PaintCtx<'_>)

Paint the whole stepper: the steppers and, inline, the value.

Trait Implementations§

§

impl<'a> Clone for NumberStepperFace<'a>

§

fn clone(&self) -> NumberStepperFace<'a>

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
§

impl<'a> Debug for NumberStepperFace<'a>

§

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

Formats the value using the given formatter. Read more
§

impl<'a> Copy for NumberStepperFace<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for NumberStepperFace<'a>

§

impl<'a> RefUnwindSafe for NumberStepperFace<'a>

§

impl<'a> Send for NumberStepperFace<'a>

§

impl<'a> Sync for NumberStepperFace<'a>

§

impl<'a> Unpin for NumberStepperFace<'a>

§

impl<'a> UnsafeUnpin for NumberStepperFace<'a>

§

impl<'a> UnwindSafe for NumberStepperFace<'a>

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
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

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

§

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

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

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

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

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

§

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

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

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

impl<T> Pointable for T

§

const ALIGN: usize

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

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

§

fn simd_from(_simd: S, value: T) -> T

§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

§

fn simd_into(self, simd: S) -> T

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

impl<T> Upcast<T> for T

§

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

§

impl<V, T> VZip<V> for T
where 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
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> Fruit for T
where T: Send + Downcast,

§

impl<T> MaybeSendSync for T
where T: Send + Sync + ?Sized,

§

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

§

impl<T> WasmNotSendSync for T

§

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