Skip to main content

egui_elements/components/
mod.rs

1//! Higher-level composites built on the themed widgets.
2//!
3//! Every item here is feature-gated:
4//!
5//! | Type | Feature | Notes |
6//! |------|---------|-------|
7//! | [`SecureInputField`] | `secure-types` | Masked field with show/hide; optional QR fill on Linux |
8//! | [`CredentialsForm`] | `secure-types` | Username / password / confirm + optional virtual keyboard |
9//! | [`VirtualKeyboard`] | `secure-types` | On-screen keyboard writing into a `SecureString` |
10//! | [`QrImage`] | `qr-image` | Encode text as a PNG QR `egui::Image` |
11//! | [`QRScanner`] | `qr-scanner` | Linux-only overlay that captures the monitor and decodes a QR |
12//!
13//! `qr-scanner` also pulls in `secure-types` (decoded payload is a
14//! `SecureString`). Enabling `qr-scanner` on a non-Linux target compiles
15//! the crate but does not export [`QRScanner`].
16
17#[cfg(feature = "secure-types")]
18mod input_field;
19
20#[cfg(all(feature = "qr-scanner", target_os = "linux"))]
21mod qr_scanner;
22
23#[cfg(feature = "secure-types")]
24mod virtual_keyboard;
25
26#[cfg(feature = "qr-image")]
27mod qr_image;
28
29#[cfg(feature = "secure-types")]
30mod credentials_form;
31
32#[cfg(feature = "secure-types")]
33pub use secure_types;
34
35#[cfg(feature = "secure-types")]
36pub use input_field::SecureInputField;
37
38#[cfg(all(feature = "qr-scanner", target_os = "linux"))]
39pub use qr_scanner::QRScanner;
40
41#[cfg(feature = "secure-types")]
42pub use virtual_keyboard::VirtualKeyboard;
43
44#[cfg(feature = "qr-image")]
45pub use qr_image::QrImage;
46
47#[cfg(feature = "secure-types")]
48pub use credentials_form::CredentialsForm;