A openfl.display.Sprite with a validation system where multiple property changes may be queued up to be processed all at once. A performance optimization for frequently changing user interfaces.

Available since

1.0.0

.

Variables

@:value(-1)read onlydepth:Int = -1

The object's depth in the display list, relative to the stage. If the object isn't on the stage, its depth will be -1.

Used by the validation system to validate objects from the top down.

Available since

1.0.0

.

Methods

@:value({ flag : null })isInvalid (?flag:String):Bool

Indicates whether the control is pending validation or not. By default, returns true if any invalidation flag has been set. If you pass in a specific flag, returns true only if that flag has been set (others may be set too, but it checks the specific flag only. If all flags have been marked as invalid, always returns true.

Available since

1.0.0

.

@:value({ flag : null })setInvalid (?flag:String):Void

Call this function to tell the UI control that a redraw is pending. The redraw will happen immediately before OpenFL renders the UI control to the screen. The validation system exists to ensure that multiple properties can be set together without redrawing multiple times in between each property change.

If you cannot wait until later for the validation to happen, you can call validate() to redraw immediately. As an example, you might want to validate immediately if you need to access the correct width or height values of the UI control, since these values are calculated during validation.

Available since

1.0.0

.

private@:dox(show)setInvalidationFlag (flag:String):Void

Sets an invalidation flag. This will not add the component to the validation queue. It only sets the flag. A subclass might use this function during draw() to manipulate the flags that its superclass sees.

Available since

1.0.0

.

See:

private@:dox(show)update ():Void

Override to customize layout and to adjust properties of children. Called when the component validates, if any flags have been marked to indicate that validation is pending.

Available since

1.0.0

.

validateNow ():Void

Immediately validates the display object, if it is invalid. The validation system exists to postpone updating a display object after properties are changed until until the last possible moment the display object is rendered. This allows multiple properties to be changed at a time without requiring a full update every time.

Available since

1.0.0

.