Skip to main content

Crate egui_macview

Crate egui_macview 

Source
Expand description

egui-macview — Deterministic macOS AppKit Layout Engine, Authentic Control Primitive Suite, and CoreAnimation Physics Runtime for egui.

Grounded in Apple AppKit, macOS Human Interface Guidelines (HIG), and W3C DTCG Design Tokens.

§Architecture & Highlights

§Quick Start Example

use egui_macview::{
    CASpring, MacAppearance, MacSlider, MacStackView, MacTheme, MacToggle,
};

// 1. Initialize macOS dynamic theme (Aqua or DarkAqua)
let theme = MacTheme::new(MacAppearance::DarkAqua);

// 2. Assemble controls inside an NSStackView linear layout
let mut enabled = true;
let mut volume = 75.0f32;

MacStackView::vertical()
    .theme(&theme)
    .show_separators(true)
    .show(ui, |stack| {
        stack.add(|ui| {
            ui.add(MacToggle::new(&mut enabled).theme(&theme));
        });
        stack.add(|ui| {
            MacSlider::new(&mut volume, 0.0..=100.0)
                .theme(&theme)
                .ticks(5, true)
                .show(ui);
        });
    });

// 3. Analytical spring physics evaluation
let spring = CASpring::new(0.35, 0.85);
let displacement = spring.evaluate(0.15); // t = 150ms

Re-exports§

pub use theme::contrast_ratio;
pub use theme::relative_luminance;
pub use theme::MacAppearance;
pub use theme::MacBackgroundStyle;
pub use theme::MacTheme;
pub use theme::WindowControlsStyle;
pub use controls::MacButtonCell;
pub use controls::MacColorWell;
pub use controls::MacInputCell;
pub use controls::MacOutlineRow;
pub use controls::MacOutlineRowResponse;
pub use controls::MacOutlineTree;
pub use controls::MacOutlineView;
pub use controls::MacPopUpButton;
pub use controls::MacSearchField;
pub use controls::MacSegmentedControl;
pub use controls::MacSlider;
pub use controls::MacStepper;
pub use controls::MacThumbnailCell;
pub use controls::MacToggle;
pub use feedback::clamp_menu_rect;
pub use feedback::MacContextMenu;
pub use feedback::MacToast;
pub use feedback::MacToastManager;
pub use feedback::ToastLevel;
pub use layout::subpixel_snap;
pub use layout::subpixel_snap_pos;
pub use layout::subpixel_snap_rect;
pub use layout::MacFixedView;
pub use layout::MacFlexView;
pub use layout::MacFrame;
pub use layout::MacRow;
pub use layout::MacScrollView;
pub use layout::MacScrollViewOutput;
pub use layout::MacSplitOrientation;
pub use layout::MacSplitView;
pub use layout::MacStackAlignment;
pub use layout::MacStackOrientation;
pub use layout::MacStackUi;
pub use layout::MacStackView;
pub use layout::MacStackViewOutput;
pub use motion::CASpring;
pub use navigation::CommandPaletteItem;
pub use navigation::MacCanvasFooter;
pub use navigation::MacCanvasFooterAction;
pub use navigation::MacCommandPalette;
pub use navigation::MacKeyboardShortcut;
pub use navigation::MacMenuBar;
pub use navigation::MacMenuItemKind;
pub use navigation::NSMenu;
pub use navigation::NSMenuItem;
pub use navigation::COMMAND_PALETTE_HEIGHT;
pub use navigation::COMMAND_PALETTE_WIDTH;
pub use state::NSUndoManager;
pub use state::DEFAULT_UNDO_CAPACITY;
pub use surfaces::MacCard;
pub use surfaces::MacPanel;
pub use surfaces::MacPopover;
pub use surfaces::MacPopoverArrowEdge;
pub use tokens::sf_pro_tracking;
pub use tokens::ColorWellMetrics;
pub use tokens::LayoutMetrics;
pub use tokens::MacColorTokens;
pub use tokens::MacControlMetrics;
pub use tokens::MacDesignTokens;
pub use tokens::MacMotionTokens;
pub use tokens::MacTypographyTokens;
pub use tokens::OutlineViewMetrics;
pub use tokens::PopUpButtonMetrics;
pub use tokens::ScrollViewMetrics;
pub use tokens::SearchFieldMetrics;
pub use tokens::SliderMetrics;
pub use tokens::SplitViewMetrics;
pub use tokens::StackViewMetrics;
pub use tokens::StepperMetrics;
pub use tokens::ThumbnailCellMetrics;

Modules§

controls
macOS AppKit Authentic Controls Suite for egui.
feedback
State feedback surfaces: Context Menus and Animated Toast Notifications.
layout
Layout engines: MacFixedView (absolute pt), MacFlexView (springs/struts), MacSplitView (NSSplitView), MacScrollView (NSScrollView), and MacStackView (NSStackView).
motion
macOS CoreAnimation Spring Physics Engine.
navigation
Desktop Navigation, Canvas Footer, and Spotlight Command Palette Suite.
state
State integrity, transaction management, and snapshot history.
surfaces
macOS AppKit Panel, Popover & Card Surfaces.
theme
macOS AppKit Dynamic Theming System.
tokens
Typed W3C DTCG-compliant Design Token models for egui-macview.

Constants§

VERSION
Crate release version string extracted from Cargo.toml.