From 0d570d008f0971827898e52e03aa190b64477481 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Wed, 19 Dec 2018 10:53:07 +0300 Subject: [PATCH] Docs for IRenderTimeCriticalVisual --- .../VisualTree/IRenderTimeCriticalVisual.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Avalonia.Visuals/VisualTree/IRenderTimeCriticalVisual.cs b/src/Avalonia.Visuals/VisualTree/IRenderTimeCriticalVisual.cs index b8be59bcc9..55f7bf951c 100644 --- a/src/Avalonia.Visuals/VisualTree/IRenderTimeCriticalVisual.cs +++ b/src/Avalonia.Visuals/VisualTree/IRenderTimeCriticalVisual.cs @@ -4,8 +4,20 @@ namespace Avalonia.VisualTree { public interface IRenderTimeCriticalVisual { + /// + /// Checks if visual has time critical content. You need to call InvalidateVisual for this property to be re-queried. + /// bool HasRenderTimeCriticalContent { get; } + /// + /// Checks if visual has a new frame. This property can be read from any thread. + /// bool ThreadSafeHasNewFrame { get; } + /// + /// Draws the new frame during the render pass. That can happen on any thread + /// + /// DrawingContext. The available API is limited by stuff that can run on non-UI thread (brushes has to be immutable, no visual brush, etc) + /// Logical size of the visual during the layout pass associated with the current frame + /// DPI scaling of the target surface associated with the current frame void ThreadSafeRender(DrawingContext context, Size logicalSize, double scaling); } }