Table of Contents

Enum View.ViewFlags

Namespace
Xui.Core.UI
Assembly
Xui.Core.dll

Flags used internally by a View to track invalidation state across measure, arrangement, rendering, and hit testing phases. These flags allow the framework to selectively recompute only dirty subtrees during recursive passes.

[Flags]
public enum View.ViewFlags

Fields

Active = 512

This view is active — it is part of a live visual tree and will receive events, render, and animate. Set by ActivateSubtree(View) and cleared by DeactivateSubtree(View).

Animated = 1

This view is animated. It has properties that are calculated based on the current UI time. It requires an animation notification on the next frame.

ArrangeChanged = 8

The View has changed in a way that may cause it to arrange its children differently, even if the available rectangle and measure context are the same.

Attached = 1024

This view is attached — it has been added to a visual tree that is itself attached to the platform (e.g. a window). Set by AttachSubtree(View, ref AttachEventRef) and cleared by DetachSubtree(View, ref DetachEventRef).

DescendantAnimated = 2

This view has animated children. While this view directly does not depend on the next frame time, it must propagate an animation notification to its animated children.

DescendantArrangeChanged = 16

One or more descendants of this View have had their ArrangeChanged flag set since the last validation. This flag does not indicate that this view itself needs re-arranging, but rather that some descendant may need to be re-arranged with its existing rectangle (e.g., a visual state change that affects only internal layout).

DescendantHitTestChanged = 256

One or more descendants of this View have their hit testing changed. They will probably return a new result for the same Point.

DescendantRenderChanged = 64

One or more descendants of this View have had their RenderChanged flag set since the last validation. This is a hint that rendering work exists below, even if this view itself does not need re-rendering.

HitTestChanged = 128

This view's HitTest(Point) changed. It will probably return a new results for the same Point.

MeasureChanged = 4

The View has changed since its last measure. It will likely return a different desired size if measured again with the same constraints.

RenderChanged = 32

The View has changed visually since its last render pass, and RenderCore(IContext) produce different output even if rendered within the same frame and context.