Expand description
The server (render thread) side of the composition renderer.
Re-exports§
pub use dirty_rects::DebugEventsDirtyRectCollectorProxy;pub use dirty_rects::IDirtyRectCollector;pub use dirty_rects::IDirtyRectTracker;pub use dirty_rects::MultiDirtyRectTracker;pub use dirty_rects::RegionDirtyRectTracker;pub use dirty_rects::SingleDirtyRectTracker;pub use super::brushes::ServerCompositionSimpleContentBrush;pub use super::brushes::ServerCompositionSimpleImageBrush;pub use super::brushes::ServerCompositionConicGradientBrush;pub use super::brushes::ServerCompositionGradientBrush;pub use super::brushes::ServerCompositionLinearGradientBrush;pub use super::brushes::ServerCompositionRadialGradientBrush;pub use super::brushes::ServerCompositionSolidColorBrush;pub use server_object::IAnimatedServerObject;pub use server_object::IServerObject;pub use server_object::ServerExpressionObject;pub use server_object::ServerObject;pub use server_object::ServerObjectId;pub use server_render_resource::IServerRenderResource;pub use server_render_resource::IServerRenderResourceHost;pub use server_render_resource::IServerRenderResourceObserver;pub use server_render_resource::ServerRenderResource;pub use server_render_resource::ServerRenderResourceCore;pub use server_render_resource::SimpleServerRenderResource;
Modules§
- dirty_
rects - Dirty rectangle tracking for the server-side compositor.
Structs§
- Batch
Queue - The queue of committed batches: the one point where data passes from the UI-thread compositor to the server compositor.
- Composition
Property - The identity of a property of a server-side composition object: what animations, expressions and change notifications refer to.
- Composition
Property Of - A
CompositionPropertywith typed access to its field (upstreamCompositionProperty<T>). - Composition
Target Overlays - The debug overlays of a composition target: the frame counter and the time graphs.
- Compositor
Drawing Context Proxy - A drawing context that forwards to another one, postponing state changes until they are needed and applying an optional post transform.
- Compositor
Lock - A lock that the thread holding it may enter again (
lockin C#). - Compositor
Lock Guard - Leaves the lock when dropped.
- Compositor
Pools - The object pools of a server compositor.
- Diagnostic
Glyph Run - A glyph run as needed by
DiagnosticTextRenderer. - Diagnostic
Text Renderer - A class used to render diagnostic strings (only!), with caching of ASCII glyph runs. Digits are laid out in equal-width cells so rapidly changing values do not make the text jump around.
- Drawing
Surface Update Error - The error of an update that cannot proceed (
InvalidOperationException). - FpsCounter
- An FPS counter helper that can draw itself on the render thread. The labels are shaped once and the changing numbers are drawn in a fixed digit grid, so a frame neither formats nor measures any text.
- Frame
Time Graph - Represents a simple time graph for diagnostics purpose, used to show layout and render times.
- Glyph
Typeface Diagnostic Glyph RunSource - Builds the glyph runs of a
DiagnosticTextRendererfrom a glyph typeface and a font rendering em size, as the C# constructor does. - Lock
Bound - A value confined to the compositor lock: an object of the server side that is not part of the graph of the server compositor.
- Locked
Server Compositor - The server compositor behind its lock.
- Readback
Data - What the UI thread reads back from a server visual.
- Readback
Indices - A helper class used to manage the current slots for writing data from the render thread and reading it from the UI thread. Used mostly by hit-testing which needs to know the last transform of the visual
- Readback
Write Scope - A write in progress, started by
ReadbackIndices::begin_write. - Server
Composition Bitmap Cache - Server-side counterpart of
CompositionBitmapCache. - Server
Composition Cache Mode - Server-side counterpart of
CompositionBitmapCache. - Server
Composition Container Visual - The content of a plain container visual: nothing of its own.
- Server
Composition Custom Visual - The content of the server-side counterpart of a
CompositionCustomVisual: a container visual that draws through its handler. - Server
Composition Draw List Visual - Server-side counterpart of
CompositionDrawListVisual. - Server
Composition Drawing Surface - The server-side counterpart of a
CompositionDrawingSurface: a surface whose content is a snapshot of an imported GPU image. - Server
Composition Experimental Acrylic Visual - Server-side counterpart of
CompositionExperimentalAcrylicVisual: a draw list visual that draws an acrylic rectangle below its content. - Server
Composition Gradient Stop - The server-side counterpart of a
CompositionGradientStop. - Server
Composition Simple Brush - The server-side counterpart of a mutable brush: the properties all brushes share.
- Server
Composition Simple Conic Gradient Brush - The server-side counterpart of a mutable conic gradient brush.
- Server
Composition Simple Geometry - The server-side counterpart of a geometry object: the platform geometry the object currently resolves to.
- Server
Composition Simple Gradient Brush - The gradient part of the server-side gradient brushes: the brush properties, the stops and the spread method.
- Server
Composition Simple Linear Gradient Brush - The server-side counterpart of a mutable linear gradient brush.
- Server
Composition Simple Radial Gradient Brush - The server-side counterpart of a mutable radial gradient brush.
- Server
Composition Simple Solid Color Brush - The server-side counterpart of a mutable solid color brush.
- Server
Composition Simple Tile Brush - The server-side counterpart of a mutable tile brush.
- Server
Composition Simple Transform - The server-side counterpart of a mutable transform.
- Server
Composition Solid Color Visual - Server-side counterpart of
CompositionSolidColorVisual. - Server
Composition Surface Changed - The
Changeddelegate of a server-side surface: the callbacks of the visuals that show it. - Server
Composition Surface Visual - Server-side counterpart of
CompositionSurfaceVisual. - Server
Composition Target - Server-side counterpart of the
CompositionTarget. That’s the place where we update visual transforms, track dirty rects and actually do rendering. - Server
Composition Visual - Server-side
CompositionVisualcounterpart. Is responsible for computing the transformation matrix, for applying various visual properties before calling visual-specific drawing code and for notifying theServerCompositionTargetfor new dirty rects. - Server
Composition Visual Cache - The bitmap cache of a visual: an offscreen layer the subtree of the visual is rendered into, redrawn only where it changed.
- Server
Composition Visual Collection - Server-side counterpart of the children collection of a visual.
- Server
Compositor - Server-side counterpart of the compositor: owns the server objects, applies the batches committed by the UI thread and renders.
- Server
Compositor Animations - The clock items and the dirty animated objects of a server compositor.
- Server
Expression Object - An animatable server object as an expression reads it: the target of an
animation, or an object an animation refers to through a reference
parameter (upstream passes the
ServerObjectitself, which implementsIExpressionObject). - Server
List - A server-side list container capable of receiving changes from the UI thread. Right now it’s quite dumb since it always receives the full list.
- Server
Object - Server-side
CompositionObjectcounterpart. Is responsible for animation activation and invalidation. - Server
Object Animations - The animations of a server object and the animations of other objects that depend on its properties.
- Server
Object Id - Identifies a server-side object within its server compositor.
- Server
Render Resource - The base of the animatable server-side render resources (upstream
ServerRenderResource, aServerObject), as a part the resource classes embed: the animation support of the server object, the resource core and the handle of the object as a render resource. - Server
Render Resource Core - The shared implementation of render resources: change coalescing and the reference-counted observer list.
- Server
Resource Ref - A reference-typed property value of a server object that may be a server-side render resource (a brush or a transform): the value as its media interface, and the render resource behind it when it is one.
- Server
Size Dependant Visual - The behaviour of a visual whose content covers its size: the base of the solid color and surface visuals.
- Server
Value Change - One assignment of a property field, in the form
SetValue(prop, ref field, value)takes it upstream: the class decides what else happens around the assignment. - Server
Visual Render Context - What a visual renders its own content with.
- Shaped
Text - A piece of text shaped once by
DiagnosticTextRenderer::shape. - Simple
Server Render Resource - The base of the server-side render resources that are not animatable
(upstream
SimpleServerRenderResource), as a part the resource classes embed: the compositor, the resource core and the handle of the object as a render resource. - Stack
Pool - A pool of stacks, so that tree walks do not allocate.
- Tree
Walker Frame - A position of the tree walk: a container and the index of its child to visit next.
- Visual
Readback - The two readback slots of a visual.
Traits§
- AsServer
Render Resource - The render resource behind a property value, when it is one.
- IAnimated
Server Object - A server object that supports animated properties: what upstream’s
abstract
ServerObjectis to its subclasses. - IDiagnostic
Glyph RunSource - The seam between
DiagnosticTextRendererand the text stack. - IServer
Animated Property Host - What the generated property block of an animatable server object needs
from the object that embeds it (the animation members of upstream
ServerObject). - IServer
Clock Item - Something the server compositor advances once per frame.
- IServer
Composition Surface - Server-side counterpart of a composition surface: something that provides a bitmap to the surface visuals that show it.
- IServer
Object - The base contract of every server-side object (upstream
SimpleServerObject). - IServer
Property Host - What a generated server property block needs from the object that embeds
it (upstream
SimpleServerObject). - IServer
Render Resource - A server-side render resource: a brush, pen, geometry, transform or render data whose changes invalidate the objects that use it.
- IServer
Render Resource Host - A render resource that owns a
ServerRenderResourceCore. - IServer
Render Resource Observer - Something that is notified when a render resource it depends on is invalidated.
- IServer
Visual Content - What a concrete server visual class adds to
ServerCompositionVisual: its own properties and its overrides of the virtual members. - Server
Property Value - Equality of property values as the generated setters need it.
Functions§
- props_
of - The generated property block
Pembedded in a server object. - read_
resource - Reads a resource reference from a batch and resolves it.
- read_
server_ object - Reads a reference to a server object from a batch and resolves it.
- resolve_
resource - Resolves a resource reference read from a batch: a value is taken as it
is, the id of a server object is looked up and viewed through
cast.
Type Aliases§
- Compositor
Clock - The source of the compositor clock: time elapsed since an arbitrary origin. It is read from both sides of the transport; like the server compositor it is confined to the compositor’s thread for now, because the dispatcher’s clock is.
- Render
Surfaces - Returns the current platform surfaces of a composition target.