Skip to main content

iced_plus_platform/
lib.rs

1//! Desktop platform integration for iced-plus.
2//!
3//! This crate provides cross-platform desktop APIs for:
4//!
5//! - **Tray icons** - System tray/notification area integration
6//! - **Notifications** - Desktop notifications
7//! - **Hotkeys** - Global keyboard shortcuts
8//! - **Window** - Extended window management
9//! - **Audio** - Audio playback APIs
10//! - **Recording** - Audio and video recording APIs
11//! - **WebView** - Embedded web browser integration
12//!
13//! # Platform Support
14//!
15//! Features are conditionally compiled based on target platform capabilities.
16//! The abstractions provide trait-based APIs that can be implemented with
17//! platform-specific backends.
18//!
19//! # Example
20//!
21//! ```rust,ignore
22//! use iced_plus_platform::tray::{TrayIcon, TrayMenu};
23//!
24//! let tray = TrayIcon::new("My App")
25//!     .icon(icon_data)
26//!     .menu(TrayMenu::new()
27//!         .item("Show", Message::Show)
28//!         .separator()
29//!         .item("Quit", Message::Quit));
30//! ```
31
32#![warn(missing_docs)]
33
34#[cfg(feature = "tray")]
35pub mod tray;
36
37#[cfg(feature = "notifications")]
38pub mod notifications;
39
40#[cfg(feature = "hotkeys")]
41pub mod hotkeys;
42
43#[cfg(feature = "window")]
44pub mod window;
45
46#[cfg(feature = "audio")]
47pub mod audio;
48
49#[cfg(feature = "recording")]
50pub mod recording;
51
52#[cfg(feature = "webview")]
53pub mod webview;