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