You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pi...@apache.org on 2015/01/26 23:05:15 UTC

[38/56] [abbrv] [partial] git commit: [flex-utilities] [refs/heads/develop] - trying to merge TourDeFlex develop release into master

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-FlickrWheel/srcview/source/WheelLayout.as.html
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-FlickrWheel/srcview/source/WheelLayout.as.html b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-FlickrWheel/srcview/source/WheelLayout.as.html
index f1e5688..90cc2e4 100644
--- a/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-FlickrWheel/srcview/source/WheelLayout.as.html
+++ b/TourDeFlex/TourDeFlex_content/flex4.0/CustomLayout-FlickrWheel/srcview/source/WheelLayout.as.html
@@ -23,503 +23,503 @@
 <link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
 </head>
 
-<body><pre><span class="ActionScriptpackage">package</span>
-<span class="ActionScriptBracket/Brace">{</span>
-
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">geom</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Matrix</span>;
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">geom</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Matrix3D</span>;
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">geom</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Point</span>;
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">geom</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Rectangle</span>;
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">geom</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Vector3D</span>;
-
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">core</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ILayoutElement</span>;
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">core</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">IVisualElement</span>;
-
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">spark</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">components</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">supportClasses</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">GroupBase</span>;
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">spark</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">core</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">NavigationUnit</span>;
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">spark</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">layouts</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">supportClasses</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">LayoutBase</span>;
-
-<span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">WheelLayout</span> <span class="ActionScriptReserved">extends</span> <span class="ActionScriptDefault_Text">LayoutBase</span>
-<span class="ActionScriptBracket/Brace">{</span>
-    <span class="ActionScriptComment">//--------------------------------------------------------------------------
-</span>    <span class="ActionScriptComment">//
-</span>    <span class="ActionScriptComment">//  Constructor
-</span>    <span class="ActionScriptComment">//
-</span>    <span class="ActionScriptComment">//--------------------------------------------------------------------------
-</span>
-    <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">WheelLayout</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptReserved">super</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptComment">//--------------------------------------------------------------------------
-</span>    <span class="ActionScriptComment">//
-</span>    <span class="ActionScriptComment">//  Properties
-</span>    <span class="ActionScriptComment">//
-</span>    <span class="ActionScriptComment">//--------------------------------------------------------------------------
-</span>
-    <span class="ActionScriptComment">//----------------------------------
-</span>    <span class="ActionScriptComment">//  gap
-</span>    <span class="ActionScriptComment">//----------------------------------
-</span>
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_gap</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0;
-
-    <span class="ActionScriptASDoc">/**
-     *  The gap between the items
-     */</span>
-    <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">gap</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Number</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_gap</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">gap</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptDefault_Text">_gap</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">value</span>;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">layoutTarget</span>:<span class="ActionScriptDefault_Text">GroupBase</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span>;
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">layoutTarget</span><span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span>
-            <span class="ActionScriptDefault_Text">layoutTarget</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">invalidateSize</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptDefault_Text">layoutTarget</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">invalidateDisplayList</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptBracket/Brace">}</span>
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptComment">//----------------------------------
-</span>    <span class="ActionScriptComment">//  axisAngle
-</span>    <span class="ActionScriptComment">//----------------------------------
-</span>
-    <span class="ActionScriptASDoc">/**
-     *  @private  
-     *  The total width of all items, including gap space.
-     */</span>
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_totalWidth</span>:<span class="ActionScriptDefault_Text">Number</span>;
-
-    <span class="ActionScriptASDoc">/**
-     *  @private  
-     *  Cache which item is currently in view, to facilitate scrollposition delta calculations
-     */</span>
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_centeredItemIndex</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> 0;
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_centeredItemCircumferenceBegin</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0;
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_centeredItemCircumferenceEnd</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0;
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_centeredItemDegrees</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0;
-
-    <span class="ActionScriptASDoc">/**
-     *  The axis to tilt the 3D wheel 
-     */</span>
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_axis</span>:<span class="ActionScriptDefault_Text">Vector3D</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Vector3D</span><span class="ActionScriptBracket/Brace">(</span>0<span class="ActionScriptOperator">,</span> 1<span class="ActionScriptOperator">,</span> 0.1<span class="ActionScriptBracket/Brace">)</span>;
-    
-    <span class="ActionScriptASDoc">/**
-     *  The angle to tilt the axis of the wheel
-     */</span>
-    <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">axisAngle</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptDefault_Text">_axis</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Vector3D</span><span class="ActionScriptBracket/Brace">(</span>0<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">cos</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">PI</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">/</span>180<span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">si
 n</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">PI</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">/</span>180<span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">layoutTarget</span>:<span class="ActionScriptDefault_Text">GroupBase</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span>;
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">layoutTarget</span><span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span>
-            <span class="ActionScriptDefault_Text">layoutTarget</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">invalidateSize</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptDefault_Text">layoutTarget</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">invalidateDisplayList</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptBracket/Brace">}</span>
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptASDoc">/**
-     *  @private 
-     *  Given the radius of the sphere, return the radius of the
-     *  projected sphere. Uses the projection matrix of the
-     *  layout target to calculate.
-     */</span>    
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">projectSphere</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">radius</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">radius1</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Number</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">fl</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">transform</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">perspectiveProjection</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">focalLength</span>;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">alpha</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">asin</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">radius1</span> <span class="ActionScriptOperator">/</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">radius</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">fl</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">fl</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">tan</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">alpha</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">*</span> 2;
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptASDoc">/**
-     *  @private
-     *  Given the totalWidth, maxHeight and maxHalfWidthDiagonal, calculate the bounds of the items
-     *  on screen.  Uses the projection matrix of the layout target to calculate. 
-     */</span>
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">projectBounds</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">totalWidth</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">maxWidth</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">maxHeight</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">maxHalfWidthDiagonal</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Point</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptComment">// Use the the total width as a circumference of an imaginary circle which we will use to
-</span>        <span class="ActionScriptComment">// align the items in 3D:
-</span>        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">radius</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_totalWidth</span> <span class="ActionScriptOperator">*</span> 0.5 <span class="ActionScriptOperator">/</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">PI</span>;
-        
-        <span class="ActionScriptComment">// Now since we are going to arrange all the items along circle, middle of the item being the tangent point,
-</span>        <span class="ActionScriptComment">// we need to calculate the minimum bounding circle. It is easily calculated from the maximum width item:
-</span>        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">boundingRadius</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">sqrt</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">radius</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">radius</span> <span class="ActionScriptOperator">+</span> 0.25 <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">maxWidth</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">maxWidth</span><span class="ActionScriptBracket/Brace">)</span>;
-                                      
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">projectedBoundsW</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">z</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">z</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">maxHalfWidthDiagonal</span> <span class="ActionScriptOperator">+</span> 2 <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">radius</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">+</span> 
-                                      <span class="ActionScriptDefault_Text">projectSphere</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">radius</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">boundingRadius</span> <span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span>;
-                                      
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">projectedBoundsH</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">abs</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">z</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">maxHalfWidthDiagonal</span> <span class="ActionScriptOperator">+</span> 2 <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">radius</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">+</span>
-                                      <span class="ActionScriptDefault_Text">maxHeight</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span>;
-                                      
-        <span class="ActionScriptReserved">return</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Point</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">projectedBoundsW</span> <span class="ActionScriptOperator">+</span> 10<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">projectedBoundsH</span> <span class="ActionScriptOperator">+</span> 10<span class="ActionScriptBracket/Brace">)</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-
-    <span class="ActionScriptASDoc">/**
-     *  @private 
-     *  Iterates through all the items, calculates the projected bounds on screen, updates _totalWidth member variable.
-     */</span>    
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">calculateBounds</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Point</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptComment">// Calculate total width:
-</span>        <span class="ActionScriptDefault_Text">_totalWidth</span> <span class="ActionScriptOperator">=</span> 0;
-     
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">maxHeight</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">maxWidth</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">maxD</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0;
-   
-        <span class="ActionScriptComment">// Add up all the widths
-</span>        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">iter</span>:<span class="ActionScriptDefault_Text">LayoutIterator</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">LayoutIterator</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">target</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">el</span>:<span class="ActionScriptDefault_Text">ILayoutElement</span>;
-        <span class="ActionScriptReserved">while</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">el</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">nextElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span>
-            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">preferredWidth</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getPreferredBoundsWidth</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*postTransform*/</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">preferredHeight</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getPreferredBoundsHeight</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*postTransform*/</span><span class="ActionScriptBracket/Brace">)</span>;
-
-            <span class="ActionScriptComment">// Add up item width
-</span>            <span class="ActionScriptDefault_Text">_totalWidth</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptDefault_Text">preferredWidth</span>;
-            
-            <span class="ActionScriptComment">// Max up item size
-</span>            <span class="ActionScriptDefault_Text">maxWidth</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">max</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">maxWidth</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">preferredWidth</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptDefault_Text">maxHeight</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">max</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">maxHeight</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">preferredHeight</span><span class="ActionScriptBracket/Brace">)</span>;
-            
-            <span class="ActionScriptDefault_Text">maxD</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">max</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">maxD</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">sqrt</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">preferredWidth</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">preferredWidth</span> <span class="ActionScriptOperator">/</span> 4 <span class="ActionScriptOperator">+</span> 
-                                            <span class="ActionScriptDefault_Text">preferredHeight</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">preferredHeight</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>;    
-        <span class="ActionScriptBracket/Brace">}</span>
-        
-        <span class="ActionScriptComment">// Add up the gap
-</span>        <span class="ActionScriptDefault_Text">_totalWidth</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptDefault_Text">gap</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">numVisited</span>;
-
-        <span class="ActionScriptComment">// Project        
-</span>        <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">projectBounds</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_totalWidth</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">maxWidth</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">maxHeight</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">maxD</span><span class="ActionScriptBracket/Brace">)</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptComment">//--------------------------------------------------------------------------
-</span>    <span class="ActionScriptComment">//
-</span>    <span class="ActionScriptComment">//  Overridden methods: LayoutBase
-</span>    <span class="ActionScriptComment">//
-</span>    <span class="ActionScriptComment">//--------------------------------------------------------------------------
-</span>    
-    <span class="ActionScriptASDoc">/**
-     * @private
-     */</span>
-    <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">GroupBase</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptComment">// Make sure that if layout is swapped out, we clean up
-</span>        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">!</span><span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span>
-            <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">maintainProjectionCenter</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">false</span>;
-
-            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">iter</span>:<span class="ActionScriptDefault_Text">LayoutIterator</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">LayoutIterator</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">target</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">el</span>:<span class="ActionScriptDefault_Text">ILayoutElement</span>;
-            <span class="ActionScriptReserved">while</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">el</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">nextElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptBracket/Brace">{</span>
-                <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setLayoutMatrix</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Matrix</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*triggerLayout*/</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptBracket/Brace">}</span>
-        <span class="ActionScriptBracket/Brace">}</span>
-        
-        <span class="ActionScriptReserved">super</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">target</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">value</span>;
-
-        <span class="ActionScriptComment">// Make sure we turn on projection the first time the layout
-</span>        <span class="ActionScriptComment">// gets assigned to the group
-</span>        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">target</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">maintainProjectionCenter</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">true</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">measure</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">bounds</span>:<span class="ActionScriptDefault_Text">Point</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">calculateBounds</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-        
-        <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">measuredWidth</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">bounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span>;
-        <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">measuredHeight</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">bounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">updateDisplayList</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">unscaledWidth</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">unscaledHeight</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptComment">// Get the bounds, this will also update _totalWidth
-</span>        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">bounds</span>:<span class="ActionScriptDefault_Text">Point</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">calculateBounds</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-
-        <span class="ActionScriptComment">// Update the content size
-</span>        <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setContentSize</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_totalWidth</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">unscaledWidth</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">bounds</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span><span class="ActionScriptBracket/Brace">)</span>; 
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">radius</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_totalWidth</span> <span class="ActionScriptOperator">*</span> 0.5 <span class="ActionScriptOperator">/</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">PI</span>;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">gap</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">this</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">gap</span>;
-        <span class="ActionScriptDefault_Text">_centeredItemDegrees</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">MAX_VALUE</span>;
-        
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">scrollPosition</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">horizontalScrollPosition</span>;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">totalWidthSoFar</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0;
-        <span class="ActionScriptComment">// Subtract the half width of the first element from totalWidthSoFar: 
-</span>        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">iter</span>:<span class="ActionScriptDefault_Text">LayoutIterator</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">LayoutIterator</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">target</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">el</span>:<span class="ActionScriptDefault_Text">ILayoutElement</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">nextElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">!</span><span class="ActionScriptDefault_Text">el</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptReserved">return</span>;
-        <span class="ActionScriptDefault_Text">totalWidthSoFar</span> <span class="ActionScriptOperator">-=</span> <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getPreferredBoundsWidth</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*postTransform*/</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 2;
-        
-        <span class="ActionScriptComment">// Set the 3D Matrix for all the elements:
-</span>        <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">reset</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptReserved">while</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">el</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">nextElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span> 
-            <span class="ActionScriptComment">// Size the item, no need to position it, since we'd set the computed matrix
-</span>            <span class="ActionScriptComment">// which defines the position.
-</span>            <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setLayoutBoundsSize</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">NaN</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">NaN</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*postTransform*/</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">elementWidth</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getLayoutBoundsWidth</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*postTransform*/</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">elementHeight</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getLayoutBoundsHeight</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*postTransform*/</span><span class="ActionScriptBracket/Brace">)</span>; 
-            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">degrees</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 360 <span class="ActionScriptOperator">*</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">totalWidthSoFar</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">elementWidth</span><span class="ActionScriptOperator">/</span>2 <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">scrollPosition</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> <span class="ActionScriptDefault_Text">_totalWidth</span>; 
-
-            <span class="ActionScriptComment">// Remember which item is centered, this is used during scrolling
-</span>            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">curDegrees</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">degrees</span> <span class="ActionScriptOperator">%</span> 360;
-            <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">abs</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">curDegrees</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">&lt;</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">abs</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_centeredItemDegrees</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptBracket/Brace">{</span>
-                <span class="ActionScriptDefault_Text">_centeredItemDegrees</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">curDegrees</span>;
-                <span class="ActionScriptDefault_Text">_centeredItemIndex</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">curIndex</span>;
-                <span class="ActionScriptDefault_Text">_centeredItemCircumferenceBegin</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">totalWidthSoFar</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">gap</span>;
-                <span class="ActionScriptDefault_Text">_centeredItemCircumferenceEnd</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">totalWidthSoFar</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">elementWidth</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">gap</span>;
-            <span class="ActionScriptBracket/Brace">}</span>
-
-            <span class="ActionScriptComment">// Calculate and set the 3D Matrix 
-</span>            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">m</span>:<span class="ActionScriptDefault_Text">Matrix3D</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Matrix3D</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">appendTranslation</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">-</span><span class="ActionScriptDefault_Text">elementWidth</span><span class="ActionScriptOperator">/</span>2<span class="ActionScriptOperator">,</span> <span class="ActionScriptOperator">-</span><span class="ActionScriptDefault_Text">elementHeight</span><span class="ActionScriptOperator">/</span>2 <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">radius</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">z</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptOperator">-</span><span class="ActionScriptDefault_Text">radius</span> <span class="ActionScriptO
 perator">*</span> <span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">appendRotation</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">-</span><span class="ActionScriptDefault_Text">degrees</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">appendTranslation</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">unscaledWidth</span><span class="ActionScriptOperator">/</span>2<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">unscaledHeight</span><span class="ActionScriptOperator">/</span>2<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">radius</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">_axis</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setLayoutMatrix3D</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*triggerLayout*/</span><span class="ActionScriptBracket/Brace">)</span>;
-            
-            <span class="ActionScriptComment">// Update the layer for a correct z-order
-</span>            <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">el</span> <span class="ActionScriptReserved">is</span> <span class="ActionScriptDefault_Text">IVisualElement</span><span class="ActionScriptBracket/Brace">)</span>
-                <span class="ActionScriptDefault_Text">IVisualElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">el</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">depth</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">abs</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">floor</span><span class="ActionScriptBracket/Brace">(</span>180 <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">abs</span><span class="ActionScriptBracket/Brace">(</span><span class="Acti
 onScriptDefault_Text">degrees</span> <span class="ActionScriptOperator">%</span> 360<span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">)</span>;
-
-            <span class="ActionScriptComment">// Move on to next item
-</span>            <span class="ActionScriptDefault_Text">totalWidthSoFar</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptDefault_Text">elementWidth</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">gap</span>;
-        <span class="ActionScriptBracket/Brace">}</span>
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">scrollPositionFromCenterToNext</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">next</span>:<span class="ActionScriptDefault_Text">Boolean</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Number</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">iter</span>:<span class="ActionScriptDefault_Text">LayoutIterator</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">LayoutIterator</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">_centeredItemIndex</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">el</span>:<span class="ActionScriptDefault_Text">ILayoutElement</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">next</span> <span class="ActionScriptOperator">?</span> <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">nextElementWrapped</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span> : <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">prevElementWrapped</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">!</span><span class="ActionScriptDefault_Text">el</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptReserved">return</span> 0;
-        
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">elementWidth</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getLayoutBoundsWidth</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*postTransform*/</span><span class="ActionScriptBracket/Brace">)</span>;
-        
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">Number</span>; 
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">next</span><span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span>
-            <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_centeredItemDegrees</span> <span class="ActionScriptOperator">&gt;</span> 0.1<span class="ActionScriptBracket/Brace">)</span>
-                <span class="ActionScriptReserved">return</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_centeredItemCircumferenceEnd</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">_centeredItemCircumferenceBegin</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 2;
-            
-            <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_centeredItemCircumferenceEnd</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">elementWidth</span><span class="ActionScriptOperator">/</span>2;
-            <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">&gt;</span> <span class="ActionScriptDefault_Text">_totalWidth</span><span class="ActionScriptBracket/Brace">)</span>
-                <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">-=</span> <span class="ActionScriptDefault_Text">_totalWidth</span>;
-        <span class="ActionScriptBracket/Brace">}</span>
-        <span class="ActionScriptReserved">else</span>
-        <span class="ActionScriptBracket/Brace">{</span>
-            <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_centeredItemDegrees</span> <span class="ActionScriptOperator">&lt;</span> <span class="ActionScriptOperator">-</span>0.1<span class="ActionScriptBracket/Brace">)</span>
-                <span class="ActionScriptReserved">return</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_centeredItemCircumferenceEnd</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">_centeredItemCircumferenceBegin</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 2;
-
-            <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_centeredItemCircumferenceBegin</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">elementWidth</span><span class="ActionScriptOperator">/</span>2;
-            <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">&lt;</span> 0<span class="ActionScriptBracket/Brace">)</span>
-                <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptDefault_Text">_totalWidth</span>;
-        <span class="ActionScriptBracket/Brace">}</span>
-        <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">value</span>;     
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">scrollPositionChanged</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">target</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">invalidateDisplayList</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-
-    <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">getHorizontalScrollPositionDelta</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">navigationUnit</span>:<span class="ActionScriptDefault_Text">uint</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Number</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">g</span>:<span class="ActionScriptDefault_Text">GroupBase</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span>;
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">!</span><span class="ActionScriptDefault_Text">g</span> <span class="ActionScriptOperator">||</span> <span class="ActionScriptDefault_Text">g</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">numElements</span> <span class="ActionScriptOperator">==</span> 0<span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptReserved">return</span> 0;
-            
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">Number</span>;     
-
-        <span class="ActionScriptReserved">switch</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">navigationUnit</span><span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span>
-            <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">NavigationUnit</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">LEFT</span>:
-            <span class="ActionScriptBracket/Brace">{</span>
-                <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">horizontalScrollPosition</span> <span class="ActionScriptOperator">-</span> 30;
-                <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">&lt;</span> 0<span class="ActionScriptBracket/Brace">)</span>
-                    <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptDefault_Text">_totalWidth</span>;
-                <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">horizontalScrollPosition</span>;
-            <span class="ActionScriptBracket/Brace">}</span>
-                
-            <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">NavigationUnit</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">RIGHT</span>:
-            <span class="ActionScriptBracket/Brace">{</span>
-                <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">horizontalScrollPosition</span> <span class="ActionScriptOperator">+</span> 30;
-                <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">&gt;</span> <span class="ActionScriptDefault_Text">_totalWidth</span><span class="ActionScriptBracket/Brace">)</span>
-                    <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">-=</span> <span class="ActionScriptDefault_Text">_totalWidth</span>;
-                <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">value</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">horizontalScrollPosition</span>;
-            <span class="ActionScriptBracket/Brace">}</span>
-                
-            <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">NavigationUnit</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">PAGE_LEFT</span>:
-                <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">scrollPositionFromCenterToNext</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">false</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">horizontalScrollPosition</span>;
-                
-            <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">NavigationUnit</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">PAGE_RIGHT</span>:
-                <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">scrollPositionFromCenterToNext</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">true</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">horizontalScrollPosition</span>;
-                
-            <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">NavigationUnit</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">HOME</span>: 
-                <span class="ActionScriptReserved">return</span> 0;
-                
-            <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">NavigationUnit</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">END</span>: 
-                <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_totalWidth</span>;
-                
-            <span class="ActionScriptReserved">default</span>:
-                <span class="ActionScriptReserved">return</span> 0;
-        <span class="ActionScriptBracket/Brace">}</span>       
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptASDoc">/**
-     *  @private
-     */</span> 
-    <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">getScrollPositionDeltaToElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">index</span>:<span class="ActionScriptDefault_Text">int</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Point</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">layoutTarget</span>:<span class="ActionScriptDefault_Text">GroupBase</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span>;
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">!</span><span class="ActionScriptDefault_Text">layoutTarget</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptReserved">return</span> <span class="ActionScriptReserved">null</span>;
-       
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">gap</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">this</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">gap</span>;     
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">totalWidthSoFar</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0;
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">iter</span>:<span class="ActionScriptDefault_Text">LayoutIterator</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">LayoutIterator</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">layoutTarget</span><span class="ActionScriptBracket/Brace">)</span>;
-
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">el</span>:<span class="ActionScriptDefault_Text">ILayoutElement</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">nextElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">!</span><span class="ActionScriptDefault_Text">el</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptReserved">return</span> <span class="ActionScriptReserved">null</span>;
-        <span class="ActionScriptDefault_Text">totalWidthSoFar</span> <span class="ActionScriptOperator">-=</span> <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getLayoutBoundsWidth</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*postTransform*/</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 2;
-
-        <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">reset</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptReserved">while</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">null</span> <span class="ActionScriptOperator">!=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">el</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">nextElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">iter</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">curIndex</span> <span class="ActionScriptOperator">&lt;=</span> <span class="ActionScriptDefault_Text">index</span><span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span>    
-            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">elementWidth</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getLayoutBoundsWidth</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">false</span> <span class="ActionScriptComment">/*postTransform*/</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptDefault_Text">totalWidthSoFar</span> <span class="ActionScriptOperator">+=</span> <span class="ActionScriptDefault_Text">gap</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">elementWidth</span>;
-        <span class="ActionScriptBracket/Brace">}</span>
-        <span class="ActionScriptReserved">return</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Point</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">totalWidthSoFar</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">elementWidth</span> <span class="ActionScriptOperator">/</span> 2 <span class="ActionScriptOperator">-</span><span class="ActionScriptDefault_Text">gap</span> <span class="ActionScriptOperator">-</span> <span class="ActionScriptDefault_Text">layoutTarget</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">horizontalScrollPosition</span><span class="ActionScriptOperator">,</span> 0<span class="ActionScriptBracket/Brace">)</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-
-    <span class="ActionScriptASDoc">/**
-     *  @private
-     */</span> 
-    <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">updateScrollRect</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">w</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">h</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">g</span>:<span class="ActionScriptDefault_Text">GroupBase</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span>;
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">!</span><span class="ActionScriptDefault_Text">g</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptReserved">return</span>;
-            
-        <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">clipAndEnableScrolling</span><span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span>
-            <span class="ActionScriptComment">// Since scroll position is reflected in our 3D calculations,
-</span>            <span class="ActionScriptComment">// always set the top-left of the srcollRect to (0,0).
-</span>            <span class="ActionScriptDefault_Text">g</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">scrollRect</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Rectangle</span><span class="ActionScriptBracket/Brace">(</span>0<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">verticalScrollPosition</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">w</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">h</span><span class="ActionScriptBracket/Brace">)</span>;
-        <span class="ActionScriptBracket/Brace">}</span>
-        <span class="ActionScriptReserved">else</span>
-            <span class="ActionScriptDefault_Text">g</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">scrollRect</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
-    <span class="ActionScriptBracket/Brace">}</span> 
-<span class="ActionScriptBracket/Brace">}</span>
-<span class="ActionScriptBracket/Brace">}</span>
-
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">core</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ILayoutElement</span>;
-
-<span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">spark</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">components</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">supportClasses</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">GroupBase</span>;
-    
-<span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">LayoutIterator</span> 
-<span class="ActionScriptBracket/Brace">{</span>
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_curIndex</span>:<span class="ActionScriptDefault_Text">int</span>;
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_numVisited</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> 0;
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">totalElements</span>:<span class="ActionScriptDefault_Text">int</span>;
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_target</span>:<span class="ActionScriptDefault_Text">GroupBase</span>;
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_loopIndex</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> -1;
-    <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_useVirtual</span>:<span class="ActionScriptDefault_Text">Boolean</span>;
-
-    <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">curIndex</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">int</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_curIndex</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-
-    <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">LayoutIterator</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">target</span>:<span class="ActionScriptDefault_Text">GroupBase</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">index</span>:<span class="ActionScriptDefault_Text">int</span><span class="ActionScriptOperator">=</span>-1<span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptDefault_Text">totalElements</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">numElements</span>;
-        <span class="ActionScriptDefault_Text">_target</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">target</span>;
-        <span class="ActionScriptDefault_Text">_curIndex</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">index</span>;
-        <span class="ActionScriptDefault_Text">_useVirtual</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">layout</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">useVirtualLayout</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-
-    <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">nextElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">ILayoutElement</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptReserved">while</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_curIndex</span> <span class="ActionScriptOperator">&lt;</span> <span class="ActionScriptDefault_Text">totalElements</span> <span class="ActionScriptOperator">-</span> 1<span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span>
-            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">el</span>:<span class="ActionScriptDefault_Text">ILayoutElement</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_useVirtual</span> <span class="ActionScriptOperator">?</span> <span class="ActionScriptDefault_Text">_target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getVirtualElementAt</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">++</span><span class="ActionScriptDefault_Text">_curIndex</span><span class="ActionScriptBracket/Brace">)</span> :
-                                                   <span class="ActionScriptDefault_Text">_target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getElementAt</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">++</span><span class="ActionScriptDefault_Text">_curIndex</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">el</span> <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">includeInLayout</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptBracket/Brace">{</span>
-                <span class="ActionScriptOperator">++</span><span class="ActionScriptDefault_Text">_numVisited</span>;
-                <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">el</span>;
-            <span class="ActionScriptBracket/Brace">}</span>
-        <span class="ActionScriptBracket/Brace">}</span>
-        <span class="ActionScriptReserved">return</span> <span class="ActionScriptReserved">null</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-    
-    <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">prevElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">ILayoutElement</span>
-    <span class="ActionScriptBracket/Brace">{</span>
-        <span class="ActionScriptReserved">while</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_curIndex</span> <span class="ActionScriptOperator">&gt;</span> 0<span class="ActionScriptBracket/Brace">)</span>
-        <span class="ActionScriptBracket/Brace">{</span>
-            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">el</span>:<span class="ActionScriptDefault_Text">ILayoutElement</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_useVirtual</span> <span class="ActionScriptOperator">?</span> <span class="ActionScriptDefault_Text">_target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getVirtualElementAt</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">--</span><span class="ActionScriptDefault_Text">_curIndex</span><span class="ActionScriptBracket/Brace">)</span> :
-                                                  <span class="ActionScriptDefault_Text">_target</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getElementAt</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">--</span><span class="ActionScriptDefault_Text">_curIndex</span><span class="ActionScriptBracket/Brace">)</span>;
-            <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">el</span> <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">el</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">includeInLayout</span><span class="ActionScriptBracket/Brace">)</span>
-            <span class="ActionScriptBracket/Brace">{</span>
-                <span class="ActionScriptOperator">++</span><span class="ActionScriptDefault_Text">_numVisited</span>;
-                <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">el</span>;
-            <span class="ActionScriptBracket/Brace">}</span>
-        <span class="ActionScriptBracket/Brace">}</span>
-        <span class="ActionScriptReserved">return</span> <span class="ActionScriptReserved">null</span>;
-    <span class="ActionScriptBracket/Brace">}</span>
-
-    <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">nextElemen

<TRUNCATED>