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>
impl<'a> NumberStepperFace<'a>
pub fn new(rect: Rect, value: &'a str) -> 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>
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>
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>
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>
pub fn hovered(self, part: Option<StepperPart>) -> NumberStepperFace<'a>
The button under the pointer.
pub fn disabled(self, disabled: bool) -> NumberStepperFace<'a>
pub fn disabled(self, disabled: bool) -> NumberStepperFace<'a>
Unavailable: painted under the disabled alpha.
pub fn height(size: ControlSize, theme: &Theme) -> f64
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
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 value_rect(&self) -> Rect
pub fn value_rect(&self) -> Rect
The run between the steppers where the value sits.
pub fn hit_rects(&self, theme: &Theme) -> (Rect, Rect)
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>
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<'_>)
pub fn paint_steppers(&self, ctx: &mut PaintCtx<'_>)
Paint the two steppers.
pub fn paint_value(&self, ctx: &mut PaintCtx<'_>)
pub fn paint_value(&self, ctx: &mut PaintCtx<'_>)
Paint the value centred between the steppers, in the size’s label type with tabular figures.
Trait Implementations§
§impl<'a> Clone for NumberStepperFace<'a>
impl<'a> Clone for NumberStepperFace<'a>
§fn clone(&self) -> NumberStepperFace<'a>
fn clone(&self) -> NumberStepperFace<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl<'a> Debug for NumberStepperFace<'a>
impl<'a> Debug for NumberStepperFace<'a>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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