streamdeck_oxide/
lib.rs

1//! # StreamDeck
2//!
3//! A high-level framework for creating Stream Deck applications in Rust.
4//!
5//! This library provides a flexible and type-safe way to create applications
6//! for the Elgato Stream Deck. It handles button rendering, navigation between
7//! views, and event processing.
8
9// Re-export modules
10pub mod button;
11pub mod error;
12pub mod navigation;
13pub mod theme;
14pub mod view;
15
16// Re-export commonly used items
17pub use button::RenderConfig;
18pub use elgato_streamdeck;
19pub use generic_array;
20pub use md_icons;
21pub use navigation::NavigationEntry;
22pub use theme::Theme;
23pub use view::{Button, ButtonState, DisplayManager, View};
24
25// Optional plugins module
26#[cfg(feature = "plugins")]
27pub mod plugins;
28
29/// Run a Stream Deck application with the specified configuration.
30///
31/// This function takes a theme, render configuration, Stream Deck instance,
32/// and application context, and runs the main event loop.
33pub use crate::run::{run, run_with_external_triggers, ExternalTrigger};
34
35// Internal modules
36mod run;