| Package | feathers.core |
| Class | public class FeathersControl |
| Inheritance | FeathersControl Sprite DisplayObjectContainer DisplayObject EventDispatcher Object |
| Implements | IFeathersControl, ILayoutDisplayObject |
| Subclasses | BitmapFontTextRenderer, Button, ButtonGroup, Callout, DefaultGroupedListHeaderOrFooterRenderer, Header, ImageLoader, Label, PageIndicator, PickerList, ProgressBar, Screen, ScreenNavigator, ScrollBar, Scroller, SimpleScrollBar, Slider, StageTextTextEditor, TabBar, TextFieldTextEditor, TextFieldTextRenderer, TextInput, ToggleSwitch |
initialize() and
draw().
| Property | Defined By | ||
|---|---|---|---|
![]() | alpha : Number The opacity of the object. | DisplayObject | |
![]() | base : DisplayObject [read-only] The topmost object in the display tree the object is part of. | DisplayObject | |
![]() | blendMode : String The blend mode determines how the object is blended with the objects underneath. | DisplayObject | |
![]() | bounds : Rectangle [read-only] The bounds of the object relative to the local coordinates of the parent. | DisplayObject | |
| clipRect : Rectangle [override] | FeathersControl | ||
| 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 | ||
![]() | filter : FragmentFilter The filter that is attached to the display object. | DisplayObject | |
| focusManager : IFocusManager
The current focus manager for this component. | FeathersControl | ||
![]() | hasVisibleArea : Boolean [read-only] Indicates if an object occupies any visible area. | DisplayObject | |
| height : Number [override]
The height of the component, in pixels. | FeathersControl | ||
| includeInLayout : Boolean
Determines if the ILayout should use this object or ignore it. | FeathersControl | ||
| isEnabled : Boolean
Indicates whether the control is interactive or not. | FeathersControl | ||
![]() | isFlattened : Boolean [read-only] Indicates if the sprite was flattened. | Sprite | |
| isFocusEnabled : Boolean
Determines if this component can receive focus. | FeathersControl | ||
| isInitialized : Boolean [read-only]
Determines if the component has been initialized yet. | FeathersControl | ||
| isQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list. | FeathersControl | ||
| layoutData : ILayoutData
Extra parameters associated with this display object that will be
used by the layout algorithm. | 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 | ||
| nextTabFocus : IFocusDisplayObject
The next object that will receive focus when the tab key is pressed. | FeathersControl | ||
![]() | numChildren : int [read-only] The number of children of this container. | DisplayObjectContainer | |
![]() | parent : DisplayObjectContainer [read-only] The display object container that contains this display object. | DisplayObject | |
![]() | pivotX : Number The x coordinate of the object's origin in its own coordinate space (default: 0). | DisplayObject | |
![]() | pivotY : Number The y coordinate of the object's origin in its own coordinate space (default: 0). | DisplayObject | |
![]() | root : DisplayObject [read-only] The root object the display object is connected to (i.e. | DisplayObject | |
![]() | rotation : Number The rotation of the object in radians. | DisplayObject | |
![]() | scaleX : Number The horizontal scale factor. | DisplayObject | |
![]() | scaleY : Number The vertical scale factor. | DisplayObject | |
![]() | skewX : Number The horizontal skew angle in radians. | DisplayObject | |
![]() | skewY : Number The vertical skew angle in radians. | DisplayObject | |
![]() | stage : Stage [read-only] The stage the display object is connected to, or null if it is not connected
to the stage. | DisplayObject | |
![]() | touchable : Boolean Indicates if this object (and its children) will receive touch events. | DisplayObject | |
![]() | transformationMatrix : Matrix The transformation matrix of the object relative to its parent. | DisplayObject | |
![]() | useHandCursor : Boolean Indicates if the mouse cursor should transform into a hand while it's over the sprite. | DisplayObject | |
![]() | visible : Boolean The visibility of the object. | DisplayObject | |
| width : Number [override]
The width of the component, in pixels. | FeathersControl | ||
![]() | x : Number The x coordinate of the object relative to the local coordinates of the parent. | DisplayObject | |
![]() | y : Number The y coordinate of the object relative to the local coordinates of the parent. | DisplayObject | |
| Property | Defined 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 | ||
| Method | Defined By | ||
|---|---|---|---|
Constructor. | FeathersControl | ||
![]() | Adds a child to the container. | DisplayObjectContainer | |
![]() | Adds a child to the container at a certain index. | DisplayObjectContainer | |
![]() | addEventListener(type:String, listener:Function):void [override] | DisplayObject | |
![]() | alignPivot(hAlign:String = center, vAlign:String = center):void Moves the pivot point to a certain position within the local coordinate system
of the object. | DisplayObject | |
![]() | broadcastEvent(event:Event):void Dispatches an event on all children (recursively). | DisplayObjectContainer | |
![]() | broadcastEventWith(type:String, data:Object = null):void Dispatches an event with the given parameters on all children (recursively). | DisplayObjectContainer | |
![]() | contains(child:DisplayObject):Boolean Determines if a certain object is a child of the container (recursively). | DisplayObjectContainer | |
![]() | dispatchEvent(event:Event):void Dispatches an event to all objects that have registered listeners for its type. | EventDispatcher | |
![]() | 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 | |
![]() | dispose():void [override] Disposes the resources of all children. | Sprite | |
![]() | flatten():void Optimizes the sprite for optimal rendering performance. | Sprite | |
![]() | getBounds(targetSpace:DisplayObject, resultRect:Rectangle = null):Rectangle [override] Returns a rectangle that completely encloses the object as it appears in another
coordinate system. | Sprite | |
![]() | getChildAt(index:int):DisplayObject Returns a child object at a certain index. | DisplayObjectContainer | |
![]() | getChildByName(name:String):DisplayObject Returns a child object with a certain name (non-recursively). | DisplayObjectContainer | |
![]() | getChildIndex(child:DisplayObject):int Returns the index of a child within the container, or "-1" if it is not found. | DisplayObjectContainer | |
![]() | getClipRect(targetSpace:DisplayObject, resultRect:Rectangle = null):Rectangle Returns the bounds of the container's clipRect in the given coordinate space, or
null if the sprite doens't have a clipRect. | Sprite | |
![]() | getTransformationMatrix(targetSpace:DisplayObject, resultMatrix:Matrix = null):Matrix Creates a matrix that represents the transformation from the local coordinate system
to another. | DisplayObject | |
![]() | globalToLocal(globalPoint:Point, resultPoint:Point = null):Point Transforms a point from global (stage) coordinates to the local coordinate system. | DisplayObject | |
![]() | hasEventListener(type:String):Boolean Returns if there are listeners registered for a certain event type. | EventDispatcher | |
![]() | 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. | Sprite | |
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending. | FeathersControl | ||
isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not. | FeathersControl | ||
![]() | localToGlobal(localPoint:Point, resultPoint:Point = null):Point Transforms a point from the local coordinate system to global (stage) coordinates. | DisplayObject | |
![]() | Removes a child from the container. | DisplayObjectContainer | |
![]() | removeChildAt(index:int, dispose:Boolean = false):DisplayObject Removes a child at a certain index. | DisplayObjectContainer | |
![]() | removeChildren(beginIndex:int = 0, endIndex:int = -1, dispose:Boolean = false):void Removes a range of children from the container (endIndex included). | DisplayObjectContainer | |
![]() | removeEventListener(type:String, listener:Function):void [override] | DisplayObject | |
![]() | removeEventListeners(type:String = null):void [override] | DisplayObject | |
![]() | removeFromParent(dispose:Boolean = false):void Removes the object from its parent, if it has one, and optionally disposes it. | DisplayObject | |
![]() | render(support:RenderSupport, parentAlpha:Number):void [override] Renders the display object with the help of a support object. | Sprite | |
![]() | 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 | ||
![]() | sortChildren(compareFunction:Function):void Sorts the children according to a given function (that works just like the sort function
of the Vector class). | DisplayObjectContainer | |
![]() | Swaps the indexes of two children. | DisplayObjectContainer | |
![]() | swapChildrenAt(index1:int, index2:int):void Swaps the indexes of two children. | DisplayObjectContainer | |
![]() | 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 | ||
| Method | Defined By | ||
|---|---|---|---|
draw():void
Override to customize layout and to adjust properties of children. | FeathersControl | ||
initialize():void
Called the first time that the UI control is added to the stage, and
you should override this function to customize the initialization
process. | 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 | ||
| Event | Summary | Defined By | ||
|---|---|---|---|---|
![]() | Dispatched when an object is added to a parent. | DisplayObject | ||
![]() | Dispatched when an object is connected to the stage (directly or indirectly). | DisplayObject | ||
![]() | Dispatched once every frame on every object that is connected to the stage. | DisplayObject | ||
![]() | Dispatched 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 | |||
![]() | Dispatched when a key on the keyboard is pressed. | DisplayObject | ||
![]() | Dispatched when a key on the keyboard is released. | DisplayObject | ||
![]() | Dispatched when an object is removed from its parent. | DisplayObject | ||
![]() | Dispatched 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 | |||
![]() | Dispatched when an object is touched. | DisplayObject | ||
| Constant | Defined 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 | ||
| actualHeight | property |
protected var actualHeight:Number = 0The 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.
| actualWidth | property |
protected var actualWidth:Number = 0The 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.
| clipRect | property |
clipRect:Rectangle[override] public function get clipRect():Rectangle public function set clipRect(value:Rectangle):void| defaultTextEditorFactory | property |
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
| defaultTextRendererFactory | property |
public static var defaultTextRendererFactory:FunctionA 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
| explicitHeight | property |
protected var explicitHeight:Number = NaNThe height value explicitly set by calling the height setter or setSize().
| explicitWidth | property |
protected var explicitWidth:Number = NaNThe width value explicitly set by calling the width setter or setSize().
| focusManager | property |
focusManager:IFocusManagerThe current focus manager for this component.
public function get focusManager():IFocusManager public function set focusManager(value:IFocusManager):void| height | property |
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.
Note: Values of the width and
height properties may not be accurate until after
validation. If you are seeing width or height
values of 0, but you can see something on the screen and
know that the value should be larger, it may be because you asked for
the dimensions before the component had validated. Call
validate() to tell the component to immediately redraw
and calculate an accurate values for the dimensions.
public function get height():Number public function set height(value:Number):voidSee also
| includeInLayout | property |
includeInLayout:BooleanDetermines if the ILayout should use this object or ignore it.
public function get includeInLayout():Boolean public function set includeInLayout(value:Boolean):void| isEnabled | property |
isEnabled:BooleanIndicates whether the control is interactive or not.
public function get isEnabled():Boolean public function set isEnabled(value:Boolean):void| isFocusEnabled | property |
isFocusEnabled:BooleanDetermines if this component can receive focus.
public function get isFocusEnabled():Boolean public function set isFocusEnabled(value:Boolean):void| isInitialized | property |
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.
public function get isInitialized():Boolean| isQuickHitAreaEnabled | property |
isQuickHitAreaEnabled:BooleanSimilar to mouseChildren on the classic display list. If true, children cannot dispatch touch events, but hit tests will be much faster.
public function get isQuickHitAreaEnabled():Boolean public function set isQuickHitAreaEnabled(value:Boolean):void| layoutData | property |
layoutData:ILayoutDataExtra parameters associated with this display object that will be used by the layout algorithm.
public function get layoutData():ILayoutData public function set layoutData(value:ILayoutData):void| maxHeight | property |
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.
public function get maxHeight():Number public function set maxHeight(value:Number):void| maxWidth | property |
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.
public function get maxWidth():Number public function set maxWidth(value:Number):void| minHeight | property |
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.
public function get minHeight():Number public function set minHeight(value:Number):void| minTouchHeight | property |
minTouchHeight:Number
If using isQuickHitAreaEnabled, and the hit area's
height is smaller than this value, it will be expanded.
public function get minTouchHeight():Number public function set minTouchHeight(value:Number):void| minTouchWidth | property |
minTouchWidth:Number
If using isQuickHitAreaEnabled, and the hit area's
width is smaller than this value, it will be expanded.
public function get minTouchWidth():Number public function set minTouchWidth(value:Number):void| minWidth | property |
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.
public function get minWidth():Number public function set minWidth(value:Number):void| name | property |
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.
public function get name():String public function set name(value:String):voidSee also
| nameList | property |
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.
public function get nameList():TokenListSee also
| nextTabFocus | property |
nextTabFocus:IFocusDisplayObjectThe next object that will receive focus when the tab key is pressed.
public function get nextTabFocus():IFocusDisplayObject public function set nextTabFocus(value:IFocusDisplayObject):void| width | property |
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.
Note: Values of the width and
height properties may not be accurate until after
validation. If you are seeing width or height
values of 0, but you can see something on the screen and
know that the value should be larger, it may be because you asked for
the dimensions before the component had validated. Call
validate() to tell the component to immediately redraw
and calculate an accurate values for the dimensions.
public function get width():Number public function set width(value:Number):voidSee also
| FeathersControl | () | Constructor |
public function FeathersControl()Constructor.
| draw | () | method |
protected function draw():voidOverride 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.
| initialize | () | method |
protected function initialize():void
Called the first time that the UI control is added to the stage, and
you should override this function to customize the initialization
process. Do things like create children and set up event listeners.
After this function is called, FeathersEventType.INITIALIZE
is dispatched.
See also
| invalidate | () | method |
public function invalidate(flag:String):voidCall this function to tell the UI control that a redraw is pending. The redraw will happen immediately before Starling 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.
Parameters
flag:String (default = NaN) |
See also
| isInvalid | () | method |
public function isInvalid(flag:String = null):Boolean
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.
Parameters
flag:String (default = null) |
Boolean |
| setSize | () | method |
public function setSize(width:Number, height:Number):voidSets 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 when the width
and height values have not been set explicitly, and the
UI control needs to measure itself and choose an "ideal" size.
Parameters
width:Number | |
height:Number | |
canInvalidate:Boolean |
Boolean |
| validate | () | method |
public function validate():voidImmediately validates the control, which triggers a redraw, if one is pending. Validation exists to postpone redrawing a component until the last possible moment before rendering so that multiple properties can be changed at once without requiring a full redraw after each change.
A component cannot validate if it does not have access to the stage and if it hasn't initialized yet. A component initializes the first time that it has been added to the stage.
See also
| initialize | Event |
starling.events.Eventfeathers.events.FeathersEventType.INITIALIZEDispatched after initialize() has been called, but before the first time that draw() has been called.
TheFeathersEventType.INITIALIZE event type is meant to
be used when an IFeathersControl has finished running
its initialize() function.
| resize | Event |
starling.events.Eventfeathers.events.FeathersEventType.RESIZEDispatched when the width or height of the control changes.
TheFeathersEventType.RESIZE event type is meant to
be used when an IFeathersControl has resized.
| INVALIDATION_FLAG_ALL | Constant |
public static const INVALIDATION_FLAG_ALL:String = allFlag to indicate that everything is invalid and should be redrawn.
| INVALIDATION_FLAG_DATA | Constant |
public static const INVALIDATION_FLAG_DATA:String = dataInvalidation flag to indicate that the primary data displayed by the UI control has changed.
| INVALIDATION_FLAG_LAYOUT | Constant |
public static const INVALIDATION_FLAG_LAYOUT:String = layoutInvalidation flag to indicate that the layout of the UI control has changed.
| INVALIDATION_FLAG_SCROLL | Constant |
public static const INVALIDATION_FLAG_SCROLL:String = scrollInvalidation flag to indicate that the scroll position of the UI control has changed.
| INVALIDATION_FLAG_SELECTED | Constant |
public static const INVALIDATION_FLAG_SELECTED:String = selectedInvalidation flag to indicate that the selection of the UI control has changed.
| INVALIDATION_FLAG_SIZE | Constant |
public static const INVALIDATION_FLAG_SIZE:String = sizeInvalidation flag to indicate that the dimensions of the UI control have changed.
| INVALIDATION_FLAG_SKIN | Constant |
public static const INVALIDATION_FLAG_SKIN:String = skinInvalidation flag to indicate that the skin of the UI control has changed.
| INVALIDATION_FLAG_STATE | Constant |
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_STYLES | Constant |
public static const INVALIDATION_FLAG_STYLES:String = stylesInvalidation flag to indicate that the styles or visual appearance of the UI control has changed.