Skip to main content

ferroui_base/rendering/composition/server/
mod.rs

1//! The server (render thread) side of the composition renderer.
2
3pub mod dirty_rects;
4
5mod composition_property;
6mod composition_target_overlays;
7mod compositor_lock;
8mod compositor_pools;
9mod drawing_context_proxy;
10
11pub use compositor_lock::{CompositorLock, CompositorLockGuard, LockBound, LockedServerCompositor};
12mod server_composition_bitmap_cache;
13mod server_composition_cache_mode;
14mod server_composition_container_visual;
15mod server_composition_draw_list_visual;
16mod server_composition_drawing_surface;
17mod server_composition_experimental_acrylic_visual;
18mod server_composition_gradient_stop;
19mod server_composition_solid_color_visual;
20mod server_composition_surface;
21mod server_composition_surface_visual;
22mod server_composition_target;
23mod server_composition_visual;
24mod server_composition_visual_collection;
25mod server_compositor_animations;
26mod server_custom_composition_visual;
27mod server_object_animations;
28mod server_size_dependant_visual;
29mod server_visual_render_context;
30mod diagnostic_text_renderer;
31mod fps_counter;
32mod frame_time_graph;
33mod i_server_clock_item;
34mod readback_indices;
35mod server_composition_simple_brush;
36mod server_composition_simple_geometry;
37mod server_composition_simple_transform;
38mod server_compositor;
39mod server_list;
40mod server_object;
41mod server_property_host;
42mod server_render_resource;
43
44pub use composition_property::{props_of, CompositionProperty, CompositionPropertyOf};
45pub use diagnostic_text_renderer::{
46    DiagnosticGlyphRun, DiagnosticTextRenderer, GlyphTypefaceDiagnosticGlyphRunSource, IDiagnosticGlyphRunSource,
47    ShapedText,
48};
49pub use dirty_rects::{
50    DebugEventsDirtyRectCollectorProxy, IDirtyRectCollector, IDirtyRectTracker, MultiDirtyRectTracker,
51    RegionDirtyRectTracker, SingleDirtyRectTracker,
52};
53pub use fps_counter::FpsCounter;
54pub use frame_time_graph::FrameTimeGraph;
55pub use i_server_clock_item::IServerClockItem;
56pub use readback_indices::{ReadbackIndices, ReadbackWriteScope};
57pub(crate) use server_composition_simple_brush::server_simple_brush;
58pub use server_composition_simple_brush::{
59    ServerCompositionSimpleBrush, ServerCompositionSimpleConicGradientBrush, ServerCompositionSimpleGradientBrush,
60    ServerCompositionSimpleLinearGradientBrush, ServerCompositionSimpleRadialGradientBrush,
61    ServerCompositionSimpleSolidColorBrush, ServerCompositionSimpleTileBrush,
62};
63pub use server_composition_simple_geometry::ServerCompositionSimpleGeometry;
64// The server-side tile brushes live with the composition brushes, as
65// upstream; they belong to this namespace.
66pub use super::brushes::{ServerCompositionSimpleContentBrush, ServerCompositionSimpleImageBrush};
67pub use server_composition_simple_transform::ServerCompositionSimpleTransform;
68pub(crate) use server_compositor::OBJECT_END_MAGIC;
69pub use server_compositor::{BatchQueue, CompositorClock, ServerCompositor};
70pub use server_list::ServerList;
71pub use composition_target_overlays::CompositionTargetOverlays;
72pub use compositor_pools::{CompositorPools, StackPool};
73pub use drawing_context_proxy::CompositorDrawingContextProxy;
74pub use server_composition_bitmap_cache::ServerCompositionBitmapCache;
75pub use server_composition_cache_mode::ServerCompositionCacheMode;
76pub use server_composition_container_visual::ServerCompositionContainerVisual;
77pub use server_composition_draw_list_visual::ServerCompositionDrawListVisual;
78pub use server_composition_drawing_surface::{DrawingSurfaceUpdateError, ServerCompositionDrawingSurface};
79pub use server_composition_experimental_acrylic_visual::ServerCompositionExperimentalAcrylicVisual;
80pub use server_composition_gradient_stop::ServerCompositionGradientStop;
81// The server-side composition brushes are in the namespace of the server
82// objects upstream.
83pub use super::brushes::{
84    ServerCompositionConicGradientBrush, ServerCompositionGradientBrush, ServerCompositionLinearGradientBrush,
85    ServerCompositionRadialGradientBrush, ServerCompositionSolidColorBrush,
86};
87pub use server_composition_solid_color_visual::ServerCompositionSolidColorVisual;
88pub use server_composition_surface::{IServerCompositionSurface, ServerCompositionSurfaceChanged};
89pub use server_composition_surface_visual::ServerCompositionSurfaceVisual;
90pub use server_composition_target::{RenderSurfaces, ServerCompositionTarget};
91pub use server_composition_visual::{
92    IServerVisualContent, ReadbackData, ServerCompositionVisual,
93    ServerCompositionVisualCache, TreeWalkerFrame, VisualReadback,
94};
95pub use server_composition_visual_collection::ServerCompositionVisualCollection;
96pub use server_compositor_animations::ServerCompositorAnimations;
97pub use server_custom_composition_visual::ServerCompositionCustomVisual;
98pub use server_object::{
99    impl_animated_server_object, IAnimatedServerObject, IServerObject, ServerExpressionObject, ServerObject, ServerObjectId,
100};
101pub use server_object_animations::ServerObjectAnimations;
102pub use server_size_dependant_visual::ServerSizeDependantVisual;
103pub use server_visual_render_context::ServerVisualRenderContext;
104pub use server_property_host::{
105    read_resource, read_server_object, resolve_resource, AsServerRenderResource, IServerAnimatedPropertyHost,
106    IServerPropertyHost, ServerPropertyValue, ServerResourceRef, ServerValueChange,
107};
108pub use server_render_resource::{
109    impl_server_render_resource, impl_simple_server_render_resource, IServerRenderResource,
110    IServerRenderResourceHost, IServerRenderResourceObserver, ServerRenderResource, ServerRenderResourceCore,
111    SimpleServerRenderResource,
112};