Struct iced_audio::native::mod_range_input::ModRangeInput
source · pub struct ModRangeInput<'a, Message, Renderer>where
Renderer: Renderer,
Renderer::Theme: StyleSheet,{ /* private fields */ }
Expand description
An interactive dot that controls an NormalParam
Implementations§
source§impl<'a, Message, Renderer> ModRangeInput<'a, Message, Renderer>where
Renderer: Renderer,
Renderer::Theme: StyleSheet,
impl<'a, Message, Renderer> ModRangeInput<'a, Message, Renderer>where Renderer: Renderer, Renderer::Theme: StyleSheet,
sourcepub fn new<F>(normal_param: NormalParam, on_change: F) -> Selfwhere
F: 'a + Fn(Normal) -> Message,
pub fn new<F>(normal_param: NormalParam, on_change: F) -> Selfwhere F: 'a + Fn(Normal) -> Message,
Creates a new ModRangeInput
.
It expects:
- the
NormalParam
of theModRangeInput
- a function that will be called when the
ModRangeInput
is turned.
sourcepub fn on_grab(self, on_grab: impl 'a + FnMut() -> Option<Message>) -> Self
pub fn on_grab(self, on_grab: impl 'a + FnMut() -> Option<Message>) -> Self
Sets the grab message of the ModRangeInput
.
This is called when the mouse grabs from the mod range input.
Typically, the user’s interaction with the mod range input starts when this message is produced. This is useful for some environments so that external changes, such as automation, don’t interfer with user’s changes.
sourcepub fn on_release(
self,
on_release: impl 'a + FnMut() -> Option<Message>
) -> Self
pub fn on_release( self, on_release: impl 'a + FnMut() -> Option<Message> ) -> Self
Sets the release message of the ModRangeInput
.
This is called when the mouse is released from the mod range input.
Typically, the user’s interaction with the mod range input is finished when this message is produced. This is useful if you need to spawn a long-running task from the mod range input’s result, where the default on_change message could create too many events.
sourcepub fn size(self, size: Length) -> Self
pub fn size(self, size: Length) -> Self
Sets the diameter of the ModRangeInput
. The default size is
Length::from(Length::Fixed(31))
.
sourcepub fn style(
self,
style: impl Into<<Renderer::Theme as StyleSheet>::Style>
) -> Self
pub fn style( self, style: impl Into<<Renderer::Theme as StyleSheet>::Style> ) -> Self
Sets the style of the ModRangeInput
.
sourcepub fn scalar(self, scalar: f32) -> Self
pub fn scalar(self, scalar: f32) -> Self
Sets how much the Normal
value will change for the ModRangeInput
per y
pixel movement of the mouse.
The default value is 0.001925
sourcepub fn wheel_scalar(self, wheel_scalar: f32) -> Self
pub fn wheel_scalar(self, wheel_scalar: f32) -> Self
Sets how much the Normal
value will change for the ModRangeInput
per line scrolled
by the mouse wheel.
This can be set to 0.0
to disable the scroll wheel from moving the parameter.
The default value is 0.005
sourcepub fn modifier_keys(self, modifier_keys: Modifiers) -> Self
pub fn modifier_keys(self, modifier_keys: Modifiers) -> Self
Sets the modifier keys of the ModRangeInput
.
The default modifier key is Ctrl
.
sourcepub fn modifier_scalar(self, scalar: f32) -> Self
pub fn modifier_scalar(self, scalar: f32) -> Self
Sets the scalar to use when the user drags the ModRangeInputs while holding down
the modifier key. This is multiplied to the value set by
ModRangeInput::scalar()
(which the default is 0.001925
).
For example, a modifier_scalar
of 0.5
will cause the ModRangeInput to turn
half as fast when the modifier key is down.
The default modifier_scalar
is 0.02
, and the default modifier key
is Ctrl
.
Trait Implementations§
source§impl<'a, Message, Renderer> From<ModRangeInput<'a, Message, Renderer>> for Element<'a, Message, Renderer>where
Message: 'a,
Renderer: 'a + Renderer,
Renderer::Theme: 'a + StyleSheet,
impl<'a, Message, Renderer> From<ModRangeInput<'a, Message, Renderer>> for Element<'a, Message, Renderer>where Message: 'a, Renderer: 'a + Renderer, Renderer::Theme: 'a + StyleSheet,
source§fn from(
mod_range_input: ModRangeInput<'a, Message, Renderer>
) -> Element<'a, Message, Renderer>
fn from( mod_range_input: ModRangeInput<'a, Message, Renderer> ) -> Element<'a, Message, Renderer>
source§impl<'a, Message, Renderer> Widget<Message, Renderer> for ModRangeInput<'a, Message, Renderer>where
Renderer: Renderer,
Renderer::Theme: StyleSheet,
impl<'a, Message, Renderer> Widget<Message, Renderer> for ModRangeInput<'a, Message, Renderer>where Renderer: Renderer, Renderer::Theme: StyleSheet,
source§fn on_event(
&mut self,
state: &mut Tree,
event: Event,
layout: Layout<'_>,
cursor_position: Point,
_renderer: &Renderer,
_clipboard: &mut dyn Clipboard,
shell: &mut Shell<'_, Message>
) -> Status
fn on_event( &mut self, state: &mut Tree, event: Event, layout: Layout<'_>, cursor_position: Point, _renderer: &Renderer, _clipboard: &mut dyn Clipboard, shell: &mut Shell<'_, Message> ) -> Status
source§fn draw(
&self,
state: &Tree,
renderer: &mut Renderer,
theme: &Renderer::Theme,
_style: &Style,
layout: Layout<'_>,
cursor_position: Point,
_viewport: &Rectangle
)
fn draw( &self, state: &Tree, renderer: &mut Renderer, theme: &Renderer::Theme, _style: &Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle )
Widget
using the associated Renderer
.source§fn operate(
&self,
_state: &mut Tree,
_layout: Layout<'_>,
_renderer: &Renderer,
_operation: &mut dyn Operation<Message>
)
fn operate( &self, _state: &mut Tree, _layout: Layout<'_>, _renderer: &Renderer, _operation: &mut dyn Operation<Message> )
source§fn mouse_interaction(
&self,
_state: &Tree,
_layout: Layout<'_>,
_cursor_position: Point,
_viewport: &Rectangle<f32>,
_renderer: &Renderer
) -> Interaction
fn mouse_interaction( &self, _state: &Tree, _layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle<f32>, _renderer: &Renderer ) -> Interaction
Auto Trait Implementations§
impl<'a, Message, Renderer> !RefUnwindSafe for ModRangeInput<'a, Message, Renderer>
impl<'a, Message, Renderer> !Send for ModRangeInput<'a, Message, Renderer>
impl<'a, Message, Renderer> !Sync for ModRangeInput<'a, Message, Renderer>
impl<'a, Message, Renderer> Unpin for ModRangeInput<'a, Message, Renderer>where <<Renderer as Renderer>::Theme as StyleSheet>::Style: Unpin,
impl<'a, Message, Renderer> !UnwindSafe for ModRangeInput<'a, Message, Renderer>
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: FloatComponent,
Swp: WhitePoint,
Dwp: WhitePoint,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere T: FloatComponent, Swp: WhitePoint, Dwp: WhitePoint, D: AdaptFrom<S, Swp, Dwp, T>,
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere M: TransformMatrix<Swp, Dwp, T>,
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
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, 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
§impl<T> Pointable for T
impl<T> Pointable for T
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