1#![no_std]
2
3#[cfg(feature = "std")]
4extern crate std;
5
6pub mod animation;
7pub mod animation_timeline;
8pub mod animation_timing;
9pub mod block;
10pub mod cinematic;
11pub mod context;
12pub mod font;
13pub mod geometry;
14pub mod image;
15pub mod input;
16pub mod layout;
17mod math;
18pub mod present;
19pub mod render;
20pub mod screen;
21pub mod screen_transition;
22pub mod state;
23pub mod style;
24#[cfg(feature = "std")]
25pub mod test_buffer;
26pub mod text;
27pub mod transition_preset;
28pub mod widget;
29pub mod widget_animation;
30pub mod widgets;
31
32pub use animation::{
33 Animation, AnimationError, AnimationHandlers, AnimationId, AnimationManager,
34 AnimationManagerCallbacks, AnimationState, Easing, InertiaAnimator, PathAnimator, PathPoint,
35 RepeatMode, SpringAnimator, Timer, Tween, apply_easing,
36};
37pub use animation_timeline::{
38 AnimationGroup, AnimationSequence, ComposedAnimation, ComposedAnimationCallbacks,
39 ComposedAnimationPlayer, ComposedAnimationStatus, CompositionControls, CompositionMode,
40 Keyframe, KeyframeTrack, KeyframeTrackCallbacks, SequencePlayer, SequencePlayerStatus,
41 SequenceRepeatMode, TimelineError, TimelineStep,
42};
43pub use animation_timing::{
44 DEFAULT_DURATION_MS, FRAME_INTERVAL_MS, MOOOK_DURATION_MS, NORMALIZED_MAX,
45 PORT_HOLE_DURATION_MS, SHUTTER_DURATION_MS, interpolate_moook, moook_curve, moook_duration_ms,
46 timing_half_phase, timing_scaled, timing_shutter_phase,
47};
48pub use block::Block;
49pub use cinematic::{
50 CardDeckDirection, CardDeckState, CardStory, CardStoryTransition, CinematicPreset,
51 GlanceTileSpec, MotionTokens, PeekRevealSpec, TimelineMotionPreset, animate_glance_focus,
52 animate_peek_reveal, apply_carddeck_visibility, setup_card_story, setup_launcher_glance,
53 setup_launcher_glance_with_tokens, setup_peek_timeline, setup_peek_timeline_with_tokens,
54};
55pub use context::{
56 GuiContext, GuiError, KeyBindingAction, PressTiming, WidgetKeyBindings, WidgetKeyInputPolicy,
57};
58pub use font::FontId;
59pub use geometry::{DirtyTracker, EdgeInsets, Rect};
60#[cfg(all(feature = "std", feature = "image-decode"))]
61pub use image::{
62 BasicImageDecoder, EncodedImageFormat, ImageDecodeError, ImageDecoder, decode_image_auto,
63 decode_image_with, decode_ppm_ascii,
64};
65pub use image::{
66 ImageAtlas, ImageAtlasEntry, ImageFit, ImageRef, ReelFrame, ReelPlayer, SpriteSheet,
67};
68pub use input::{
69 EventPhaseMask, InputEvent, PointerButton, PointerState, UiEvent, UiEventFilter,
70 WidgetDispatchPolicy, WidgetEvent, WidgetEventFilter, WidgetEventKind,
71};
72pub use layout::{Align, Axis, Constraint, LayoutItem, Length, LinearLayout};
73pub use present::PresentRegion;
74pub use render::{
75 AntiAliasMode, BlendMode, CHAR_HEIGHT, CHAR_WIDTH, ColorFormat, EllipsisMode, LayerState,
76 RenderBackendCaps, RenderCtx, RenderQuality, StrokeCap, StrokeJoin, StrokeStyle, TextAlign,
77 TextMetrics, TextOverflow, TextOverflowPolicy, TextStyle, TextWrap, Transform2D, VerticalAlign,
78};
79pub use screen::{
80 Screen, ScreenCommand, ScreenId, ScreenLifecycleEvent, ScreenStack, ScreenStackError,
81 ScreenTransition,
82};
83pub use screen_transition::{
84 ActiveScreenTransition, ScreenTransitionEffect, ScreenTransitionOrigin, ScreenTransitionRunner,
85 ScreenTransitionSample, ScreenTransitionSpec, render_transition_pair,
86};
87pub use state::{FeedTimelineState, ListState, ScrollState, SliderState, TabsState};
88pub use style::{
89 Border, GradientDirection, LinearGradient, Shadow, StateStyle, Style, StyleTransition, Theme,
90 VisualState, WidgetStyle, lerp_style,
91};
92#[cfg(feature = "std")]
93pub use test_buffer::{LayerCanvas, TestBuffer};
94pub use text::{
95 BasicTextShaper, Line, ShapedGlyph, ShapingConfig, Span, Text, TextDirection, TextShaper,
96};
97pub use transition_preset::TransitionPreset;
98pub use widget::{
99 EventContext, EventPhase, EventPolicy, FocusGroupId, MenuContract, StatefulWidget,
100 StyleClassId, WidgetFlags, WidgetId,
101};
102pub use widget_animation::presets;
103pub use widget_animation::{
104 AnimatedProperty, AnimationConflictPolicy, BindingSnapshot, WidgetAnimationCallbacks,
105 WidgetAnimationError, WidgetAnimator, WidgetKeyframeState, WidgetPropertyKeyframe,
106};
107pub use widgets::{
108 ChartMode, KeyboardLayout, NotificationLevel, SurfaceState, WidgetKind, WidgetNode,
109};
110
111pub mod prelude {
112 pub use crate::{
113 ActiveScreenTransition, Align, AnimatedProperty, Animation, AnimationConflictPolicy,
114 AnimationError, AnimationGroup, AnimationHandlers, AnimationId, AnimationManager,
115 AnimationManagerCallbacks, AnimationSequence, AnimationState, AntiAliasMode, Axis,
116 BasicTextShaper, BindingSnapshot, BlendMode, Block, Border, CardDeckDirection,
117 CardDeckState, CardStory, CardStoryTransition, ChartMode, CinematicPreset, ColorFormat,
118 ComposedAnimation, ComposedAnimationCallbacks, ComposedAnimationPlayer,
119 ComposedAnimationStatus, CompositionControls, CompositionMode, Constraint, DirtyTracker,
120 Easing, EdgeInsets, EllipsisMode, EventContext, EventPhase, EventPhaseMask, EventPolicy,
121 FeedTimelineState, FocusGroupId, FontId, GlanceTileSpec, GradientDirection, GuiContext,
122 GuiError, ImageAtlas, ImageAtlasEntry, ImageFit, ImageRef, InertiaAnimator, InputEvent,
123 KeyBindingAction, KeyboardLayout, Keyframe, KeyframeTrack, KeyframeTrackCallbacks,
124 LayerState, LayoutItem, Length, Line, LinearGradient, LinearLayout, ListState,
125 MenuContract, MotionTokens, NotificationLevel, PathAnimator, PathPoint, PeekRevealSpec,
126 PointerButton, PointerState, PresentRegion, PressTiming, Rect, ReelFrame, ReelPlayer,
127 RenderBackendCaps, RenderCtx, RenderQuality, RepeatMode, Screen, ScreenCommand, ScreenId,
128 ScreenLifecycleEvent, ScreenStack, ScreenStackError, ScreenTransition,
129 ScreenTransitionEffect, ScreenTransitionOrigin, ScreenTransitionRunner,
130 ScreenTransitionSample, ScreenTransitionSpec, ScrollState, SequencePlayer,
131 SequencePlayerStatus, SequenceRepeatMode, Shadow, ShapedGlyph, ShapingConfig, SliderState,
132 Span, SpringAnimator, SpriteSheet, StateStyle, StatefulWidget, StrokeCap, StrokeJoin,
133 StrokeStyle, Style, StyleClassId, StyleTransition, SurfaceState, TabsState, Text,
134 TextAlign, TextDirection, TextMetrics, TextOverflow, TextOverflowPolicy, TextShaper,
135 TextStyle, TextWrap, Theme, TimelineError, TimelineMotionPreset, TimelineStep, Timer,
136 Transform2D, TransitionPreset, Tween, UiEvent, UiEventFilter, VerticalAlign, VisualState,
137 WidgetAnimationCallbacks, WidgetAnimationError, WidgetAnimator, WidgetDispatchPolicy,
138 WidgetEvent, WidgetEventFilter, WidgetEventKind, WidgetFlags, WidgetId, WidgetKeyBindings,
139 WidgetKeyInputPolicy, WidgetKeyframeState, WidgetKind, WidgetPropertyKeyframe, WidgetStyle,
140 animate_glance_focus, animate_peek_reveal, apply_carddeck_visibility, apply_easing,
141 lerp_style, presets, render_transition_pair, setup_card_story, setup_launcher_glance,
142 setup_launcher_glance_with_tokens, setup_peek_timeline, setup_peek_timeline_with_tokens,
143 };
144
145 #[cfg(all(feature = "std", feature = "image-decode"))]
146 pub use crate::{
147 BasicImageDecoder, EncodedImageFormat, ImageDecodeError, ImageDecoder, LayerCanvas,
148 TestBuffer, decode_image_auto, decode_image_with, decode_ppm_ascii,
149 };
150
151 #[cfg(all(feature = "std", not(feature = "image-decode")))]
152 pub use crate::{LayerCanvas, TestBuffer};
153}