Struct iced_audio::native::knob::Knob

source ·
pub struct Knob<'a, Message, Renderer>where
    Renderer: Renderer,
    Renderer::Theme: StyleSheet,{ /* private fields */ }
Expand description

A rotating knob GUI widget that controls a NormalParam

Implementations§

source§

impl<'a, Message, Renderer> Knob<'a, Message, Renderer>where Renderer: Renderer, Renderer::Theme: StyleSheet,

source

pub fn new<F>(normal_param: NormalParam, on_change: F) -> Selfwhere F: 'a + Fn(Normal) -> Message,

Creates a new Knob.

It expects:

source

pub fn on_grab(self, on_grab: impl 'a + FnMut() -> Option<Message>) -> Self

Sets the grab message of the Knob. This is called when the mouse grabs from the knob.

Typically, the user’s interaction with the knob 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.

source

pub fn on_release( self, on_release: impl 'a + FnMut() -> Option<Message> ) -> Self

Sets the release message of the Knob. This is called when the mouse is released from the knob.

Typically, the user’s interaction with the knob is finished when this message is produced. This is useful if you need to spawn a long-running task from the knob’s result, where the default on_change message could create too many events.

source

pub fn size(self, size: Length) -> Self

Sets the diameter of the Knob. The default size is Length::from(Length::Fixed(31)).

source

pub fn style( self, style: impl Into<<Renderer::Theme as StyleSheet>::Style> ) -> Self

Sets the style of the Knob.

source

pub fn scalar(self, scalar: f32) -> Self

Sets how much the Normal value will change for the Knob per y pixel movement of the mouse.

The default value is 0.00385

source

pub fn wheel_scalar(self, wheel_scalar: f32) -> Self

Sets how much the Normal value will change for the Knob 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.01

source

pub fn modifier_keys(self, modifier_keys: Modifiers) -> Self

Sets the modifier keys of the Knob.

The default modifier key is Ctrl.

source

pub fn modifier_scalar(self, scalar: f32) -> Self

Sets the scalar to use when the user drags the knobs while holding down the modifier key. This is multiplied to the value set by Knob::scalar() (which the default is 0.00385).

For example, a modifier_scalar of 0.5 will cause the knob 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.

source

pub fn tick_marks(self, tick_marks: &'a Group) -> Self

Sets the tick marks to display. Note your StyleSheet must also implement tick_marks_style(&self) -> Option<tick_marks::Style> for them to display (which the default style does).

source

pub fn text_marks(self, text_marks: &'a Group) -> Self

Sets the text marks to display. Note your StyleSheet must also implement text_marks_style(&self) -> Option<text_marks::Style> for them to display (which the default style does).

source

pub fn mod_range(self, mod_range: &'a ModulationRange) -> Self

Sets a ModulationRange to display. Note your StyleSheet must also implement mod_range_style(&self) -> Option<ModRangeStyle> for them to display.

source

pub fn mod_range_2(self, mod_range: &'a ModulationRange) -> Self

Sets a second ModulationRange to display. Note your StyleSheet must also implement mod_range_style_2(&self) -> Option<ModRangeStyle> for them to display.

source

pub fn bipolar_center(self, bipolar_center: Normal) -> Self

Sets the value to be considered the center of the Knob. Only has an effect when using ArcBipolarStyle.

Trait Implementations§

source§

impl<'a, Message, Renderer> From<Knob<'a, Message, Renderer>> for Element<'a, Message, Renderer>where Message: 'a, Renderer: 'a + Renderer, Renderer::Theme: 'a + StyleSheet,

source§

fn from(knob: Knob<'a, Message, Renderer>) -> Element<'a, Message, Renderer>

Converts to this type from the input type.
source§

impl<'a, Message, Renderer> Widget<Message, Renderer> for Knob<'a, Message, Renderer>where Renderer: Renderer, Renderer::Theme: StyleSheet,

source§

fn tag(&self) -> Tag

Returns the Tag of the Widget.
source§

fn state(&self) -> State

Returns the State of the Widget.
source§

fn width(&self) -> Length

Returns the width of the Widget.
source§

fn height(&self) -> Length

Returns the height of the Widget.
source§

fn layout(&self, _renderer: &Renderer, limits: &Limits) -> Node

Returns the layout::Node of the Widget. Read more
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

Processes a runtime Event. Read more
source§

fn draw( &self, state: &Tree, renderer: &mut Renderer, theme: &Renderer::Theme, _style: &Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle )

Draws the Widget using the associated Renderer.
source§

fn children(&self) -> Vec<Tree, Global>

Returns the state Tree of the children of the Widget.
source§

fn diff(&self, _tree: &mut Tree)

Reconciliates the Widget with the provided Tree.
source§

fn operate( &self, _state: &mut Tree, _layout: Layout<'_>, _renderer: &Renderer, _operation: &mut dyn Operation<Message> )

Applies an Operation to the Widget.
source§

fn mouse_interaction( &self, _state: &Tree, _layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle<f32>, _renderer: &Renderer ) -> Interaction

Returns the current mouse::Interaction of the Widget. Read more
source§

fn overlay<'a>( &'a mut self, _state: &'a mut Tree, _layout: Layout<'_>, _renderer: &Renderer ) -> Option<Element<'a, Message, Renderer>>

Returns the overlay of the Widget, if there is any.

Auto Trait Implementations§

§

impl<'a, Message, Renderer> !RefUnwindSafe for Knob<'a, Message, Renderer>

§

impl<'a, Message, Renderer> !Send for Knob<'a, Message, Renderer>

§

impl<'a, Message, Renderer> !Sync for Knob<'a, Message, Renderer>

§

impl<'a, Message, Renderer> Unpin for Knob<'a, Message, Renderer>where <<Renderer as Renderer>::Theme as StyleSheet>::Style: Unpin,

§

impl<'a, Message, Renderer> !UnwindSafe for Knob<'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>,

source§

fn adapt_into_using<M>(self, method: M) -> Dwhere M: TransformMatrix<Swp, Dwp, T>,

Convert the source color to the destination color using the specified method
source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default
source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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, U> IntoColor<U> for Twhere U: FromColor<T>,

source§

fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
source§

impl<T, U> IntoColorUnclamped<U> for Twhere U: FromColorUnclamped<T>,

source§

fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

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, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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

impl<T, U> TryIntoColor<U> for Twhere U: TryFromColor<T>,

source§

fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
§

impl<T> Upcast<T> for T

§

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

§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V