Packagefeathers.layout
Interfacepublic interface IVariableVirtualLayout extends IVirtualLayout, ILayout, IFeathersEventDispatcher
Implementors FlowLayout, HorizontalLayout, VerticalLayout, WaterfallLayout

Product Version : Feathers 1.0.0

A virtual layout that supports variable item dimensions.



Public Properties
 PropertyDefined By
  hasVariableItemDimensions : Boolean
When the layout is virtualized, and this value is true, the items may have variable dimensions.
IVariableVirtualLayout
 InheritedrequiresLayoutOnScroll : Boolean
[read-only] Determines if the container calls layout() when the scroll position changes.
ILayout
 InheritedtypicalItem : DisplayObject
Used internally by a component that supports layout virtualization, such as List, to provide a display object with dimensions that represent a "typical" item in the layout.
IVirtualLayout
 InheriteduseVirtualLayout : Boolean
Determines if virtual layout should be used.
IVirtualLayout
Public Methods
 MethodDefined By
 Inherited
addEventListener(type:String, listener:Function):void
Adds a listener for an event type.
IFeathersEventDispatcher
  
addToVariableVirtualCacheAtIndex(index:int, item:DisplayObject = null):void
Inserts an item in to the cache at the specified index, pushing the old cached value at that index, and all following values, up one index.
IVariableVirtualLayout
 Inherited
calculateNavigationDestination(items:Vector.<DisplayObject>, index:int, keyCode:uint, bounds:LayoutBoundsResult):int
Using the current index and a key press, calculates the new index.
ILayout
 Inherited
dispatchEvent(event:Event):void
Dispatches an event to all listeners added for the specified event type.
IFeathersEventDispatcher
 Inherited
dispatchEventWith(type:String, bubbles:Boolean = false, data:Object = null):void
Dispatches an event from the pool with the specified to all listeners for the specified event type.
IFeathersEventDispatcher
 Inherited
getNearestScrollPositionForIndex(index:int, scrollX:Number, scrollY:Number, items:Vector.<DisplayObject>, x:Number, y:Number, width:Number, height:Number, result:Point = null):Point
Calculates the scroll position nearest to the current scroll position that will display the full bounds of the item within the view port.
ILayout
 Inherited
getScrollPositionForIndex(index:int, items:Vector.<DisplayObject>, x:Number, y:Number, width:Number, height:Number, result:Point = null):Point
Using the item dimensions, calculates a scroll position that will ensure that the item at a given index will be visible within the specified bounds.
ILayout
 Inherited
getVisibleIndicesAtScrollPosition(scrollX:Number, scrollY:Number, width:Number, height:Number, itemCount:int, result:Vector.<int> = null):Vector.<int>
Used internally by a component, such as List, to determines which indices are visible with the specified view port bounds and scroll position.
IVirtualLayout
 Inherited
hasEventListener(type:String, listener:Function = null):Boolean
Checks if a listener has been added for the specified event type.
IFeathersEventDispatcher
 Inherited
layout(items:Vector.<DisplayObject>, viewPortBounds:ViewPortBounds = null, result:LayoutBoundsResult = null):LayoutBoundsResult
Positions (and possibly resizes) the supplied items within the optional bounds argument.
ILayout
 Inherited
measureViewPort(itemCount:int, viewPortBounds:ViewPortBounds = null, result:Point = null):Point
Used internally by a component, such as List, to measure the view port based on the typical item dimensions or cached dimensions, if available.
IVirtualLayout
 Inherited
removeEventListener(type:String, listener:Function):void
Removes a listener for an event type.
IFeathersEventDispatcher
 Inherited
removeEventListeners(type:String = null):void
Removes all listeners for an event type.
IFeathersEventDispatcher
  
Removes an item in to the cache at the specified index, moving the values at following indexes down by one.
IVariableVirtualLayout
  
Clears the cached dimensions for all virtualized indices.
IVariableVirtualLayout
  
resetVariableVirtualCacheAtIndex(index:int, item:DisplayObject = null):void
Clears the cached dimensions for one specific virtualized index.
IVariableVirtualLayout
Events
 Event Summary Defined By
  Dispatched when the layout would like to adjust the container's scroll position.IVariableVirtualLayout
Property Detail
hasVariableItemDimensionsproperty
hasVariableItemDimensions:Boolean

When the layout is virtualized, and this value is true, the items may have variable dimensions. If false, the items will all share the same dimensions as the typical item. Performance is better for layouts where all items have the same dimensions.


Implementation
    public function get hasVariableItemDimensions():Boolean
    public function set hasVariableItemDimensions(value:Boolean):void
Method Detail
addToVariableVirtualCacheAtIndex()method
public function addToVariableVirtualCacheAtIndex(index:int, item:DisplayObject = null):void

Inserts an item in to the cache at the specified index, pushing the old cached value at that index, and all following values, up one index.

Parameters

index:int
 
item:DisplayObject (default = null)

removeFromVariableVirtualCacheAtIndex()method 
public function removeFromVariableVirtualCacheAtIndex(index:int):void

Removes an item in to the cache at the specified index, moving the values at following indexes down by one.

Parameters

index:int

resetVariableVirtualCache()method 
public function resetVariableVirtualCache():void

Clears the cached dimensions for all virtualized indices.

resetVariableVirtualCacheAtIndex()method 
public function resetVariableVirtualCacheAtIndex(index:int, item:DisplayObject = null):void

Clears the cached dimensions for one specific virtualized index.

Parameters

index:int
 
item:DisplayObject (default = null)

Event Detail
scroll Event
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.SCROLL

Dispatched when the layout would like to adjust the container's scroll position. Typically, this is used when the virtual dimensions of an item differ from its real dimensions. This event allows the container to adjust scrolling so that it appears smooth, without jarring jumps or shifts when an item resizes.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
dataA flash.geom.Point object representing how much the scroll position should be adjusted in both horizontal and vertical directions. Measured in pixels.
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.