A skin for Feathers UI components that draws a rectangle. The rectangle's fill and border may be styled, and the corners may be rounded.

Available since

1.0.0

.

Constructor

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

Creates a new RectangleSkin object.

Available since

1.0.0

.

Variables

cornerRadius:Float

The rectangle may optionally have rounded corners, and this sets their radius, measured in pixels.

Available since

1.0.0

.

Inherited Variables

Defined by BaseGraphicsPathSkin

border:LineStyle

How the path's border is styled.

Available since

1.0.0

.

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.

Available since

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.

Available since

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.

Available since

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.

Available since

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.

Available since

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.

Available since

1.0.0

.

uiContext:IUIControl

The UI component that is displaying this skin.

Available since

1.0.0

.

See also:

Defined by MeasureSprite

Defined by ValidatingSprite

read onlyvalidating:Bool

Indicates if the display object is currently validating.

Available since

1.0.0

.

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

.

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().

Available since

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.

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: