1pub mod animation;
47pub mod app_state;
48pub mod card;
49pub mod clipboard;
50pub mod color;
51pub mod confetti;
52pub mod cursor;
53pub mod device_scale;
54pub mod draw_cell;
55pub mod draw_ctx;
56pub mod event;
57pub mod focus;
58pub mod font_settings;
59pub mod framebuffer;
60pub mod geometry;
61pub mod gfx_ctx;
62pub mod gl_renderer;
63pub mod input_profile;
64pub mod layout_props;
65pub mod lcd_coverage;
66pub mod lcd_gfx_ctx;
67pub mod overlay_insets;
68pub mod paints;
69pub mod persistence;
70pub mod pixel_bounds;
71pub mod platform;
72pub mod screenshot;
73pub mod snap;
74pub mod svg;
75pub mod text;
76pub mod theme;
77pub mod timestep;
78pub mod touch_state;
79pub mod undo;
80pub mod ux_scale;
81#[cfg(target_arch = "wasm32")]
82pub mod wasm_clipboard;
83pub mod widget;
84pub mod widgets;
85
86#[cfg(feature = "winit-adapter")]
91pub mod winit_adapter;
92
93#[cfg(target_arch = "wasm32")]
97pub mod web_adapter;
98
99pub use app_state::{OsWindowHandle, OsWindowState};
101pub use color::Color;
102pub use cursor::{current_cursor_icon, reset_cursor_icon, set_cursor_icon, CursorIcon};
103pub use device_scale::{device_scale, set_device_scale};
104pub use draw_cell::{DrawCell, DrawRefCell, DrawRefMut};
105pub use draw_ctx::{DrawCtx, FillRule, GlPaint};
106pub use event::{Event, EventResult, Key, Modifiers, MouseButton};
107pub use font_settings::current_typography_epoch;
108pub use framebuffer::Framebuffer;
109pub use geometry::{Point, Rect, Size};
110pub use gfx_ctx::GfxCtx;
111pub use layout_props::{resolve_fit_or_stretch, HAnchor, Insets, VAnchor, WidgetBase};
112pub use platform::{current_platform, platform_from_name, set_platform, Platform};
113pub use screenshot::ScreenshotHandle;
114pub use snap::{
115 compute_snap, next_snap_id, ResizeEdge as SnapResizeEdge, SnapGuide, SnapId, SnapMode,
116 SnapOverlay, SnapResult, Snappable, DEFAULT_THRESHOLD as SNAP_DEFAULT_THRESHOLD,
117};
118pub use svg::{
119 compare_svg_rgba, parse_svg, render_svg, render_svg_at_size, render_svg_at_size_with_options,
120 render_svg_at_size_with_resources, render_svg_to_framebuffer,
121 render_svg_to_framebuffer_at_size, render_svg_to_framebuffer_at_size_with_options,
122 render_svg_to_framebuffer_at_size_with_resources, render_svg_to_framebuffer_with_options,
123 render_svg_to_lcd_buffer, render_svg_to_lcd_buffer_at_size,
124 render_svg_to_lcd_buffer_at_size_with_options, render_svg_to_lcd_buffer_at_size_with_resources,
125 render_svg_to_lcd_buffer_with_options, render_svg_tree, render_svg_tree_at_size,
126 render_svg_tree_region_at_size, render_svg_tree_region_to_framebuffer_at_size,
127 render_svg_tree_to_framebuffer, render_svg_tree_to_framebuffer_at_size,
128 render_svg_tree_to_lcd_buffer, render_svg_tree_to_lcd_buffer_at_size, render_svg_with_options,
129 set_default_svg_parse_options, svg_fontdb_from_font_data, SvgCompareResult,
130 SvgCompareThresholds, SvgParseOptions, SvgRenderError, SvgTree, DEFAULT_ALPHA_TOLERANCE,
131 DEFAULT_MISMATCH_RATIO, DEFAULT_OPAQUE_RGB_TOLERANCE, DEFAULT_TRANSLUCENT_RGB_TOLERANCE,
132 DEFAULT_VISUAL_RGB_TOLERANCE,
133};
134pub use text::{measure_text_metrics, Font, TextMetrics};
135pub use theme::{
136 current_visuals, current_visuals_epoch, set_visuals, AccentColor, ThemePreference, Visuals,
137};
138pub use timestep::{FixedTimestep, StepBatch, FIXED_DT, MAX_STEPS_PER_DRAW, SIMULATION_HZ};
139pub use touch_state::{current_multi_touch, MultiTouchInfo, TouchDeviceId, TouchId, TouchPhase};
140pub use undo::{DoUndoActions, Settings as UndoerSettings, UndoBuffer, Undoer, UndoRedoCommand};
141#[cfg(feature = "reflect")]
142pub use widget::{apply_inspector_edit, reflect_fields, InspectorEdit};
143pub use widget::{
144 apply_widget_base_edit, collect_inspector_nodes, current_mouse_world, current_viewport,
145 find_widget_by_id, find_widget_by_id_mut, find_widget_by_type, App, BackbufferKind,
146 BackbufferSpec, BackbufferState, InspectorNode, InspectorOverlay, Widget, WidgetBaseEdit,
147 WidgetBaseField,
148};
149pub use widgets::{
150 color_wheel_picker_dialog, color_wheel_picker_dialog_with_on_close, current_scroll_style,
151 current_scroll_visibility, paint_sparkline,
152 set_scroll_style, set_scroll_visibility, shared_frame_history, shared_run_mode, Button,
153 CellInfo, Checkbox, ClickAwayAction, CloseReason, CollapsingHeader, ColorPicker,
154 ColorWheelPicker, ComboBox, Conditional,
155 Align, Align2, Container, DragValue, FlexColumn, FlexRow, FrameHistory, HandleShape,
156 DEFAULT_COLUMN_GAP, DEFAULT_ROW_GAP,
157 HeaderInfo, Hyperlink, ImageView, InspectorPanel, InspectorSavedState, Label, LabelAlign,
158 MarkdownView, MenuBar, MenuBarStrip, MenuEntry, MenuItem, MenuResponse, MenuSelection,
159 MenuShortcut, ModalSheet, NodeIcon, Padding, PerformanceView, Popup, PopupClickOutcome,
160 PopupCloseBehavior, PopupMenu, ProgressBar, QrView, RadioGroup, Rebuilder, RectAlign,
161 Resize, RichCommand, RichDoc, RichEditHandle, RichTextEdit, RichTextToolbar, RichTextView,
162 RunMode, RunModeDesc,
163 RunModeRow, Scene, SharedResolver, single_font_resolver,
164 SceneTransform, ScrollBarColor, ScrollBarKind,
165 ScrollBarStyle, ScrollBarVisibility, ScrollView, Separator, SharedFrameHistory, ShortcutKey,
166 SizedBox, Slider, SliderClamping, SliderOrientation, Spacer, Splitter, Stack, TabView, Table,
167 TableBuilder, TableColumn, TableRows, TextArea, TextEditState, TextField, TextHAlign,
168 TextVAlign, ToggleSwitch, Tooltip, TopMenu, TreeView, Window,
169};
170
171pub use agg_rust::comp_op::CompOp;
173pub use agg_rust::math_stroke::{LineCap, LineJoin};
174pub use agg_rust::trans_affine::TransAffine;
175
176#[cfg(test)]
177mod tests;