class UnderlineSkin
package feathers.skins
extends BaseGraphicsPathSkin › ProgrammaticSkin › MeasureSprite › ValidatingSprite
@:directlyUsedA skin for Feathers UI components that draws a border at the bottom only.
1.0.0
.Constructor
Inherited Variables
Defined by BaseGraphicsPathSkin
disabledBorder:LineStyle
How the path's border is styled when the state context is disabled. To
use this skin, the state context must implement the IUIControl
interface.
1.0.0
.See also:
disabledFill:FillStyle
How the path's fill is styled when the state context is disabled. To
use this skin, the state context must implement the IUIControl
interface.
1.0.0
.See also:
fill:FillStyle
How the path's fill is styled. For example, it could be a solid color, a gradient, or a tiled bitmap.
1.0.0
.selectedBorder:LineStyle
How the path's border is styled when the state context is selected. To
use this skin, the state context must implement the IToggle
interface.
1.0.0
.See also:
selectedFill:FillStyle
How the path's fill is styled when the state context is selected. To
use this skin, the state context must implement the IToggle
interface.
1.0.0
.See also:
Defined by ProgrammaticSkin
stateContext:IStateContext<Dynamic>
An optional IStateContext
that is used to change the styles of the
skin when its state changes. Often refers to the same object as
uiContext
, but that is not a requirement (they are allowed to be
different objects).
If stateContext
is null
, the skin may attempt to use uiContext
instead, if uiContext
implements IStateContext
. If stateContext
is null
, and uiContext
does not implement IStateContext
, then
this skin will not be able to watch for state changes.
1.0.0
.Defined by MeasureSprite
Defined by ValidatingSprite
read onlyvalidating:Bool
Indicates if the display object is currently validating.
1.0.0
.Inherited Methods
Defined by BaseGraphicsPathSkin
private@:dox(show)drawPath():Void
Subclasses should override drawPath()
to draw the skin's graphics.
1.0.0
.getBorderForState(state:EnumValue):LineStyle
Gets the border style to be used by the skin when the context's
currentState
property matches the specified state value.
If a border is not defined for a specific state, returns null
.
1.0.0
.See also:
private@:dox(show)getCurrentBorder():LineStyle
Returns the current border based on the state context.
1.0.0
.See also:
private@:dox(show)getCurrentFill():FillStyle
Returns the current fill based on the state context.
1.0.0
.See also:
getFillForState(state:EnumValue):FillStyle
Gets the fill style to be used by the skin when the context's
currentState
property matches the specified state value.
If a fill is not defined for a specific state, returns null
.
1.0.0
.See also:
setBorderForState(state:EnumValue, border:LineStyle):Void
Sets the border style to be used by the skin when the context's
currentState
property matches the specified state value.
If a color is not defined for a specific state, the value of the
border
property will be used instead.
To clear a state's border, pass in null
.
1.0.0
.See also:
setFillForState(state:EnumValue, fill:FillStyle):Void
Sets the fill style to be used by the skin when the context's
currentState
property matches the specified state value.
If a color is not defined for a specific state, the value of the fill
property will be used instead.
To clear a state's fill, pass in null
.
1.0.0
.See also:
Defined by ProgrammaticSkin
private@:dox(show)needsStateUpdate():Bool
Checks if a the current state requires the skin to be redrawn. By
default, returns true
.
Subclasses may override needsStateUpdate()
to limit when state changes
require the skin to update.
1.0.0
.private@:dox(show)onAddUIContext():Void
Called when the uiContext
property is set to a new non-null value.
Subclasses may override to access the uiContext
property to add
event listeners or set properties.
1.0.0
.private@:dox(show)onRemoveUIContext():Void
Called when the uiContext
property is about to be cleared.
Subclasses may override to access the uiContext
property to remove
event listeners or reset properties.
1.0.0
.private@:dox(show)update():Void
Subclasses may override update()
to draw the skin.
1.0.0
.Defined by MeasureSprite
private@:value({ minHeight : 0.0, minWidth : 0.0 })@:dox(show)saveMeasurements(width:Float, height:Float, minWidth:Float = 0.0, minHeight:Float = 0.0, ?maxWidth:Float, ?maxHeight:Float):Bool
Saves the calculated dimensions for the component, replacing any values
that haven't been set explicitly. Returns true
if the reported values
have changed and Event.RESIZE
was dispatched.
1.0.0
.Defined by ValidatingSprite
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
.private@:dox(show)setInvalidationFlag(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: