A skin for Feathers UI components that draws a triangle pointing in one of the four cardinal directions. The triangle's fill and border may be styled, and the position of the primary point may be customized.

Available since

1.0.0

.

Constructor

new(?fill:FillStyle, ?border:LineStyle)

Creates a new TriangleSkin object.

Available since

1.0.0

.

Variables

@:flash.propertydrawBaseBorder:Bool

The triangle's base border can be drawn or not

Available since

1.0.0

.

@:flash.propertypointPosition:RelativePosition

The triangle may point in any of the four cardinal directions.

Available since

1.0.0

.

Inherited Variables

Defined by BaseGraphicsPathSkin

@:flash.propertyborder:LineStyle

How the path's border is styled.

Available since

1.0.0

.

@:flash.propertydisabledBorder: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.

Available since

1.0.0

.

See also:

@:flash.propertydisabledFill: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.

Available since

1.0.0

.

See also:

@:flash.propertyfill:FillStyle

How the path's fill is styled. For example, it could be a solid color, a gradient, or a tiled bitmap.

Available since

1.0.0

.

@:flash.propertyselectedBorder: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.

Available since

1.0.0

.

See also:

@:flash.propertyselectedFill: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.

Available since

1.0.0

.

See also:

Defined by ProgrammaticSkin

@:flash.propertystateContext: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.

Available since

1.0.0

.

@:flash.propertyuiContext:IUIControl

The UI component that is displaying this skin.

Available since

1.0.0

.

See also:

Defined by MeasureSprite

@:flash.propertyexplicitWidth:Null<Float>

@:flash.propertymaxWidth:Float

@:flash.propertyminWidth:Float

Defined by ValidatingSprite

@:flash.propertyread onlydepth:Int

Inherited Methods

Defined by BaseGraphicsPathSkin

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

Subclasses should override drawPath() to draw the skin's graphics.

Available since

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.

Available since

1.0.0

.

See also:

private@:dox(show)getCurrentBorder():LineStyle

private@:dox(show)getCurrentFill():FillStyle

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.

Available since

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.

Available since

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.

Available since

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.

Available since

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.

Available since

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.

Available since

1.0.0

.

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

Subclasses may override update() to draw the skin.

Available since

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.

Available since

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
Available since

1.0.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.

Available since

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
Available since

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.

Available since

1.0.0

.

See also: