| Package | com.gestureworks.cml.element | 
| Class | public class Album | 
| Inheritance | Album  TouchContainer  TouchContainerFactory  TouchSprite  flash.display.Sprite | 
| Subclasses | MenuAlbum | 
     
        // horizontal album
        var h_album:AlbumElement = new AlbumElement();
        h_album.addChild(getImageElement("assets/wb3.jpg"));
        h_album.addChild(getImageElement("assets/USS_Macon_over_Manhattan.png"));
        h_album.addChild(getImageElement("assets/wb3.jpg"));
        h_album.init();
        // vertical album
        var v_album:AlbumElement = new AlbumElement();
        v_album.horizontal = false;            
        v_album.addChild(getImageElement("assets/wb3.jpg"));
        v_album.addChild(getImageElement("assets/USS_Macon_over_Manhattan.png"));                        
        v_album.addChild(getImageElement("assets/wb3.jpg"));            
        v_album.init();
    
    // the supporting method getImageElement("src"), returns a Image display
    // object.
            
     See also
| Property | Defined By | ||
|---|---|---|---|
|  | _$height : Number = 0 | TouchSprite | |
|  | _$rotation : Number = 0 | TouchSprite | |
|  | $rotation : Number | TouchSprite | |
|  | _$scaleX : Number = 1 | TouchSprite | |
|  | $scaleX : Number | TouchSprite | |
|  | _$scaleY : Number = 1 | TouchSprite | |
|  | $scaleY : Number | TouchSprite | |
|  | $transformPoint : Point | TouchSprite | |
|  | _$width : Number = 0 | TouchSprite | |
|  | _$x : Number = 0 | TouchSprite | |
|  | $x : Number | TouchSprite | |
|  | _$y : Number = 0 | TouchSprite | |
|  | $y : Number | TouchSprite | |
| applyMask : Boolean 
		 Flag indicating whether the contents are masked
		  | Album | ||
|  | autoShuffle : Boolean 
		 autoshuffles
		  | TouchContainerFactory | |
| backgroundColor : uint 
		 The color of the album's background
		  | Album | ||
| belt : TouchContainer [read-only] 
		 The primary container and interactive object
		  | Album | ||
|  | broadcastTarget : Boolean | TouchSprite | |
| centerContent : Boolean 
		 Flag indicating the album items should be centered horizontally and
		 vertically
		  | Album | ||
|  | childList : ChildList [read-only] 
		 returns the childlist
		  | TouchContainerFactory | |
|  | class_ : String 
		 Object's css class; 
		  | TouchContainerFactory | |
|  | className : String 
		 sets the class name of displayobject
		  | TouchContainerFactory | |
|  | cloneExclusions : Vector.<String> [read-only] 
		 Returns a list of properties to exclude when cloning this object
		  | TouchContainer | |
| clusterBubbling : Boolean [override] 
		 Redirect clusterBubbling setting to the belt
		  | Album | ||
|  | clusterEvents : Boolean 
		Determins whether clusterEvents are processed and dispatched on the touchSprite. | TouchSprite | |
|  | clusterID : int | TouchSprite | |
|  | cmlIndex : int 
		 sets the cml index
		  | TouchContainerFactory | |
|  | cml_item : Boolean | TouchSprite | |
|  | cO : ClusterObject | TouchSprite | |
| currentSnapPoint : Number [read-only] 
		 Returns the index of the current snap point
		  | Album | ||
|  | debugDisplay : Boolean | TouchSprite | |
|  | deltaFilterOn : Boolean 
		Determins whether filtering is applied to the delta values. | TouchSprite | |
|  | dimensionsTo : String 
		 sets the dimensions of touchcontainer
		  | TouchContainerFactory | |
|  | disableAffineTransform : Boolean 
		Determins whether internal (native) transformations are affine (dynamically centered) on the touchSprite. | TouchSprite | |
|  | disableNativeTransform : Boolean 
		Determins whether transformations are handled internally (natively) on the touchSprite. | TouchSprite | |
|  | dN : Number | TouchSprite | |
| dragAngle : Number 
		 Intended to account for the rotation of the parent object to apply to
		 drag transformations. | Album | ||
| dragGesture : String 
		 Specifies the GML drag gesture of the belt (e.g. | Album | ||
|  | dropShadow : Boolean 
		 Sets the drop shadow effect
		  | TouchContainerFactory | |
|  | GESTRELIST_UPDATE : String = gestureList update [static]  | TouchSprite | |
|  | gestureEventComplete : Boolean 
		Indicates weather all gestureEvents have been completed on the touchSprite. | TouchSprite | |
|  | gestureEventRelease : Boolean 
		Indicates whether all touch points have been released on the touchSprite. | TouchSprite | |
|  | gestureEvents : Boolean 
		Determins whether gestureEvents are processed and dispatched on the touchSprite. | TouchSprite | |
|  | gestureEventStart : Boolean 
		Indicates whether any gestureEvents have been started on the touchSprite. | TouchSprite | |
|  | gestureFilters : Boolean | TouchSprite | |
|  | gestureList : Object | TouchSprite | |
|  | gestureReleaseInertia : Boolean 
		Determins whether release inertia is given to gestureEvents on the touchSprite. | TouchSprite | |
|  | gestureTouchInertia : Boolean 
		Determins whether touch inertia is processed on the touchSprite. | TouchSprite | |
|  | _gestureTweenOn : Boolean = false | TouchSprite | |
|  | gestureTweenOn : Boolean | TouchSprite | |
|  | gO : GestureListObject | TouchSprite | |
|  | group : String | TouchContainerFactory | |
| height : Number [override] 
		 Sets the height of the container and associated mask
		  | Album | ||
| horizontal : Boolean 
		 Flag indicating the scroll axis
		  | Album | ||
|  | id : String 
		 sets childlist id
		  | TouchContainerFactory | |
| layout : * [override] 
		 The album element is intended for a ListLayout only. | Album | ||
|  | layoutComplete : Function 
		 Sets the function to call when the layout is complete
		  | TouchContainer | |
|  | layoutList : Dictionary | TouchContainer | |
|  | layoutUpdate : Function 
		 Sets the function to call when the layout updates
		  | TouchContainer | |
| loop : Boolean 
		 A flag instructing the album to continuously cycle through the objects opposed
		 to stopping at the beginning or end. | Album | ||
| loopQueue : Array [read-only] 
		 The queue storing the order of children in the loop from head to tail
		  | Album | ||
| margin : Number 
		 Sets the margin between the child display objects
		  | Album | ||
|  | maxScale : Number 
		This method is called after class initialization. | TouchContainerFactory | |
|  | minScale : Number 
		This method is called after class initialization. | TouchContainerFactory | |
| mouseChildren : Boolean [override] 
		 Redirect mouseChidren setting to the belt
		  | Album | ||
|  | N : int | TouchSprite | |
|  | nestedTransform : Boolean | TouchSprite | |
|  | outline_alpha : Number 
		 sets the alpha of outline
		  | TouchContainerFactory | |
|  | outline_color : Number 
		 sets the color of outline
		  | TouchContainerFactory | |
|  | outline_joint : String 
		 TODO
		  | TouchContainerFactory | |
|  | outlineOn : String 
		 specifies the outline of container to true or false
		  | TouchContainerFactory | |
|  | outline_stroke : int 
		 sets the line stroke of outline
		  | TouchContainerFactory | |
|  | pointArray : Vector.<PointObject> [read-only]  | TouchSprite | |
|  | pointCount : int | TouchSprite | |
|  | propertyStates : Array Deprecated: Please Use state | TouchContainerFactory | |
| rotation : Number [override] [write-only] 
		 Synchronize the drag angle with the album's rotation
		  | Album | ||
| rotationX : Number [override] [write-only] 
		 Synchronize the drag angle with the album's rotation
		  | Album | ||
| rotationY : Number [override] [write-only] 
		 Synchronize the drag angle with the album's rotation
		  | Album | ||
|  | scale : Number 
		 Scales display object
		  | TouchContainer | |
| snapping : Boolean 
		 A flag indicating the snap animation of the objects into place
		  | Album | ||
|  | sO : StrokeObject | TouchSprite | |
|  | state : Array 
		 property states array
		  | TouchContainerFactory | |
|  | targeting : Boolean  
		Turns off manual ALL targeting control, defaults to a simple hit test
		targeting model with exclusive target clustering
		 | TouchSprite | |
|  | targetList : Array  
		Allows touch and gesture events to explicitly target a group of defined 
		touch objects which can be outside of the local parent child display list stack
		 | TouchSprite | |
|  | targetObject : Object  
		 Allows touch and gesture events to explicitly target a touch object 
		 this can be outside the local parent child display list stack
		 | TouchSprite | |
|  | targetParent : Boolean 
		Allows touch and gesture events to explicitly target the parent touch object
		 | TouchSprite | |
|  | tc : TouchCluster | TouchSprite | |
|  | td : TouchDebugDisplay | TouchSprite | |
|  | tg : TouchGesture | TouchSprite | |
|  | tiO : TimelineObject | TouchSprite | |
|  | touchChildren : Boolean | TouchSprite | |
|  | touchObjectID : int [read-only]  | TouchSprite | |
|  | tp : TouchPipeline | TouchSprite | |
|  | traceDebugModeOn : Boolean | TouchSprite | |
|  | transformComplete : Boolean | TouchSprite | |
|  | transformEventComplete : Boolean | TouchSprite | |
|  | transformEvents : Boolean 
		Determins whether transformEvents are processed and dispatched on the touchSprite. | TouchSprite | |
|  | transformEventStart : Boolean | TouchSprite | |
|  | transformGestureVectors : Boolean 
		Determins whether transformations are handled internally (natively) on the touchSprite. | TouchSprite | |
|  | transformStart : Boolean | TouchSprite | |
|  | trO : TransformObject | TouchSprite | |
|  | tt : TouchTransform | TouchSprite | |
| width : Number [override] 
		 Sets the width of the container and associated mask
		  | Album | ||
|  | x_lock : Boolean | TouchSprite | |
|  | y_lock : Boolean | TouchSprite | |
| Method | Defined By | ||
|---|---|---|---|
| Album() 
		 Constructor
		  | Album | ||
|  | activateTouch():void 
		 TODO
		  | TouchContainerFactory | |
|  | addAllChildren():void 
		 method searches the child and adds to the list
		  | TouchContainerFactory | |
| addChild(child:DisplayObject):DisplayObject [override] 
		 Reroutes the addition of children from the album to the album's belt and sets the dimesions of the container 
		 based on the greatest width and height of the child dimensions. | Album | ||
| addChildAt(child:DisplayObject, index:int):DisplayObject [override] 
		 Reroutes the addition of children from the album to the album's belt and sets the dimesions of the container 
		 based on the greatest width and height of the child dimensions. | Album | ||
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void [override] 
		 Registers event listeners. | TouchSprite | |
| applyLayout(value:* = null):void [override] 
		 The album element is intended for a ListLayout only. | Album | ||
|  | childToList(id:String, child:*):void 
		 child appended to the childlist
		  | TouchContainerFactory | |
| clear():void 
		 Removes belt children and resets initial album states
		  | Album | ||
|  | clone():* 
		 Clone method
		  | TouchContainer | |
| displayComplete():void [override] 
		 CML initialization
		  | Album | ||
| dispose():void [override] 
		 Destructor
		  | Album | ||
|  | hideIndex(index:int):void 
		 hides child list index 
		  | TouchContainer | |
|  | hideKey(key:String):void 
		 hides childlist key visibility
		  | TouchContainer | |
| init():void [override] 
		 Initialization function
		  | Album | ||
|  | makeGestureList(value:XMLList):Object 
		 TODO
		  | TouchContainerFactory | |
| next():void 
		 Snap to the next item on the belt
		  | Album | ||
| objectAtSnapPoint(point:int):* 
		 Returns the object at the current stap point
		  | Album | ||
|  | onTouchDown(event:TouchEvent, target:* = null):void 
		 decides how to assign the captured touch point to a cluster
		 can pass to parent, an explicit target, an explicit list or 
		 targets or a passed to any touch object in the local display stack. | TouchSprite | |
|  | parseCML(cml:XMLList):XMLList [override] 
		 Parse cml for local layouts. | TouchContainer | |
|  | postparseCML(cml:XMLList):void 
		 postparse method
		  | TouchContainerFactory | |
| previous():void 
		 Snap to the previous item on the belt
		  | Album | ||
| reset():void | Album | ||
|  | searchChildren(value:*, returnType:Class = null):* 
		 This method does a depth first search of childLists. | TouchContainer | |
|  | setDimensionsToChild():void 
		 method sets the dimensions of each child
		  | TouchContainerFactory | |
|  | showIndex(index:int):void 
		 shows index of the child list
		  | TouchContainer | |
|  | showKey(key:String):void 
		 shows the child list key visibility
		  | TouchContainer | |
| snapTo(num:Number):void | Album | ||
|  | updateClusterAnalysis():void | TouchSprite | |
|  | updateDebugDisplay():void | TouchSprite | |
|  | updateGesturePipeline():void | TouchSprite | |
|  | updateListeners():void 
		 Registers/unregisters event handlers depending on the active modes
		  | TouchSprite | |
|  | updateMotionClusterAnalysis():void | TouchSprite | |
|  | updateProperties(state:Number = 0):void 
		 update properties of child
		  | TouchContainerFactory | |
|  | updateSensorClusterAnalysis():void | TouchSprite | |
| updateState(album:Album):void 
		 Intended to synchronize this album with another's state when album linking through the AlbumViewer. | Album | ||
|  | updateTObjProcessing():void | TouchSprite | |
| Method | Defined By | ||
|---|---|---|---|
|  | childrenHaveUpdated():void 
		This method is called after class initialization. | TouchContainerFactory | |
|  | displayHandler(event:DisplayEvent):void 
		This method is called after class initialization. | TouchContainerFactory | |
| enableDrag(enable:Boolean = true):void | Album | ||
| inBounds(e:*):void 
		 Enables the drag if the touch is inside or moves inside the album
		  | Album | ||
| outOfBounds(e:*):void 
		 Disables the drag if the touch moves outside of the album
		  | Album | ||
|  | randomMinMax(min:Number, max:Number):Number 
		This method is called after class initialization. | TouchContainerFactory | |
|  | scaleTransformHandler(event:GWTransformEvent):void 
		This method is called after class initialization. | TouchContainerFactory | |
| scrollH(e:GWGestureEvent):void 
		 Drag the belt horizontally within the boundaries. | Album | ||
| scrollV(e:GWGestureEvent):void 
		 Drag the belt vertically within the boundaries. | Album | ||
|  | thumbUpdate(event:Event):void 
		This method is called after class initialization. | TouchContainerFactory | |
| applyMask | property | 
applyMask:BooleanFlag indicating whether the contents are masked
 The default value is true.
    public function get applyMask():Boolean    public function set applyMask(value:Boolean):void| backgroundColor | property | 
backgroundColor:uintThe color of the album's background
    public function get backgroundColor():uint    public function set backgroundColor(value:uint):void| belt | property | 
belt:TouchContainer  [read-only] The primary container and interactive object
    public function get belt():TouchContainer| centerContent | property | 
centerContent:BooleanFlag indicating the album items should be centered horizontally and vertically
 The default value is true.
    public function get centerContent():Boolean    public function set centerContent(value:Boolean):void| clusterBubbling | property | 
clusterBubbling:Boolean[override] Redirect clusterBubbling setting to the belt
    public function get clusterBubbling():Boolean    public function set clusterBubbling(value:Boolean):void| currentSnapPoint | property | 
currentSnapPoint:Number  [read-only] Returns the index of the current snap point
    public function get currentSnapPoint():Number| dragAngle | property | 
dragAngle:NumberIntended to account for the rotation of the parent object to apply to drag transformations. This value does NOT set the rotation of the AlbumElement. The rotation must be set through the rotation attribute(s).
    public function get dragAngle():Number    public function set dragAngle(value:Number):void| dragGesture | property | 
dragGesture:StringSpecifies the GML drag gesture of the belt (e.g. n-drag, 2-finger-drag, etc.).
 The default value is n-drag-inertia.
    public function get dragGesture():String    public function set dragGesture(value:String):void| height | property | 
height:Number[override] Sets the height of the container and associated mask
    public function get height():Number    public function set height(value:Number):void| horizontal | property | 
horizontal:BooleanFlag indicating the scroll axis
 The default value is true.
    public function get horizontal():Boolean    public function set horizontal(value:Boolean):void| layout | property | 
layout:*[override] The album element is intended for a ListLayout only. The layout axis can be set by the "horizontal" attribute and the spacing can be adjusted through the "margin" attribute.
    public function get layout():*    public function set layout(value:any):void| loop | property | 
loop:BooleanA flag instructing the album to continuously cycle through the objects opposed to stopping at the beginning or end. The album must have more than one child to set this flag.
    public function get loop():Boolean    public function set loop(value:Boolean):void| loopQueue | property | 
loopQueue:Array  [read-only] The queue storing the order of children in the loop from head to tail
    public function get loopQueue():Array| margin | property | 
margin:NumberSets the margin between the child display objects
 The default value is 1.
    public function get margin():Number    public function set margin(value:Number):void| mouseChildren | property | 
mouseChildren:Boolean[override] Redirect mouseChidren setting to the belt
    public function get mouseChildren():Boolean    public function set mouseChildren(value:Boolean):void| rotation | property | 
rotation:Number  [write-only] [override] Synchronize the drag angle with the album's rotation
    public function set rotation(value:Number):void| rotationX | property | 
rotationX:Number  [write-only] [override] Synchronize the drag angle with the album's rotation
    public function set rotationX(value:Number):void| rotationY | property | 
rotationY:Number  [write-only] [override] Synchronize the drag angle with the album's rotation
    public function set rotationY(value:Number):void| snapping | property | 
snapping:BooleanA flag indicating the snap animation of the objects into place
    public function get snapping():Boolean    public function set snapping(value:Boolean):void| width | property | 
width:Number[override] Sets the width of the container and associated mask
    public function get width():Number    public function set width(value:Number):void| Album | () | Constructor | 
public function Album()Constructor
| addChild | () | method | 
override public function addChild(child:DisplayObject):DisplayObjectReroutes the addition of children from the album to the album's belt and sets the dimesions of the container based on the greatest width and height of the child dimensions. If clusterBubbling is enabled, the children are wrapped in a TouchSprite to enable interactivity.
Parameters
| child:DisplayObject | 
| DisplayObject | 
| addChildAt | () | method | 
override public function addChildAt(child:DisplayObject, index:int):DisplayObjectReroutes the addition of children from the album to the album's belt and sets the dimesions of the container based on the greatest width and height of the child dimensions. If clusterBubbling is enabled, the children are wrapped in a TouchSprite to enable interactivity.
Parameters
| child:DisplayObject | |
| index:int | 
| DisplayObject | 
| applyLayout | () | method | 
override public function applyLayout(value:* = null):voidThe album element is intended for a ListLayout only. The layout axis can be set by the "horizontal" attribute and the spacing can be adjusted through the "margin" attribute.
Parameters
| value:*(default =null) | 
| clear | () | method | 
 public function clear():voidRemoves belt children and resets initial album states
| displayComplete | () | method | 
override public function displayComplete():voidCML initialization
| dispose | () | method | 
override public function dispose():voidDestructor
| enableDrag | () | method | 
 protected function enableDrag(enable:Boolean = true):voidParameters
| enable:Boolean(default =true) | 
| inBounds | () | method | 
 protected function inBounds(e:*):voidEnables the drag if the touch is inside or moves inside the album
Parameters
| e:* | 
| init | () | method | 
override public function init():voidInitialization function
| next | () | method | 
 public function next():voidSnap to the next item on the belt
| objectAtSnapPoint | () | method | 
 public function objectAtSnapPoint(point:int):*Returns the object at the current stap point
Parameters
| point:int | 
| *— | 
| outOfBounds | () | method | 
 protected function outOfBounds(e:*):voidDisables the drag if the touch moves outside of the album
Parameters
| e:* | 
| previous | () | method | 
 public function previous():voidSnap to the previous item on the belt
| reset | () | method | 
 public function reset():void| scrollH | () | method | 
 protected function scrollH(e:GWGestureEvent):voidDrag the belt horizontally within the boundaries. If boundaries are exceeded and the belt is not being touched, the drag is disabled and the belt snaps into place.
Parameters
| e:GWGestureEvent— the drag event | 
| scrollV | () | method | 
 protected function scrollV(e:GWGestureEvent):voidDrag the belt vertically within the boundaries. If boundaries are exceeded and the belt is not being touched, the drag is disabled and the belt snaps into place.
Parameters
| e:GWGestureEvent— the drag event | 
| snapTo | () | method | 
 public function snapTo(num:Number):voidParameters
| num:Number | 
| updateState | () | method | 
 public function updateState(album:Album):voidIntended to synchronize this album with another's state when album linking through the AlbumViewer.
Parameters
| album:Album—  the album to synch to |