Skip to main content

Command

Enum Command 

Source
pub enum Command {
Show 51 variants NextSlide, PreviousSlide, NextOverlay, PreviousOverlay, FirstSlide, LastSlide, GoToSlide(usize), ToggleFreeze, ToggleBlackout, ToggleWhiteboard, ToggleScreenShareMode, TogglePresentationMode, ToggleLaser, CycleLaserStyle, SetPointerPosition(f32, f32), ToggleInk, AddInkPoint(f32, f32), FinishInkStroke, ClearInk, SetInkColor([u8; 4]), SetInkWidth(f32), CycleInkColor, CycleInkWidth, ToggleSpotlight, SetSpotlightPosition(f32, f32), ToggleZoom, SetZoomRegion { center: (f32, f32), factor: f32, }, StartTimer, PauseTimer, ToggleTimer, ResetTimer, ToggleSlideOverview, ToggleNotesPanel, ToggleNotesEdit, SetCurrentSlideNotes(String), IncrementNotesFontSize, DecrementNotesFontSize, ToggleTextBoxMode, PlaceTextBox { x: f32, y: f32, w: f32, h: f32, }, EditTextBoxContent { id: u64, content: String, }, MoveTextBox { id: u64, x: f32, y: f32, }, ResizeTextBox { id: u64, w: f32, h: f32, }, DeleteTextBox { id: u64, }, SelectTextBox(u64), DeselectTextBox, BeginTextBoxEdit { id: u64, }, SetTextBoxFontSize { id: u64, size: f32, }, SetTextBoxColor { id: u64, color: [u8; 4], }, SetTextBoxBackground { id: u64, color: Option<[u8; 4]>, }, Quit, SaveSidecar,
}
Expand description

Every user action in Dais is represented as a discrete typed command.

Commands are dispatched through the CommandBus and processed by the presentation engine. The UI never mutates state directly — all mutations flow through commands.

This design enables future external control surfaces (REST API, WebSocket, mobile remote) to be added as new command sources without modifying the engine.

Variants§

§

NextSlide

Advance to the first page of the next logical slide group.

§

PreviousSlide

Go back to the first page of the previous logical slide group.

§

NextOverlay

Advance one PDF page (next overlay/build step within a group).

§

PreviousOverlay

Go back one PDF page (previous overlay/build step).

§

FirstSlide

Jump to the first slide.

§

LastSlide

Jump to the last slide.

§

GoToSlide(usize)

Jump to a specific logical slide by index (0-based).

§

ToggleFreeze

Freeze/unfreeze the audience display.

§

ToggleBlackout

Black out/restore the audience display.

§

ToggleWhiteboard

Toggle the whiteboard (blank white drawing canvas on audience).

§

ToggleScreenShareMode

Toggle screen-share mode (audience window as normal window).

§

TogglePresentationMode

Toggle presentation mode (single-monitor: console ↔ fullscreen HUD).

§

ToggleLaser

Toggle the laser pointer on/off.

§

CycleLaserStyle

Cycle the laser pointer visual style.

§

SetPointerPosition(f32, f32)

Update the pointer position (normalized 0..1 coordinates relative to slide).

§

ToggleInk

Toggle freehand ink drawing mode.

§

AddInkPoint(f32, f32)

Add a point to the current ink stroke (normalized coordinates).

§

FinishInkStroke

Finish the current ink stroke (pen lifted).

§

ClearInk

Clear all ink on the current page.

§

SetInkColor([u8; 4])

Set the active pen color (RGBA). Affects only future strokes.

§

SetInkWidth(f32)

Set the active pen width in logical pixels. Affects only future strokes.

§

CycleInkColor

Cycle the active pen color through the built-in preset list.

§

CycleInkWidth

Cycle the active pen width through the built-in preset list.

§

ToggleSpotlight

Toggle the spotlight overlay.

§

SetSpotlightPosition(f32, f32)

Update the spotlight center position (normalized coordinates).

§

ToggleZoom

Toggle zoom mode on the audience display.

§

SetZoomRegion

Set the zoom region center and magnification factor.

Fields

§center: (f32, f32)
§factor: f32
§

StartTimer

Start the timer (or resume if paused).

§

PauseTimer

Pause the timer.

§

ToggleTimer

Toggle the timer between running and paused.

§

ResetTimer

Reset the timer to its initial state.

§

ToggleSlideOverview

Toggle the slide overview grid.

§

ToggleNotesPanel

Toggle the notes panel visibility.

§

ToggleNotesEdit

Toggle inline markdown editing for the current slide’s notes.

§

SetCurrentSlideNotes(String)

Replace the current slide’s notes markdown.

§

IncrementNotesFontSize

Increase notes font size by one step.

§

DecrementNotesFontSize

Decrease notes font size by one step.

§

ToggleTextBoxMode

Toggle text box placement mode.

§

PlaceTextBox

Place a new text box on the current slide (normalized coordinates).

Fields

§

EditTextBoxContent

Update the content of a text box.

Fields

§id: u64
§content: String
§

MoveTextBox

Move a text box to a new position (normalized coordinates).

Fields

§id: u64
§

ResizeTextBox

Resize a text box (normalized size).

Fields

§id: u64
§

DeleteTextBox

Delete a text box by ID.

Fields

§id: u64
§

SelectTextBox(u64)

Select a text box by ID.

§

DeselectTextBox

Deselect the currently selected text box.

§

BeginTextBoxEdit

Enter inline edit mode for the selected text box.

Fields

§id: u64
§

SetTextBoxFontSize

Set the font size of a text box.

Fields

§id: u64
§size: f32
§

SetTextBoxColor

Set the text color of a text box (RGBA).

Fields

§id: u64
§color: [u8; 4]
§

SetTextBoxBackground

Set the background fill of a text box (RGBA, or None to clear).

Fields

§id: u64
§color: Option<[u8; 4]>
§

Quit

Quit the application.

§

SaveSidecar

Save the current sidecar data to disk.

Trait Implementations§

Source§

impl Clone for Command

Source§

fn clone(&self) -> Command

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Command

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Command

Source§

fn eq(&self, other: &Command) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Command

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

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

Source§

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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more