Trait SliderValue

Source
pub trait SliderValue:
    Copy
    + Debug
    + PartialOrd
    + Add<Output = Self>
    + Sub<Output = Self>
    + 'static {
    // Required methods
    fn default_step() -> Self;
    fn div_as_f64(self, rhs: Self) -> f64;
    fn mul_f64(self, scalar: f64) -> Self;
}
Expand description

Requirements on type used by Slider

Implementations are provided for standard float and integer types.

Required Methods§

Source

fn default_step() -> Self

The default step size (usually 1)

Source

fn div_as_f64(self, rhs: Self) -> f64

Divide self by another instance of this type, returning an f64

Note: in practice, we always have rhs >= self and expect the result to be between 0 and 1.

Source

fn mul_f64(self, scalar: f64) -> Self

Return the result of multiplying self by an f64 scalar

Note: the scalar is expected to be between 0 and 1, hence this operation should not produce a value larger than self.

Also note that this method is not required to preserve precision (e.g. u128::mul_64 may drop some low-order bits with large numbers).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl SliderValue for f32

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for f64

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for i8

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for i16

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for i32

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for i64

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for i128

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for isize

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for u8

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for u16

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for u32

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for u64

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for u128

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for usize

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Source§

impl SliderValue for Duration

Implement for Duration

The default step size is 1 second.

Source§

fn default_step() -> Self

Source§

fn div_as_f64(self, rhs: Self) -> f64

Source§

fn mul_f64(self, scalar: f64) -> Self

Implementors§