Skip to main content

egui_macview/
lib.rs

1//! # `egui-macview`
2//!
3//! Native-style macOS AppKit controls, layouts, and smooth spring animations for [`egui`].
4#![doc = include_str!("../README.md")]
5#![deny(missing_docs)]
6
7/// Crate release version string extracted from `Cargo.toml`.
8pub const VERSION: &str = env!("CARGO_PKG_VERSION");
9
10pub mod controls;
11pub mod feedback;
12pub mod layout;
13pub mod motion;
14pub mod navigation;
15pub mod state;
16pub mod surfaces;
17pub mod symbols;
18pub mod theme;
19pub mod tokens;
20
21pub use symbols::{
22    setup_macview_fonts, setup_symbols_font, MacSymbol, CUPERTINO_ICONS_FONT_BYTES,
23    CUPERTINO_ICONS_FONT_NAME, INTER_REGULAR_FONT_BYTES, INTER_REGULAR_FONT_NAME,
24    INTER_SEMIBOLD_FONT_BYTES, INTER_SEMIBOLD_FONT_NAME,
25};
26
27pub use theme::{
28    alpha_composite, contrast_ratio, ensure_wcag_contrast, plus_darker, plus_lighter,
29    relative_luminance, MacAppearance, MacBackgroundStyle, MacTheme, WindowControlsStyle,
30};
31
32pub use controls::{
33    calculate_pan_weights, format_remaining_timecode, format_timecode, MacBox, MacButton,
34    MacButtonCell, MacCheckbox, MacCircularSlider, MacCollectionView, MacCollectionViewFlowLayout,
35    MacColorWell, MacComboBox, MacControlSize, MacDate, MacDatePicker, MacDatePickerElementFlags,
36    MacDatePickerStyle, MacDisclosureButton, MacDisclosureGroup, MacDisclosureResponse,
37    MacFontWeight, MacHelpButton, MacInlineActionButton, MacInputCell, MacInsets, MacLabel,
38    MacLabelColor, MacLevelIndicator, MacLevelIndicatorStyle, MacLevelOrientation, MacOutlineRow,
39    MacOutlineRowResponse, MacOutlineTree, MacOutlineView, MacPathComponent, MacPathControl,
40    MacPathControlResponse, MacPlayerControlsStyle, MacPlayerView, MacPopUpButton,
41    MacProgressControlSize, MacProgressIndicator, MacProgressStyle, MacRatingIndicator,
42    MacRuleEditor, MacRuleRow, MacSearchField, MacSegmentedControl, MacSlider, MacSortDirection,
43    MacStepper, MacTabItem, MacTabStyle, MacTabView, MacTableColumn, MacTableView,
44    MacTableViewOutput, MacTableViewResponse, MacThumbnailCell, MacTimelineZone, MacToggle,
45    MacTokenField, MacTrimScrubber, MacTrimScrubberResponse, UNIT_STAR,
46};
47pub use feedback::{clamp_menu_rect, MacContextMenu, MacToast, MacToastManager, ToastLevel};
48pub use layout::{
49    is_window_active, subpixel_snap, subpixel_snap_pos, subpixel_snap_rect, MacFixedView, MacForm,
50    MacFormUi, MacFrame, MacRow, MacScrollView, MacScrollViewOutput, MacSplitOrientation,
51    MacSplitView, MacStackAlignment, MacStackOrientation, MacStackUi, MacStackView,
52    MacStackViewOutput,
53};
54pub use motion::CASpring;
55pub use navigation::{
56    CommandPaletteItem, MacCanvasFooter, MacCanvasFooterAction, MacCommandPalette,
57    MacKeyboardShortcut, MacMenuBar, MacMenuItemKind, MacToolbar, MacToolbarResponse, NSMenu,
58    NSMenuItem, CANVAS_FOOTER_HEIGHT, COMMAND_PALETTE_HEIGHT, COMMAND_PALETTE_WIDTH,
59};
60pub use state::{NSUndoManager, DEFAULT_UNDO_CAPACITY};
61pub use surfaces::{MacCard, MacFloatingInfoBox, MacPanel, MacPopover, MacPopoverArrowEdge};
62pub use tokens::{
63    sf_pro_tracking, CheckboxMetrics, CheckboxSizeMetrics, ColorWellMetrics, HelpButtonMetrics,
64    InlineActionButtonMetrics, LabelMetrics, LayoutMetrics, LevelIndicatorMetrics, MacColorTokens,
65    MacControlMetrics, MacDesignTokens, MacMotionTokens, MacTypographyTokens, OutlineViewMetrics,
66    PathControlMetrics, PopUpButtonMetrics, ProgressIndicatorMetrics, ProgressSizeMetrics,
67    ScrollViewMetrics, SearchFieldMetrics, SliderMetrics, SplitViewMetrics, StackViewMetrics,
68    StepperMetrics, TableViewMetrics, ThumbnailCellMetrics, ToggleMetrics, TokenFieldMetrics,
69    TrimScrubberMetrics,
70};