Packagefeathers.controls
Classpublic class ScreenNavigator
InheritanceScreenNavigator Inheritance FeathersControl Inheritance Sprite Inheritance DisplayObjectContainer Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

A "view stack"-like container that supports navigation between screens (any display object) through events.

See also

http://wiki.starling-framework.org/feathers/screen-navigator
http://wiki.starling-framework.org/feathers/transitions
feathers.controls.ScreenNavigatorItem
feathers.controls.Screen


Public Properties
 PropertyDefined By
  activeScreen : DisplayObject
[read-only] A reference to the currently active screen.
ScreenNavigator
  activeScreenID : String
[read-only] The string identifier for the currently active screen.
ScreenNavigator
 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
  clipContent : Boolean
Determines if the navigator's content should be clipped to the width and height.
ScreenNavigator
 InheritedclipRect : Rectangle
[override]
FeathersControl
 InheriteddefaultTextEditorFactory : Function
[static] A function used by all UI controls that support text editor to create an ITextEditor instance.
FeathersControl
 InheriteddefaultTextRendererFactory : Function
[static] A function used by all UI controls that support text renderers to create an ITextRenderer instance.
FeathersControl
 Inheritedfilter : FragmentFilter
The filter that is attached to the display object.
DisplayObject
 InheritedfocusManager : IFocusManager
The current focus manager for this component.
FeathersControl
 InheritedhasVisibleArea : Boolean
[read-only] Indicates if an object occupies any visible area.
DisplayObject
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
 InheritedisEnabled : Boolean
Indicates whether the control is interactive or not.
FeathersControl
 InheritedisFlattened : Boolean
[read-only] Indicates if the sprite was flattened.
Sprite
 InheritedisFocusEnabled : Boolean
Determines if this component can receive focus.
FeathersControl
 InheritedisInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
 InheritedmaxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmaxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
 InheritedminTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
 InheritedminWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 Inheritedname : String
[override] The concatenated nameList, with each name separated by spaces.
FeathersControl
 InheritednameList : TokenList
[read-only] Contains a list of all "names" assigned to this control.
FeathersControl
 InheritednextTabFocus : IFocusDisplayObject
The next object that will receive focus when the tab key is pressed.
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
  transition : Function
A function that is called when the ScreenNavigator is changing screens.
ScreenNavigator
 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
 Inheritedwidth : 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
 InheritedactualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
 InheritedactualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
 InheritedexplicitHeight : Number = NaN
The height value explicitly set by calling the height setter or setSize().
FeathersControl
 InheritedexplicitWidth : Number = NaN
The width value explicitly set by calling the width setter or setSize().
FeathersControl
Public Methods
 MethodDefined By
  
Constructor.
ScreenNavigator
 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
[override]
DisplayObject
  
addScreen(id:String, item:ScreenNavigatorItem):void
Registers a new screen by its identifier.
ScreenNavigator
 Inherited
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
 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
  
Removes the current screen, leaving the ScreenNavigator empty.
ScreenNavigator
 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.
Sprite
 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
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
  
Returns the ScreenNavigatorItem instance with the specified identifier.
ScreenNavigator
  
getScreenIDs(result:Vector.<String> = null):Vector.<String>
Returns a list of the screen identifiers that have been added.
ScreenNavigator
 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
  
hasScreen(id:String):Boolean
Determines if the specified screen identifier has been added.
ScreenNavigator
 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.
Sprite
 Inherited
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending.
FeathersControl
 Inherited
isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation 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
[override]
DisplayObject
 Inherited
removeEventListeners(type:String = null):void
[override]
DisplayObject
 Inherited
removeFromParent(dispose:Boolean = false):void
Removes the object from its parent, if it has one, and optionally disposes it.
DisplayObject
  
removeScreen(id:String):void
Removes an existing screen using its identifier.
ScreenNavigator
 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
 Inherited
setSize(width:Number, height:Number):void
Sets both the width and the height of the control.
FeathersControl
  
Displays a screen and returns a reference to it.
ScreenNavigator
 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
 Inherited
validate():void
Immediately validates the control, which triggers a redraw, if one is pending.
FeathersControl
Protected Methods
 MethodDefined By
  
defaultTransition(oldScreen:DisplayObject, newScreen:DisplayObject, completeHandler:Function):void
[static] The default transition function.
ScreenNavigator
 Inherited
draw():void
Override to customize layout and to adjust properties of children.
FeathersControl
 Inherited
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
 Inherited
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
  Dispatched when the active screen changes.ScreenNavigator
  Dispatched when the current screen is removed and there is no active screen.ScreenNavigator
 InheritedDispatched once every frame on every object that is connected to the stage.DisplayObject
 InheritedDispatched on all children when the object is flattened.Sprite
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched when a key on the keyboard is pressed.DisplayObject
 InheritedDispatched when a key on the keyboard is released.DisplayObject
 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
 InheritedDispatched when the width or height of the control changes.FeathersControl
 InheritedDispatched when an object is touched.DisplayObject
  Dispatched when the transition between screens has completed.ScreenNavigator
  Dispatched when the transition between screens begins.ScreenNavigator
Public Constants
 ConstantDefined By
 InheritedINVALIDATION_FLAG_ALL : String = all
[static] Flag to indicate that everything is invalid and should be redrawn.
FeathersControl
 InheritedINVALIDATION_FLAG_DATA : String = data
[static] Invalidation flag to indicate that the primary data displayed by the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_LAYOUT : String = layout
[static] Invalidation flag to indicate that the layout of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SCROLL : String = scroll
[static] Invalidation flag to indicate that the scroll position of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SELECTED : String = selected
[static] Invalidation flag to indicate that the selection of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SIZE : String = size
[static] Invalidation flag to indicate that the dimensions of the UI control have changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SKIN : String = skin
[static] Invalidation flag to indicate that the skin of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STATE : String = state
[static] Invalidation flag to indicate that the state has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STYLES : String = styles
[static] Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
FeathersControl
Property Detail
activeScreenproperty
activeScreen:DisplayObject  [read-only]

A reference to the currently active screen.


Implementation
    public function get activeScreen():DisplayObject
activeScreenIDproperty 
activeScreenID:String  [read-only]

The string identifier for the currently active screen.


Implementation
    public function get activeScreenID():String
clipContentproperty 
clipContent:Boolean

Determines if the navigator's content should be clipped to the width and height.


Implementation
    public function get clipContent():Boolean
    public function set clipContent(value:Boolean):void
transitionproperty 
public var transition:Function

A function that is called when the ScreenNavigator is changing screens.

Constructor Detail
ScreenNavigator()Constructor
public function ScreenNavigator()

Constructor.

Method Detail
addScreen()method
public function addScreen(id:String, item:ScreenNavigatorItem):void

Registers a new screen by its identifier.

Parameters

id:String
 
item:ScreenNavigatorItem

clearScreen()method 
public function clearScreen():void

Removes the current screen, leaving the ScreenNavigator empty.

defaultTransition()method 
protected static function defaultTransition(oldScreen:DisplayObject, newScreen:DisplayObject, completeHandler:Function):void

The default transition function.

Parameters

oldScreen:DisplayObject
 
newScreen:DisplayObject
 
completeHandler:Function

getScreen()method 
public function getScreen(id:String):ScreenNavigatorItem

Returns the ScreenNavigatorItem instance with the specified identifier.

Parameters

id:String

Returns
ScreenNavigatorItem
getScreenIDs()method 
public function getScreenIDs(result:Vector.<String> = null):Vector.<String>

Returns a list of the screen identifiers that have been added.

Parameters

result:Vector.<String> (default = null)

Returns
Vector.<String>
hasScreen()method 
public function hasScreen(id:String):Boolean

Determines if the specified screen identifier has been added.

Parameters

id:String

Returns
Boolean
removeScreen()method 
public function removeScreen(id:String):void

Removes an existing screen using its identifier.

Parameters

id:String

showScreen()method 
public function showScreen(id:String):DisplayObject

Displays a screen and returns a reference to it. If a previous transition is running, the new screen will be queued, and no reference will be returned.

Parameters

id:String

Returns
DisplayObject
Event Detail
change Event
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.CHANGE

Dispatched when the active screen changes.

An event type to be utilized in custom events. Not used by Starling right now.
clear Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.CLEAR

Dispatched when the current screen is removed and there is no active screen.

The FeathersEventType.CLEAR event type is a generic event type for when something is "cleared".
transitionComplete Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.TRANSITION_COMPLETE

Dispatched when the transition between screens has completed.

The FeathersEventType.TRANSITION_COMPLETE event type is used by the ScreenNavigator to indicate when a transition between screens ends.
transitionStart Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.TRANSITION_START

Dispatched when the transition between screens begins.

The FeathersEventType.TRANSITION_START event type is used by the ScreenNavigator to indicate when a transition between screens begins.