1#![warn(missing_docs)]
7#![allow(clippy::too_many_arguments)]
9#![allow(clippy::explicit_counter_loop)]
10mod animated_image;
100mod async_image;
101mod atlas;
102mod context;
103pub mod damage;
104mod disk_cache;
105mod embedded_icon;
106mod error;
107mod gpu_renderer;
108mod gradient;
109mod icon;
110mod image;
111mod image_buffer;
112mod image_cache;
113pub mod image_data;
114pub mod layer;
115mod paint;
116mod path;
117mod renderer;
118mod scalable_image;
119pub mod stencil;
120mod surface;
121mod svg;
122mod svg_cache;
123pub mod text;
124mod text_render_pass;
125mod text_renderer;
126mod transform;
127mod types;
128
129pub mod capture;
130mod offscreen;
131
132#[cfg(feature = "shader-hot-reload")]
134mod shader_watcher;
135
136pub use context::{GpuResources, GraphicsConfig, GraphicsContext};
138pub use error::{RenderError, RenderResult};
139pub use offscreen::{OffscreenConfig, OffscreenSurface};
140pub use surface::{PresentMode, RenderSurface, SurfaceConfig, SurfaceFrame};
141
142pub use gpu_renderer::GpuRenderer;
144pub use renderer::{FrameStats, RenderState, RenderStateStack, Renderer};
145
146pub use paint::{
148 BlendMode, BoxShadow, BoxShadowParams, DashPattern, FillRule, GradientStop, LineCap, LineJoin,
149 LinearGradient, Paint, RadialGradient, Stroke,
150};
151pub use path::{DEFAULT_TOLERANCE, TessellatedPath, tessellate_fill, tessellate_stroke};
152pub use transform::{Transform2D, TransformStack};
153pub use types::{Color, CornerRadii, Path, PathCommand, Point, Rect, RoundedRect, Size};
154
155pub use animated_image::{
157 AnimatedImage, AnimationController, AnimationFrame, LoopCount, PlaybackState,
158};
159pub use async_image::{AsyncImageHandle, AsyncImageLoader, AsyncImageLoaderConfig, LoadingState};
160pub use atlas::{ImageManager, TextureAtlas};
161pub use disk_cache::{DiskCacheConfig, DiskCacheStats, DiskImageCache};
162pub use image::{Image, ImageLoader, ImageScaleMode, NinePatch};
163pub use image_buffer::{ImageBlendMode, ImageBuffer, OutputFormat, ResizeFilter};
164pub use image_cache::{CacheKey, ImageCache, ImageCacheConfig, ImageCacheStats};
165pub use scalable_image::ScalableImage;
166pub use svg::SvgImage;
167pub use svg_cache::{SvgCache, SvgCacheConfig, SvgCacheKey, SvgCacheStats, SvgSource};
168
169pub use icon::{
171 Icon, IconMode, IconPosition, IconSize, IconSource, IconState, IconThemeMode, SizedIconSet,
172 StatefulIconSet, ThemedIconSet, icon_tint_for_state, icon_tint_for_state_full,
173 icon_tint_for_state_with_hover,
174};
175
176pub use embedded_icon::{EmbeddedIconData, EmbeddedIconSet, ImageFormat};
178
179pub use image_data::{
181 ColorType, ExifData, ImageMetadata, Orientation, read_dimensions, read_dimensions_from_bytes,
182 read_metadata, read_metadata_from_bytes,
183};
184
185pub use damage::DamageTracker;
187
188pub use layer::{Compositor, Layer, LayerConfig, LayerId};
190
191pub use stencil::{ClipShape, ClipStack};
193
194pub use text::{
196 BackgroundRect,
198 DecorationLine,
199 Font,
200 FontBuilder,
201 FontFaceId,
202 FontFaceInfo,
203 FontFamily,
204 FontFeature,
205 FontLoadError,
206 FontMetrics,
207 FontQuery,
208 FontStretch,
209 FontStyle,
210 FontSystem,
211 FontSystemConfig,
212 FontWeight,
213 GlyphAllocation,
215 GlyphAtlas,
216 GlyphAtlasStats,
217 GlyphCache,
218 GlyphCacheKey,
220 GlyphCacheStats,
221 GlyphId,
222 GlyphPixelFormat,
223 GlyphRenderMode,
224 HorizontalAlign,
225 LayoutGlyph,
226 LayoutLine,
227 RasterizedGlyph,
228 RichText,
230 RichTextSpan,
231 ShapedGlyph,
232 ShapedText,
233 ShapingOptions,
234 TextDecoration,
236 TextDecorationStyle,
237 TextDecorationType,
238 TextLayout,
239 TextLayoutOptions,
240 TextShaper,
241 TextSpan,
242 VerticalAlign,
243 WrapMode,
244};
245
246pub use text_render_pass::TextRenderPass;
248pub use text_renderer::{PreparedGlyph, TextRenderer, TextRendererConfig, TextRendererStats};
249
250#[cfg(feature = "shader-hot-reload")]
252pub use shader_watcher::{ShaderKind, ShaderReloadResult, ShaderWatcher, load_shader_source};
253
254pub use wgpu;