Skip to main content

Compositor Class

The Compositor class manages communication between UI-thread and render-thread parts of the composition engine. It also serves as a factory to create UI-thread parts of various composition objects

Definition

Namespace: Avalonia.Rendering.Composition
Assembly: Avalonia.Base (in Avalonia.Base.dll)

public class Compositor
View Source
InheritanceObject → Compositor

Methods

CreateAnimationGroup() 
CreateBooleanKeyFrameAnimation() 
CreateColorKeyFrameAnimation() 
CreateCompositionVisualSnapshot(CompositionVisual, Double) 
CreateContainerVisual() 
CreateCustomVisual(CompositionCustomVisualHandler) 
CreateDoubleKeyFrameAnimation() 
CreateDrawingSurface() 
CreateExpressionAnimation() 
CreateExpressionAnimation(String) 
CreateImplicitAnimationCollection() 
CreateQuaternionKeyFrameAnimation() 
CreateScalarKeyFrameAnimation() 
CreateSolidColorVisual() 
CreateSurfaceVisual() 
CreateVector2KeyFrameAnimation() 
CreateVector3DKeyFrameAnimation() 
CreateVector3KeyFrameAnimation() 
CreateVector4KeyFrameAnimation() 
CreateVectorKeyFrameAnimation() 
Equals(Object)Determines whether the specified object is equal to the current object.
(Inherited from Object)
Finalize()Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetHashCode()Serves as the default hash function.
(Inherited from Object)
GetType()Gets the Type of the current instance.
(Inherited from Object)
MemberwiseClone()Creates a shallow copy of the current Object.
(Inherited from Object)
RequestCommitAsync()Requests pending changes in the composition objects to be serialized and sent to the render thread
RequestCompositionBatchCommitAsync()Requests pending changes in the composition objects to be serialized and sent to the render thread
RequestCompositionUpdate(Action)Enqueues a callback to be called before the next scheduled commit. If there is no scheduled commit it automatically schedules one This is useful for updating your composition tree objects after binding and layout passes have completed
ToString()Returns a string that represents the current object.
(Inherited from Object)
TryGetCompositionGpuInterop()Attempts to query for GPU interop feature from the platform render interface
TryGetDefaultCompositor()Attempts to get the Compositor instance that will be used by default for new TopLevels created by the current platform backend. This won't work for every single platform backend and backend settings, e. g. with web we'll need to have separate Compositor instances per output HTML canvas since they don't share OpenGL state. Another case where default compositor won't be available is our planned multithreaded rendering mode where each window would get its own Compositor instance This method is still useful for obtaining GPU device LUID to speed up initialization, but you should always check if default Compositor matches one used by our control once it gets attached to a TopLevel
TryGetRenderInterfaceFeature(Type)Attempts to query for a feature from the platform render interface

See Also

Reference

Avalonia.Rendering.Composition Namespace