egui-macview 0.5.0

Cross-platform macOS AppKit Layout Engine, Authentic Control Primitive Suite, and CoreAnimation Physics Runtime for egui on Windows 11, macOS, Linux, and Web.
Documentation
//! AppKit Control geometry metrics tokens.

pub mod basic;
pub mod extended;
pub mod selection_and_value;
pub mod studio;

pub use basic::{
    default_border_width, ButtonMetrics, ButtonSizeMetrics, FocusRingMetrics, SegmentedMetrics,
    SegmentedSizeMetrics, TextFieldMetrics, TextFieldSizeMetrics,
};
pub use extended::{
    ColorWellMetrics, OutlineViewMetrics, PopUpButtonMetrics, SearchFieldMetrics, SliderMetrics,
    StepperMetrics, ThumbnailCellMetrics, ToggleMetrics,
};
pub use studio::{
    LevelIndicatorMetrics, PathControlMetrics, ProgressIndicatorMetrics, ProgressSizeMetrics,
    TableViewMetrics, TokenFieldMetrics, TrimScrubberMetrics,
};

use crate::tokens::dtcg::DimensionValue;
use serde::{Deserialize, Serialize};

fn default_disabled_opacity() -> DimensionValue {
    DimensionValue::from_pt(0.45)
}

/// Control metrics collection.
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct MacControlMetrics {
    /// Keyboard focus ring metrics.
    pub focus_ring: FocusRingMetrics,
    /// Text input field metrics.
    pub text_field: TextFieldMetrics,
    /// Push button metrics.
    pub button: ButtonMetrics,
    /// Segmented control metrics.
    pub segmented: SegmentedMetrics,
    /// Slider control metrics.
    #[serde(default)]
    pub slider: SliderMetrics,
    /// Thumbnail cell metrics.
    #[serde(default)]
    pub thumbnail: ThumbnailCellMetrics,
    /// Outline tree view metrics.
    #[serde(default)]
    pub outline_view: OutlineViewMetrics,
    /// Pop-up menu button metrics.
    #[serde(default)]
    pub popup_button: PopUpButtonMetrics,
    /// Search field metrics.
    #[serde(default)]
    pub search_field: SearchFieldMetrics,
    /// Numeric stepper metrics.
    #[serde(default)]
    pub stepper: StepperMetrics,
    /// Color well swatch metrics.
    #[serde(default)]
    pub color_well: ColorWellMetrics,
    /// Toggle switch metrics.
    #[serde(default)]
    pub toggle: ToggleMetrics,
    /// Opacity multiplier for disabled controls.
    #[serde(default = "default_disabled_opacity")]
    pub disabled_opacity: DimensionValue,
    /// Progress indicator metrics.
    #[serde(default)]
    pub progress_indicator: ProgressIndicatorMetrics,
    /// Table view and header metrics.
    #[serde(default)]
    pub table_view: TableViewMetrics,
    /// Token field pill input metrics.
    #[serde(default)]
    pub token_field: TokenFieldMetrics,
    /// Level indicator meter metrics.
    #[serde(default)]
    pub level_indicator: LevelIndicatorMetrics,
    /// Trim scrubber timeline metrics.
    #[serde(default)]
    pub trim_scrubber: TrimScrubberMetrics,
    /// Path control breadcrumb metrics.
    #[serde(default)]
    pub path_control: PathControlMetrics,
}