#[repr(C, u8)]pub enum TrayIconSource {
None,
Rgba(TrayIconImageVec),
Named(AzString),
}Expand description
Where a tray icon’s pixels come from.
Variants§
None
No icon. Most desktops render this as an invisible item, so it is almost never what you want.
Rgba(TrayIconImageVec)
Explicit RGBA bitmaps, ideally at several sizes so each platform can
pick - see TrayIconData::best_icon.
Only needed for an icon that genuinely is not in a pack - typically one
generated at runtime, since the icon registry is frozen once the
provider is shared (App::run consumes the handle).
Named(AzString)
An icon spec - exactly the string an <icon> node takes: a bare
name ("settings"), a pack-qualified name ("mypack:logo"), or a
comma-separated fallback list ("mypack:logo, settings").
This is the preferred form, for two reasons.
It resolves through the SAME registry and resolver <icon> DOM nodes
use, so anything registered there works with no tray-specific icon
path: Material Icons (the default pack), an image pack loaded from a
ZIP, or a custom resolver. Because resolution yields a StyledDom
which is then
rendered, an icon can be anything expressible as a DOM: a font glyph, a
bitmap, later an SVG or an emoji.
And a spec can be rendered at ANY size on demand, which a fixed bitmap cannot: a tray needs the same icon at several sizes and cannot know them up front (Windows re-asks at every taskbar DPI: 16/20/24/32; macOS wants 18pt, which is 36px on a 2x display; SNI publishes an array).
Trait Implementations§
Source§impl Clone for TrayIconSource
impl Clone for TrayIconSource
Source§fn clone(&self) -> TrayIconSource
fn clone(&self) -> TrayIconSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more