Packagefeathers.core
Classpublic class FeathersControl
InheritanceFeathersControl Inheritance Sprite Inheritance DisplayObjectContainer Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Implements IFeathersControl
Subclasses BitmapFontTextRenderer, Button, Callout, SoftKeyboard, StageTextTextEditor

Base class for all UI controls. Implements invalidation and sets up some basic template functions like initialize() and draw().



Public Properties
 PropertyDefined By
 Inheritedalpha : Number
The opacity of the object.
DisplayObject
 Inheritedbase : DisplayObject
[read-only] The topmost object in the display tree the object is part of.
DisplayObject
 InheritedblendMode : String
The blend mode determines how the object is blended with the objects underneath.
DisplayObject
 Inheritedbounds : Rectangle
[read-only] The bounds of the object relative to the local coordinates of the parent.
DisplayObject
  defaultTextEditorFactory : Function
[static] A function used by all UI controls that support text editor to create an ITextEditor instance.
FeathersControl
  defaultTextRendererFactory : Function
[static] A function used by all UI controls that support text renderers to create an ITextRenderer instance.
FeathersControl
 Inheritedfilter : FragmentFilter
The filter or filter group that is attached to the display object.
DisplayObject
 InheritedhasVisibleArea : Boolean
[read-only] Indicates if an object occupies any visible area.
DisplayObject
  height : Number
[override] The height of the component, in pixels.
FeathersControl
  isEnabled : Boolean
Indicates whether the control is interactive or not.
FeathersControl
 InheritedisFlattened : Boolean
[read-only] Indicates if the sprite was flattened.
Sprite
  isInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
  isQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
  maxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
  maxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
  minHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
  minTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
  minTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
  minWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
  name : String
[override] The concatenated nameList, with each name separated by spaces.
FeathersControl
  nameList : TokenList
[read-only] Contains a list of all "names" assigned to this control.
FeathersControl
 InheritednumChildren : int
[read-only] The number of children of this container.
DisplayObjectContainer
 Inheritedparent : DisplayObjectContainer
[read-only] The display object container that contains this display object.
DisplayObject
 InheritedpivotX : Number
The x coordinate of the object's origin in its own coordinate space (default: 0).
DisplayObject
 InheritedpivotY : Number
The y coordinate of the object's origin in its own coordinate space (default: 0).
DisplayObject
 Inheritedroot : DisplayObject
[read-only] The root object the display object is connected to (i.e.
DisplayObject
 Inheritedrotation : Number
The rotation of the object in radians.
DisplayObject
 InheritedscaleX : Number
The horizontal scale factor.
DisplayObject
 InheritedscaleY : Number
The vertical scale factor.
DisplayObject
 InheritedskewX : Number
The horizontal skew angle in radians.
DisplayObject
 InheritedskewY : Number
The vertical skew angle in radians.
DisplayObject
 Inheritedstage : Stage
[read-only] The stage the display object is connected to, or null if it is not connected to the stage.
DisplayObject
 Inheritedtouchable : Boolean
Indicates if this object (and its children) will receive touch events.
DisplayObject
 InheritedtransformationMatrix : Matrix
The transformation matrix of the object relative to its parent.
DisplayObject
 InheriteduseHandCursor : Boolean
Indicates if the mouse cursor should transform into a hand while it's over the sprite.
DisplayObject
 Inheritedvisible : Boolean
The visibility of the object.
DisplayObject
  width : Number
[override] The width of the component, in pixels.
FeathersControl
 Inheritedx : Number
The x coordinate of the object relative to the local coordinates of the parent.
DisplayObject
 Inheritedy : Number
The y coordinate of the object relative to the local coordinates of the parent.
DisplayObject
Protected Properties
 PropertyDefined By
  actualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
  actualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
  explicitHeight : Number = NaN
The height value explicitly set by calling the height setter or setSize().
FeathersControl
  explicitWidth : Number = NaN
The width value explicitly set by calling the width setter or setSize().
FeathersControl
Public Methods
 MethodDefined By
  
Constructor.
FeathersControl
 Inherited
Adds a child to the container.
DisplayObjectContainer
 Inherited
Adds a child to the container at a certain index.
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function):void
Registers an event listener at a certain object.
EventDispatcher
 Inherited
broadcastEvent(event:Event):void
Dispatches an event on all children (recursively).
DisplayObjectContainer
 Inherited
broadcastEventWith(type:String, data:Object = null):void
Dispatches an event with the given parameters on all children (recursively).
DisplayObjectContainer
 Inherited
contains(child:DisplayObject):Boolean
Determines if a certain object is a child of the container (recursively).
DisplayObjectContainer
 Inherited
dispatchEvent(event:Event):void
Dispatches an event to all objects that have registered listeners for its type.
EventDispatcher
 Inherited
dispatchEventWith(type:String, bubbles:Boolean = false, data:Object = null):void
Dispatches an event with the given parameters to all objects that have registered listeners for the given type.
EventDispatcher
 Inherited
dispose():void
[override] Disposes the resources of all children.
Sprite
 Inherited
flatten():void
Optimizes the sprite for optimal rendering performance.
Sprite
 Inherited
getBounds(targetSpace:DisplayObject, resultRect:Rectangle = null):Rectangle
[override] Returns a rectangle that completely encloses the object as it appears in another coordinate system.
DisplayObjectContainer
 Inherited
Returns a child object at a certain index.
DisplayObjectContainer
 Inherited
Returns a child object with a certain name (non-recursively).
DisplayObjectContainer
 Inherited
Returns the index of a child within the container, or "-1" if it is not found.
DisplayObjectContainer
 Inherited
getTransformationMatrix(targetSpace:DisplayObject, resultMatrix:Matrix = null):Matrix
Creates a matrix that represents the transformation from the local coordinate system to another.
DisplayObject
 Inherited
globalToLocal(globalPoint:Point, resultPoint:Point = null):Point
Transforms a point from global (stage) coordinates to the local coordinate system.
DisplayObject
 Inherited
hasEventListener(type:String):Boolean
Returns if there are listeners registered for a certain event type.
EventDispatcher
 Inherited
hitTest(localPoint:Point, forTouch:Boolean = false):DisplayObject
[override] Returns the object that is found topmost beneath a point in local coordinates, or nil if the test fails.
DisplayObjectContainer
  
invalidate(flag:String):void
When called, the UI control will redraw within one frame.
FeathersControl
  
isInvalid(flag:String = null):Boolean
Indicates whether the control is invalid or not.
FeathersControl
 Inherited
localToGlobal(localPoint:Point, resultPoint:Point = null):Point
Transforms a point from the local coordinate system to global (stage) coordinates.
DisplayObject
 Inherited
removeChild(child:DisplayObject, dispose:Boolean = false):DisplayObject
Removes a child from the container.
DisplayObjectContainer
 Inherited
removeChildAt(index:int, dispose:Boolean = false):DisplayObject
Removes a child at a certain index.
DisplayObjectContainer
 Inherited
removeChildren(beginIndex:int = 0, endIndex:int = -1, dispose:Boolean = false):void
Removes a range of children from the container (endIndex included).
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function):void
Removes an event listener from the object.
EventDispatcher
 Inherited
removeEventListeners(type:String = null):void
Removes all event listeners with a certain type, or all of them if type is null.
EventDispatcher
 Inherited
removeFromParent(dispose:Boolean = false):void
Removes the object from its parent, if it has one.
DisplayObject
 Inherited
render(support:RenderSupport, parentAlpha:Number):void
[override] Renders the display object with the help of a support object.
Sprite
 Inherited
setChildIndex(child:DisplayObject, index:int):void
Moves a child to a certain index.
DisplayObjectContainer
  
setSize(width:Number, height:Number):void
Sets both the width and the height of the control.
FeathersControl
 Inherited
sortChildren(compareFunction:Function):void
Sorts the children according to a given function (that works just like the sort function of the Vector class).
DisplayObjectContainer
 Inherited
Swaps the indexes of two children.
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
Swaps the indexes of two children.
DisplayObjectContainer
 Inherited
unflatten():void
Removes the rendering optimizations that were created when flattening the sprite.
Sprite
  
validate():void
Immediately validates the control, which triggers a redraw, if one is pending.
FeathersControl
Protected Methods
 MethodDefined By
  
draw():void
Override to customize layout and to adjust properties of children.
FeathersControl
  
initialize():void
Override to initialize the UI control.
FeathersControl
  
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of invalidating or not.
FeathersControl
Events
 Event Summary Defined By
 InheritedDispatched when an object is added to a parent.DisplayObject
 InheritedDispatched when an object is connected to the stage (directly or indirectly).DisplayObject
 InheritedDispatched once every frame on every object that is connected to the stage.DisplayObject
 InheritedDispatched on all children when the object is flattened.Sprite
  Dispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched when an object is removed from its parent.DisplayObject
 InheritedDispatched when an object is removed from the stage and won't be rendered any longer.DisplayObject
  Dispatched when the width or height of the control changes.FeathersControl
 InheritedDispatched when an object is touched.DisplayObject
Public Constants
 ConstantDefined By
  INVALIDATION_FLAG_ALL : String = all
[static] Flag to indicate that everything is invalid and should be redrawn.
FeathersControl
  INVALIDATION_FLAG_DATA : String = data
[static] Invalidation flag to indicate that the primary data displayed by the UI control has changed.
FeathersControl
  INVALIDATION_FLAG_LAYOUT : String = layout
[static] Invalidation flag to indicate that the layout of the UI control has changed.
FeathersControl
  INVALIDATION_FLAG_SCROLL : String = scroll
[static] Invalidation flag to indicate that the scroll position of the UI control has changed.
FeathersControl
  INVALIDATION_FLAG_SELECTED : String = selected
[static] Invalidation flag to indicate that the selection of the UI control has changed.
FeathersControl
  INVALIDATION_FLAG_SIZE : String = size
[static] Invalidation flag to indicate that the dimensions of the UI control have changed.
FeathersControl
  INVALIDATION_FLAG_SKIN : String = skin
[static] Invalidation flag to indicate that the skin of the UI control has changed.
FeathersControl
  INVALIDATION_FLAG_STATE : String = state
[static] Invalidation flag to indicate that the state has changed.
FeathersControl
  INVALIDATION_FLAG_STYLES : String = styles
[static] Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
FeathersControl
Property Detail
actualHeightproperty
protected var actualHeight:Number = 0

The final height value that should be used for layout. If the height has been explicitly set, then that value is used. If not, the actual height will be calculated automatically. Each component has different automatic sizing behavior, but it's usually based on the component's skin or content, including text or subcomponents.

actualWidthproperty 
protected var actualWidth:Number = 0

The final width value that should be used for layout. If the width has been explicitly set, then that value is used. If not, the actual width will be calculated automatically. Each component has different automatic sizing behavior, but it's usually based on the component's skin or content, including text or subcomponents.

defaultTextEditorFactoryproperty 
public static var defaultTextEditorFactory:Function

A function used by all UI controls that support text editor to create an ITextEditor instance. You may replace the default function with your own, if you prefer not to use the StageTextTextEditor.

The function is expected to have the following signature:

function():ITextEditor

See also

defaultTextRendererFactoryproperty 
public static var defaultTextRendererFactory:Function

A function used by all UI controls that support text renderers to create an ITextRenderer instance. You may replace the default function with your own, if you prefer not to use the BitmapFontTextRenderer.

The function is expected to have the following signature:

function():ITextRenderer

See also

explicitHeightproperty 
protected var explicitHeight:Number = NaN

The height value explicitly set by calling the height setter or setSize().

explicitWidthproperty 
protected var explicitWidth:Number = NaN

The width value explicitly set by calling the width setter or setSize().

heightproperty 
height:Number[override]

The height of the component, in pixels. This could be a value that was set explicitly, or the component will automatically resize if no explicit height value is provided. Each component has a different automatic sizing behavior, but it's usually based on the component's skin or content, including text or subcomponents.


Implementation
    public function get height():Number
    public function set height(value:Number):void
isEnabledproperty 
isEnabled:Boolean

Indicates whether the control is interactive or not.


Implementation
    public function get isEnabled():Boolean
    public function set isEnabled(value:Boolean):void
isInitializedproperty 
isInitialized:Boolean  [read-only]

Determines if the component has been initialized yet. The initialize() function is called one time only, when the Feathers UI control is added to the display list for the first time.


Implementation
    public function get isInitialized():Boolean
isQuickHitAreaEnabledproperty 
isQuickHitAreaEnabled:Boolean

Similar to mouseChildren on the classic display list. If true, children cannot dispatch touch events, but hit tests will be much faster.


Implementation
    public function get isQuickHitAreaEnabled():Boolean
    public function set isQuickHitAreaEnabled(value:Boolean):void
maxHeightproperty 
maxHeight:Number

The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component. This value is not strictly enforced in all cases. An explicit height value that is larger than maxHeight may be set and will not be affected by the maximum.


Implementation
    public function get maxHeight():Number
    public function set maxHeight(value:Number):void
maxWidthproperty 
maxWidth:Number

The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component. This value is not strictly enforced in all cases. An explicit width value that is larger than maxWidth may be set and will not be affected by the maximum.


Implementation
    public function get maxWidth():Number
    public function set maxWidth(value:Number):void
minHeightproperty 
minHeight:Number

The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component. This value is not strictly enforced in all cases. An explicit height value that is smaller than minHeight may be set and will not be affected by the minimum.


Implementation
    public function get minHeight():Number
    public function set minHeight(value:Number):void
minTouchHeightproperty 
minTouchHeight:Number

If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.


Implementation
    public function get minTouchHeight():Number
    public function set minTouchHeight(value:Number):void
minTouchWidthproperty 
minTouchWidth:Number

If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.


Implementation
    public function get minTouchWidth():Number
    public function set minTouchWidth(value:Number):void
minWidthproperty 
minWidth:Number

The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component. This value is not strictly enforced in all cases. An explicit width value that is smaller than minWidth may be set and will not be affected by the minimum.


Implementation
    public function get minWidth():Number
    public function set minWidth(value:Number):void
nameproperty 
name:String[override]

The concatenated nameList, with each name separated by spaces. Names are like classes in CSS selectors. They are a non-unique identifier that can differentiate multiple styles of the same type of UI control. A single control may have many names, and many controls can share a single name.


Implementation
    public function get name():String
    public function set name(value:String):void

See also

nameListproperty 
nameList:TokenList  [read-only]

Contains a list of all "names" assigned to this control. Names are like classes in CSS selectors. They are a non-unique identifier that can differentiate multiple styles of the same type of UI control. A single control may have many names, and many controls can share a single name. Names may be added, removed, or toggled on the nameList.


Implementation
    public function get nameList():TokenList

See also

widthproperty 
width:Number[override]

The width of the component, in pixels. This could be a value that was set explicitly, or the component will automatically resize if no explicit width value is provided. Each component has a different automatic sizing behavior, but it's usually based on the component's skin or content, including text or subcomponents.


Implementation
    public function get width():Number
    public function set width(value:Number):void
Constructor Detail
FeathersControl()Constructor
public function FeathersControl()

Constructor.

Method Detail
draw()method
protected function draw():void

Override to customize layout and to adjust properties of children.

initialize()method 
protected function initialize():void

Override to initialize the UI control. Should be used to create children and set up event listeners.

invalidate()method 
public function invalidate(flag:String):void

When called, the UI control will redraw within one frame. Invalidation limits processing so that multiple property changes only trigger a single redraw.

If the UI control isn't on the display list, it will never redraw. The control will automatically invalidate once it has been added.

Parameters

flag:String (default = NaN)

isInvalid()method 
public function isInvalid(flag:String = null):Boolean

Indicates whether the control is invalid or not. You may optionally pass in a specific flag to check if that particular flag is set. If the "all" flag is set, the result will always be true.

Parameters

flag:String (default = null)

Returns
Boolean
setSize()method 
public function setSize(width:Number, height:Number):void

Sets both the width and the height of the control.

Parameters

width:Number
 
height:Number

setSizeInternal()method 
protected function setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean

Sets the width and height of the control, with the option of invalidating or not. Intended to be used for automatic resizing.

Parameters

width:Number
 
height:Number
 
canInvalidate:Boolean

Returns
Boolean
validate()method 
public function validate():void

Immediately validates the control, which triggers a redraw, if one is pending.

Event Detail
initialize Event
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.INITIALIZE

Dispatched after initialize() has been called, but before the first time that draw() has been called.

The FeathersEventType.INITIALIZE event type is meant to be used when an IFeathersControl has finished running its initialize() function.
resize Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.RESIZE

Dispatched when the width or height of the control changes.

The FeathersEventType.RESIZE event type is meant to be used when an IFeathersControl has resized.
Constant Detail
INVALIDATION_FLAG_ALLConstant
public static const INVALIDATION_FLAG_ALL:String = all

Flag to indicate that everything is invalid and should be redrawn.

INVALIDATION_FLAG_DATAConstant 
public static const INVALIDATION_FLAG_DATA:String = data

Invalidation flag to indicate that the primary data displayed by the UI control has changed.

INVALIDATION_FLAG_LAYOUTConstant 
public static const INVALIDATION_FLAG_LAYOUT:String = layout

Invalidation flag to indicate that the layout of the UI control has changed.

INVALIDATION_FLAG_SCROLLConstant 
public static const INVALIDATION_FLAG_SCROLL:String = scroll

Invalidation flag to indicate that the scroll position of the UI control has changed.

INVALIDATION_FLAG_SELECTEDConstant 
public static const INVALIDATION_FLAG_SELECTED:String = selected

Invalidation flag to indicate that the selection of the UI control has changed.

INVALIDATION_FLAG_SIZEConstant 
public static const INVALIDATION_FLAG_SIZE:String = size

Invalidation flag to indicate that the dimensions of the UI control have changed.

INVALIDATION_FLAG_SKINConstant 
public static const INVALIDATION_FLAG_SKIN:String = skin

Invalidation flag to indicate that the skin of the UI control has changed.

INVALIDATION_FLAG_STATEConstant 
public static const INVALIDATION_FLAG_STATE:String = state

Invalidation flag to indicate that the state has changed. Used by isEnabled, but may be used for other control states too.

See also

INVALIDATION_FLAG_STYLESConstant 
public static const INVALIDATION_FLAG_STYLES:String = styles

Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.