class ValidatingSprite
package feathers.core
extends Sprite
implements IValidating
extended by MeasureSprite
An 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.
1.0.0
.Variables
read onlyvalidating:Bool
Indicates if the display object is currently validating.
1.0.0
.Methods
isInvalid(?flag:InvalidationFlag):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
.
The following example invalidates a component:
component.setInvalid();
trace(component.isInvalid()); // true
1.0.0
.runWithInvalidationFlagsOnly(callback:() ‑> Void):Void
Calls a function that temporarily limits setInvalid()
calls to
setting invalidation flags only, and the control will not be added to
the validation queue. In other words, setInvalid()
calls will work
similarly to setInvalidationFlag()
instead.
Typically, this method should be called only during validation. If
called outside of update()
, the component's validation may be delayed
until a future call to setInvalid()
.
1.2.0
.runWithoutInvalidation(callback:() ‑> Void):Void
Calls a function that temporarily disables invalidation. In other words,
calls to setInvalid()
will be ignored until the function returns.
1.0.0
.setInvalid(?flag:InvalidationFlag):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.
The following example invalidates a component:
component.setInvalid();
trace(component.isInvalid()); // true
1.0.0
.privatesetInvalidationFlag(flag:InvalidationFlag):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.
1.0.0
.See also:
privateupdate():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.
The following example overrides updating after invalidation:
override private function update():Void {
super.update();
}
1.0.0
.