egui_desktop/lib.rs
1//! egui-desktop
2//!
3//! High-level, cross-platform desktop UI components for `egui` applications.
4//!
5//! This crate provides:
6//! - A customizable window title bar (`TitleBar`) with platform-aware behavior
7//! - A menu system with keyboard shortcuts
8//! - Theming utilities and helpers
9//!
10//! Quick start:
11//! ```no_run
12//! use egui_desktop::{TitleBar, TitleBarOptions, ThemeProvider};
13//! # fn app_ui(ctx: &egui::Context) {
14//! let theme = ThemeProvider::default();
15//! let options = TitleBarOptions::default();
16//! TitleBar::new("My App", options).show(ctx);
17//! # }
18//! ```
19//!
20//! See the README for detailed examples and the `examples/` directory for
21//! runnable demos.
22//!
23/// Menu system primitives (items, menu bar, shortcuts).
24pub mod menu;
25/// Theming primitives and provider traits.
26pub mod theme;
27/// Title bar widgets, options and rendering helpers.
28pub mod titlebar;
29/// Utility helpers (OS interop, resize handles, rounded corners).
30pub mod utils;
31
32pub use menu::shortcuts::KeyboardShortcut;
33pub use menu::{MenuItem, SubMenuItem};
34pub use theme::{ThemeError, ThemeMode, ThemeProvider, TitleBarTheme, detect_system_dark_mode};
35pub use titlebar::{main::CustomIcon, main::TitleBar, options::TitleBarOptions};
36pub use utils::*;