pub struct SliderState<T>where
T: RangeOp<Step: Copy + Debug> + MapRange<u16> + Debug + Default + Copy + PartialEq,
u16: MapRange<T>,{Show 15 fields
pub area: Rect,
pub inner: Rect,
pub lower_bound: Rect,
pub upper_bound: Rect,
pub track: Rect,
pub knob: Rect,
pub scale_len: u16,
pub direction: Direction,
pub range: (T, T),
pub step: <T as RangeOp>::Step,
pub long_step: Option<<T as RangeOp>::Step>,
pub value: T,
pub focus: FocusFlag,
pub mouse: MouseFlags,
pub non_exhaustive: NonExhaustive,
}Expand description
State.
Fields§
§area: RectComplete area read only. renewed for each render.
inner: RectArea inside the block without padding due to alignment. read only. renewed for each render.
lower_bound: RectLower bounds area. read only. renewed for each render.
upper_bound: RectUpper bounds area. read only. renewed for each render.
track: RectTrack char. read only. renewed for each render.
knob: RectKnob text read only. renewed for each render.
scale_len: u16Length of the track without the knob
direction: DirectionDirection read only. renewed for each render.
range: (T, T)Value range
step: <T as RangeOp>::StepMinor step.
long_step: Option<<T as RangeOp>::Step>Major step.
value: TValue
focus: FocusFlagCurrent focus state. read+write
mouse: MouseFlagsMouse helper read+write
non_exhaustive: NonExhaustiveImplementations§
Source§impl<T> SliderState<T>
impl<T> SliderState<T>
Sourcepub fn new_range(range: (T, T), step: T::Step) -> Self
pub fn new_range(range: (T, T), step: T::Step) -> Self
New state with a given range and step.
The range will still be overridden when set with the Widget.
Sourcepub fn set_value(&mut self, value: T) -> bool
pub fn set_value(&mut self, value: T) -> bool
Set the value.
Any value you set is good, there will be no bounds check. Without user interaction the same value will be returned by value().
Sourcepub fn set_long_step(&mut self, step: T::Step)
pub fn set_long_step(&mut self, step: T::Step)
Major step size.
Sourcepub fn next_major(&mut self) -> bool
pub fn next_major(&mut self) -> bool
Next value by one major step.
Sourcepub fn prev_major(&mut self) -> bool
pub fn prev_major(&mut self) -> bool
Previous value by one major step.
Sourcepub fn clicked_at(&mut self, x: u16, y: u16) -> bool
pub fn clicked_at(&mut self, x: u16, y: u16) -> bool
Clicked in the range or at the boundary. Transforms the relative screen position to a value.
Trait Implementations§
Source§impl<T> Clone for SliderState<T>
impl<T> Clone for SliderState<T>
Source§impl<T> Debug for SliderState<T>
impl<T> Debug for SliderState<T>
Source§impl Default for SliderState<f32>
impl Default for SliderState<f32>
Source§impl Default for SliderState<f64>
impl Default for SliderState<f64>
Source§impl Default for SliderState<i16>
impl Default for SliderState<i16>
Source§impl Default for SliderState<i32>
impl Default for SliderState<i32>
Source§impl Default for SliderState<i64>
impl Default for SliderState<i64>
Source§impl Default for SliderState<i8>
impl Default for SliderState<i8>
Source§impl Default for SliderState<isize>
impl Default for SliderState<isize>
Source§impl Default for SliderState<u16>
impl Default for SliderState<u16>
Source§impl Default for SliderState<u32>
impl Default for SliderState<u32>
Source§impl Default for SliderState<u64>
impl Default for SliderState<u64>
Source§impl Default for SliderState<u8>
impl Default for SliderState<u8>
Source§impl Default for SliderState<usize>
impl Default for SliderState<usize>
Source§impl<T> HandleEvent<Event, MouseOnly, SliderOutcome> for SliderState<T>
impl<T> HandleEvent<Event, MouseOnly, SliderOutcome> for SliderState<T>
Source§impl<T> HandleEvent<Event, Regular, SliderOutcome> for SliderState<T>
impl<T> HandleEvent<Event, Regular, SliderOutcome> for SliderState<T>
Source§impl<T> HasFocus for SliderState<T>
impl<T> HasFocus for SliderState<T>
Source§fn build(&self, builder: &mut FocusBuilder)
fn build(&self, builder: &mut FocusBuilder)
Source§fn is_focused(&self) -> bool
fn is_focused(&self) -> bool
Source§fn lost_focus(&self) -> bool
fn lost_focus(&self) -> bool
Source§fn gained_focus(&self) -> bool
fn gained_focus(&self) -> bool
Source§impl<T> RelocatableState for SliderState<T>
impl<T> RelocatableState for SliderState<T>
Auto Trait Implementations§
impl<T> !Freeze for SliderState<T>
impl<T> !RefUnwindSafe for SliderState<T>
impl<T> !Send for SliderState<T>
impl<T> !Sync for SliderState<T>
impl<T> Unpin for SliderState<T>
impl<T> !UnwindSafe for SliderState<T>
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
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 moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more