ITrimmedVirtualLayout
public interface
feathers.layout.ITrimmedVirtualLayout
Description
Optimizes a virtual layout by skipping a specific number of items before
and after the set that is passed to layout().
API overview
Constructor
Attributes
Public attributes
| afterVirtualizedItemCount: Number |
The number of virtualized items that appear after the items passed
to |
| beforeVirtualizedItemCount: Number |
The number of virtualized items that appear before the items passed
to |
Constructor
ITrimmedVirtualLayout ()
Attributes
afterVirtualizedItemCount: Number
The number of virtualized items that appear after the items passed
to layout(). Allows the array of items to be smaller
than the full size. Does not work if the layout has variable item
dimensions.
beforeVirtualizedItemCount: Number
The number of virtualized items that appear before the items passed
to layout(). Allows the array of items to be smaller
than the full size. Does not work if the layout has variable item
dimensions.
typicalItemHeight: Number
Inherited from IVirtualLayout
The height, in pixels, of a "typical" item that is used to virtually
fill in blanks for the layout. This value is usually set by a
component that is using the layout, such as a List. For
instance, the List class provides a typicalItem
property that will be used to calculate this value. If you set
typicalItemHeight manually, your value will be completely
replaced by the value calculated by the List. In other
words, you should use that typicalItem property instead.
typicalItemWidth: Number
Inherited from IVirtualLayout
The width, in pixels, of a "typical" item that is used to virtually
fill in blanks for the layout. This value is meant to be set by a
component that is using the layout, such as a List. For
instance, the List class provides a typicalItem
property that will be used to calculate this value. If you set
typicalItemWidth manually, your value will be completely
replaced by the value calculated by the List. In other
words, you should use that typicalItem property instead.
useVirtualLayout: Boolean
Inherited from IVirtualLayout
Determines if virtual layout can be used. Some components don't support virtual layouts. In those cases, the virtual layout options will be ignored.
Functions
addEventListener
(
type: String
,
listener: Function
): Void
Inherited from IFeathersEventDispatcher
See also:
loom2d.events.EventDispatcher#addEventListener()
Parameters
| type: String | |
| listener: Function |
dispatchEvent
(
event: Event
): Void
Inherited from IFeathersEventDispatcher
See also:
loom2d.events.EventDispatcher#dispatchEvent()
Parameters
| event: Event |
dispatchEventWith
(
type: String
,
bubbles: Boolean
= false
,
data: Object
= null
): Void
Inherited from IFeathersEventDispatcher
See also:
loom2d.events.EventDispatcher#dispatchEventWith()
Parameters
| type: String | |
| bubbles: Boolean = false | |
| data: Object = null |
getScrollPositionForIndex
(
index: Number
,
items: Vector.<DisplayObject>
,
x: Number
,
y: Number
,
width: Number
,
height: Number
): Point
Inherited from ILayout
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.
Parameters
| index: Number | |
| items: Vector.<DisplayObject> | |
| x: Number | |
| y: Number | |
| width: Number | |
| height: Number |
getVisibleIndicesAtScrollPosition
(
scrollX: Number
,
scrollY: Number
,
width: Number
,
height: Number
,
itemCount: Number
,
result: Vector.<Number>
= null
): Vector.<Number>
Inherited from IVirtualLayout
Determines which indices are visible with the specified view port bounds and scroll position. Indices that aren't returned are typically not displayed and can be replaced virtually.
Parameters
| scrollX: Number | |
| scrollY: Number | |
| width: Number | |
| height: Number | |
| itemCount: Number | |
| result: Vector.<Number> = null |
hasEventListener
(
type: String
): Boolean
Inherited from IFeathersEventDispatcher
See also:
loom2d.events.EventDispatcher#hasEventListener()
Parameters
| type: String |
layout
(
items: Vector.<DisplayObject>
,
viewPortBounds: ViewPortBounds
= null
,
result: LayoutBoundsResult
= null
): LayoutBoundsResult
Inherited from ILayout
Positions (and possibly resizes) the supplied items within the optional bounds argument. If no bounds are specified, the layout algorithm will assume that the bounds start a 0,0 and have unbounded dimensions. Returns the actual bounds of the content, which may be different than the specified bounds.
Note: The items are not absolutely restricted to appear only within the bounds. The bounds can affect positioning, but the algorithm may very well ignore them completely.
If a layout implementation needs to access accurate width
and height values from items that are of type
IFeathersControl, it must call validate()
manually. For performance reasons, the container that is the parent
of the items will not call validate() before passing the
items to a layout implementation. Meeting this requirement may be as
simple as looping through the items at the beginning of
layout() and validating all items that are Feathers UI
controls:
const itemCount:int = items.length;
for(var i:int = 0; i < itemCount; i++) {
var item:IFeathersControl = items[i] as IFeathersControl;
if(item) {
item.validate();
}
}
See also:
feathers.core.IFeathersControl#validate()
Parameters
| items: Vector.<DisplayObject> | |
| viewPortBounds: ViewPortBounds = null | |
| result: LayoutBoundsResult = null |
measureViewPort
(
itemCount: Number
,
viewPortBounds: ViewPortBounds
= null
): Point
Inherited from IVirtualLayout
Using the typical item bounds and suggested bounds, returns a set of calculated dimensions for the view port.
Parameters
| itemCount: Number | |
| viewPortBounds: ViewPortBounds = null |
removeEventListener
(
type: String
,
listener: Function
): Void
Inherited from IFeathersEventDispatcher
See also:
loom2d.events.EventDispatcher#removeEventListener()
Parameters
| type: String | |
| listener: Function |
removeEventListeners
(
type: String
= null
): Void
Inherited from IFeathersEventDispatcher
See also:
loom2d.events.EventDispatcher#removeEventListeners()
Parameters
| type: String = null |