Table of Contents

Class EndlessKnob

Namespace
PluginUI
Assembly
PluginUI.dll

Endless rotary encoder: turns without limits and reports steps through Turned (preset browsing, list scrolling, fine tuning). Optionally drives a parameter by StepSize per step, with wrap-around.

public class EndlessKnob : Control
Inheritance
EndlessKnob
Inherited Members

Constructors

EndlessKnob()

Creates an encoder.

public EndlessKnob()

Properties

Angle

Current visual angle in degrees.

public float Angle { get; }

Property Value

float

DefaultSize

Natural size used when no explicit size is given.

protected override Size DefaultSize { get; }

Property Value

Size

Parameter

Optional parameter changed by StepSize per step.

public IParameter? Parameter { get; set; }

Property Value

IParameter

PixelsPerStep

Mouse travel (DIPs) for one step.

public float PixelsPerStep { get; set; }

Property Value

float

RidgeCount

Number of grip ridges drawn on the body.

public int RidgeCount { get; set; }

Property Value

int

StepSize

Normalized change per step (0 = one parameter step, or 1 %).

public double StepSize { get; set; }

Property Value

double

StepsPerRevolution

Steps per full visual revolution.

public int StepsPerRevolution { get; set; }

Property Value

int

ValueText

Text drawn in the value area (null = no value area).

public override string? ValueText { get; }

Property Value

string

Wrap

Wraps from 1 to 0 (and back) instead of stopping at the ends.

public bool Wrap { get; set; }

Property Value

bool

Methods

OnAttached()

Called when the element joins a host (subscribe to external events here).

protected override void OnAttached()

OnCaptureLost()

The mouse capture was lost without a button release.

protected override void OnCaptureLost()

OnDetached()

Called when the element leaves its host (unsubscribe here).

protected override void OnDetached()

OnKeyDown(KeyEventArgs)

Key pressed while focused (bubbles to parents).

protected override void OnKeyDown(KeyEventArgs e)

Parameters

e KeyEventArgs

OnMouseDown(MouseEventArgs)

Mouse button pressed over the element (or captured).

protected override void OnMouseDown(MouseEventArgs e)

Parameters

e MouseEventArgs

OnMouseMove(MouseEventArgs)

Mouse moved over the element (or captured).

protected override void OnMouseMove(MouseEventArgs e)

Parameters

e MouseEventArgs

OnMouseUp(MouseEventArgs)

Mouse button released.

protected override void OnMouseUp(MouseEventArgs e)

Parameters

e MouseEventArgs

OnMouseWheel(MouseEventArgs)

Mouse wheel over the element.

protected override void OnMouseWheel(MouseEventArgs e)

Parameters

e MouseEventArgs

RenderVector(DrawingContext, Rect, VectorStyle)

Vector rendering of the widget area.

protected override void RenderVector(DrawingContext dc, Rect widget, VectorStyle style)

Parameters

dc DrawingContext
widget Rect
style VectorStyle

Turn(int)

Applies steps as if turned by the user.

public void Turn(int steps)

Parameters

steps int

Events

Turned

Raised for every step turned (positive = clockwise / up).

public event Action<EndlessKnob, int>? Turned

Event Type

Action<EndlessKnob, int>