Transferred from the Adobe Open Source Subversion Repository

Revision: 9358
Author:   dsubrama@adobe.com
Date:     2009-08-17T23:51:20.104007Z

Log Message:
-----------
More work to support FXG 2.0 in the MXML Graphics library.

1. Switch blendMode default from layer to normal. Before, we did some trickery under the covers, where even though the default blendMode was layer, we actually only set it to layer when it resulted in a rendering difference (ie: when alpha was > 0 < 1 and other overlapping cases). Now, FXG 2.0 mandates blendMode default is normal – and we don’t have to do that trickery because the FXG exporters are smarter and will set blendMode explicitly to layer when necessary. This change is for Group and all graphic primitives.

2. I’ve added new enumerations to blendMode and maskType as well as a couple of new properties as mandated by FXG 2.0. There is additional work that needs to happen there that I’ll be doing next week.

3. I’ve renamed Group’s resizeMode enumerations from ‘normal’, ‘scale’ to ‘noScale’, ‘scale’.

4. I’ve renamed BitmapImage’s resizeMode enumerations from ‘normal’, ‘scale’, ‘repeat’ to ‘noScale’, ‘scale’, ‘repeat’. The default value for BitmapImage.resizeMode went from ‘repeat’ to ‘scale’. Additionally, BitmapImage.repeat property has now been eliminated - use resizeMode="repeat".

5. I’ve deprecated BitmapFill’s ‘repeat’ property. I’ve added a ‘resizeMode’ property to BitmapFill with the same enumerations, defaults and behavior as BitmapImage. I’ve also moved BitmapImageResizeMode from spark.primitives to mx.graphics. I’ve also renamed BitmapImageResizeMode.as to BitmapResizeMode.as (a PARB-approved rename).

QE notes:  Yes! Joan and I have cycloned numerous times and QA in on-board with the changes.
Doc notes: Yes
Bugs: Several
Reviewer: Evtim/Glenn
Tests run: Pretty much the entire mustella run for Halo and Spark components
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/VSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/VScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VScrollBarSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapResizeMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/BitmapImageExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ResizeMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/GripperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MinimizeButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImageResizeMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/RestoreButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MaximizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/halo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MacCloseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/NumericStepperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/NumericStepperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MacMinimizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MacMaximizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/MaskType.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/CloseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/SpinnerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/TitleBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/spark-air-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/HSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/HScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/HSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/HScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MacTitleBarSkin.mxml</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1279987 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/ResizeMode.as
+++ frameworks/projects/spark/src/spark/components/ResizeMode.as
@@ -41,7 +41,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public static const NORMAL:String = "normal";
+    public static const NOSCALE:String = "noScale";

     /**
      *  Resizes by setting the scaleX


Clean up.

Clean up.

--- src/com/esri/builder/controllers/supportClasses/LocalConnectionDelegate.as
+++ src/com/esri/builder/controllers/supportClasses/LocalConnectionDelegate.as
@@ -16,6 +16,8 @@
 package com.esri.builder.controllers.supportClasses
 {

+import com.esri.builder.supportClasses.LogUtil;
+
 import flash.events.StatusEvent;
 import flash.net.LocalConnection;

@@ -24,24 +26,24 @@

 public final class LocalConnectionDelegate
 {
-    private static const LOG:ILogger = Log.getLogger('com.esri.builder.controllers.supportClasses.LocalConnectionDelegate');
-    private static const CNAME:String = '_flexViewer';
-
-    private var m_localConnection:LocalConnection;
+    private static const LOG:ILogger = LogUtil.createLogger(LocalConnectionDelegate);
+    private static const CONNECTION_NAME:String = '_flexViewer';
+
+    private var _localConnection:LocalConnection;

     private function get localConnection():LocalConnection
     {
-        if (m_localConnection === null)
+        if (_localConnection === null)
         {
             if (Log.isDebug())
             {
                 LOG.debug("Acquiring local connection");
             }

-            m_localConnection = new LocalConnection();
-            m_localConnection.addEventListener(StatusEvent.STATUS, localConnection_statusHandler);
-        }
-        return m_localConnection;
+            _localConnection = new LocalConnection();
+            _localConnection.addEventListener(StatusEvent.STATUS, localConnection_statusHandler);
+        }
+        return _localConnection;
     }

     private function localConnection_statusHandler(event:StatusEvent):void
@@ -70,7 +72,7 @@
         try
         {
             //use Function#apply to avoid passing rest argument as Array
-            localConnection.send.apply(null, [ CNAME, methodName ].concat(values));
+            localConnection.send.apply(null, [ CONNECTION_NAME, methodName ].concat(values));
         }
         catch (error:Error)
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1263838 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobilecomponents/src/spark/components/ContentBackgroundAppearance.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ContentBackgroundAppearance.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////

 package spark.components
 {


Removed offending semicolon.

Removed offending semicolon.

--- frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/StringItemRenderer.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/StringItemRenderer.as
@@ -157,7 +157,7 @@
         private var backgroundView:WrappedHTMLElement;

         /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement;
+         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1260378 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/effects/effectClasses/AddRemoveEffectTargetFilter.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/AddRemoveEffectTargetFilter.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////

 package mx.effects.effectClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16957
Author:   hmuller@adobe.com
Date:     2010-07-16T16:09:23.763066Z

Log Message:
-----------
The following changes apply to DataGrid only.

The set methods for Grid properties that affect the measured size or display now invalidate as appropriate.

Fixed the rowHeight and requestedRowCount property default values in DataGrid/gridPropertDefaults.

When the Grid columns property changes, update the ColumnHeaderBar's dataProvider.

Temporarily removed support for column generation.

Fixed the intermittent empty DataGrid problem.

QE notes: changes apply to Spark DataGrid only
Doc notes:
Bugs: SDK-26841, SDK-26842, SDK-26962, SDK-26920, SDK-26959, SDK-26959
Reviewer: Kevin
Tests run: none
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridRowNode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/GridContainerBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ColumnHeaderBarLayout.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1281465 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as
@@ -210,27 +210,8 @@

             var elementWidth:Number;
             var elementHeight:Number;
-
-			/*
-            // FIXME: this isn't right.  It isn't using a typicalItem.  And
-            // it is only working because the DefaultColumnHeaderItemRenderer
-            // has width set to 150, height set to 32.
-            if (!isNaN(gridColumn.width))
-                elementWidth = gridColumn.width;
-            else
-                elementWidth = element.getPreferredBoundsWidth();
-
-            if (!isNaN(gridColumn.minWidth) && elementWidth < gridColumn.minWidth)
-                elementWidth = gridColumn.minWidth;
-
-            if (!isNaN(gridColumn.maxWidth) && elementWidth > gridColumn.maxWidth)
-                elementWidth = gridColumn.maxWidth;
-
-            // FIXME: access this through cover method
-            gridDimensions.setColumnWidth(columnIndex, elementWidth);
-			*/
-
-			elementWidth = gridDimensions.getColumnWidth(columnIndex);
+
+            elementWidth = gridDimensions.getColumnWidth(columnIndex);
             elementHeight = element.getPreferredBoundsHeight();

             element.setLayoutBoundsSize(elementWidth, elementHeight);


Transferred from the Adobe Open Source Subversion Repository

Revision: 17978
Author:   hmuller@adobe.com
Date:     2010-09-30T23:20:34.653070Z

Log Message:
-----------
Restored support for ColumnHeaderBar event dispatching and added support for interactive column resizing.

Fixed support for DataGrid,Grid requestedColumnCount.

Renamed protected grid event handler methods, added an underscore: grid_RollOverHandler, grid_RollOutHandler, grid_MouseUpHandler, grid_MouseDownHandler.

Added SEPARATOR_DOUBLE_CLICK GridEvent type.

Remove unused private Grid/isEventTargetExcludeded() method.

QE notes:
Doc notes:
Bugs: SDK-28005, SDK-26364
Reviewer: Kevin
Tests run: checkin, mustella cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/GridEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ColumnHeaderBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ColumnHeaderBarLayout.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1281470 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as
@@ -163,7 +163,7 @@
         const paddingTop:Number = columnHeaderBar.getStyle("paddingTop");
         const paddingBottom:Number = columnHeaderBar.getStyle("paddingBottom");

-        columnHeaderBar.measuredWidth = Math.ceil(grid.contentWidth + paddingLeft + paddingRight);
+        columnHeaderBar.measuredWidth = Math.ceil(grid.getPreferredBoundsWidth() + paddingLeft + paddingRight);
         columnHeaderBar.measuredHeight = Math.ceil(maxRendererHeight + paddingTop + paddingBottom);
     }

@@ -232,7 +232,7 @@
             if (index < visibleColumnIndices.length)
                 columnIndex = visibleColumnIndices[index];
             else
-                columnIndex += 1;  // TBD: find the next visible column
+                columnIndex += 1;  // TBD(hmuller): find the next visible column

             if (columnIndex >= columnsLength)
                 break;
@@ -260,7 +260,7 @@

             // layout the renderer

-            var isLastColumn:Boolean = columnIndex == (columnsLength - 1);
+            var isLastColumn:Boolean = columnIndex == (columnsLength - 1);  // TBD(hmuller): last VISIBLE column
             var rendererX:Number = grid.getCellX(0, columnIndex) + paddingLeft;
             var rendererWidth:Number = grid.getColumnWidth(columnIndex);

@@ -311,7 +311,142 @@
     //
     //  Public methods
     //
-    //---------------------------------------------------------------
+    //---------------------------------------------------------------
+
+    /**
+     *  Returns the column index corresponding to the specified coordinates,
+     *  or -1 if the coordinates are out of bounds. The coordinates are
+     *  resolved with respect to the ColumnHeaderBar layout target.
+     *
+     *
If all of the columns or rows for the grid have not yet been scrolled
+     *  into view, the returned index may only be an approximation,
+     *  based on all of the columns' typicalItems.

+     *
+     *  @param x The pixel's x coordinate relative to the columnHeaderBar
+     *  @param y The pixel's y coordinate relative to the columnHeaderBar
+     *  @return the index of the column or -1 if the coordinates are out of bounds.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public function getHeaderIndexAt(x:Number, y:Number):int
+    {
+        const columnHeaderBar:ColumnHeaderBar = columnHeaderBar;
+        const grid:Grid = grid;
+
+        if (!columnHeaderBar || !grid)
+            return -1;
+
+        const paddingLeft:Number = columnHeaderBar.getStyle("paddingLeft");
+        return grid.getColumnIndexAt(x + paddingLeft, 0);
+    }
+
+    /**
+     *  Returns the column separator index corresponding to the specified
+     *  coordinates, or -1 if the coordinates don't overlap a separator. The
+     *  coordinates are resolved with respect to the ColumnHeaderBar layout target.
+     *
+     *
A separator is considered to "overlap" the specified location if the
+     *  x coordinate is within separatorMouseWidth of separator's
+     *  horizontal midpoint.

+     *
+     *
The separator index is the same as the index of the column on the left
+     *  (assuming that this component's layoutDirection is "rtl").  That means
+     *  that all column headers are flanked by two separators, except for the first
+     *  visible column, which just has a separator on the right, and the last visible
+     *  column, which just has a separator on the left.

+     *
+     *
If all of the columns or rows for the grid have not yet been scrolled
+     *  into view, the returned index may only be an approximation,
+     *  based on all of the columns' typicalItems.

+     *
+     *  @param x The pixel's x coordinate relative to the columnHeaderBar
+     *  @param y The pixel's y coordinate relative to the columnHeaderBar
+     *  @return the index of the column or -1 if the coordinates don't overlap a separator.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public function getSeparatorIndexAt(x:Number, y:Number):int
+    {
+        const columnHeaderBar:ColumnHeaderBar = columnHeaderBar;
+        const grid:Grid = grid;
+
+        if (!columnHeaderBar || !grid || !grid.columns)
+            return -1;
+
+        const paddingLeft:Number = columnHeaderBar.getStyle("paddingLeft");
+        const columnIndex:int = grid.getColumnIndexAt(x + paddingLeft, 0);
+
+        if (columnIndex == -1)
+            return -1;
+
+        const isFirstColumn:Boolean = columnIndex == 0;  // TBD first VISIBLE column
+        const isLastColumn:Boolean = columnIndex == (grid.columns.length - 1); // TBD likewise
+
+        const columnLeft:Number = grid.getCellX(0, columnIndex);
+        const columnRight:Number = columnLeft + grid.getColumnWidth(columnIndex);
+        const smw:Number = columnHeaderBar.separatorMouseWidth;
+
+        if (!isFirstColumn && (x > (columnLeft - smw)) && (x < (columnLeft + smw)))
+            return columnIndex - 1;  // TBD previous VISIBLE column
+
+        if (!isLastColumn && (x > (columnRight - smw)) && (x < columnRight + smw))
+            return columnIndex;
+
+        return -1;
+    }
+
+    /**
+     *  Returns the current pixel bounds of the specified header (renderer), or null if
+     *  no such column exists.  Header bounds are reported in ColumnHeaderBar coordinates.
+     *
+     *
If all of the visible columns preceeding the specified column have not
+     *  yet been scrolled into view, the returned bounds may only be an approximation,
+     *  based on all of the Grid's typicalItems.

+     *
+     *  @param columnIndex The 0-based index of the column.
+     *  @return A Rectangle that represents the column header's pixel bounds, or null.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public function getHeaderBounds(columnIndex:int):Rectangle
+    {
+        const columnHeaderBar:ColumnHeaderBar = columnHeaderBar;
+        const grid:Grid = grid;
+
+        if (!columnHeaderBar || !grid)
+            return null;
+
+        const columns:IList = grid.columns;
+        const columnsLength:int = (columns) ? columns.length : 0;
+
+        if (columnIndex >= columnsLength)
+            return null;
+
+        const paddingLeft:Number = columnHeaderBar.getStyle("paddingLeft");
+        const paddingRight:Number = columnHeaderBar.getStyle("paddingRight");
+        const paddingTop:Number = columnHeaderBar.getStyle("paddingTop");
+        const paddingBottom:Number = columnHeaderBar.getStyle("paddingBottom");
+
+        var isLastColumn:Boolean = columnIndex == (columnsLength - 1);  // TBD(hmuller): last VISIBLE column
+        var rendererX:Number = grid.getCellX(0, columnIndex) + paddingLeft;
+        const rendererY:Number = paddingTop;
+        var rendererWidth:Number = grid.getColumnWidth(columnIndex);
+        const rendererHeight:Number = columnHeaderBar.height - paddingTop - paddingBottom;
+
+        if (isLastColumn)
+            rendererWidth = horizontalScrollPosition + columnHeaderBar.width - rendererX - paddingRight;
+
+        return new Rectangle(rendererX, rendererY, rendererWidth, rendererHeight);
+    }

     /**
      *  If the requested header renderer is visible, returns a reference to
@@ -324,7 +459,7 @@
      *  new item renderer is not visible

      *
      *
The width of the returned renderer is the same as for item renderers
-     *  returned by DataGrid/getItemRenderer().

+     *  returned by DataGrid/getItemRendererAt().

      *
      *  @param columnIndex The 0-based column index of the header renderer's column
      *  @return The item renderer or null if the column index is invalid.
@@ -339,13 +474,24 @@
         const columnHeaderBar:ColumnHeaderBar = columnHeaderBar;
         const grid:Grid = grid;

-        if (!columnHeaderBar || !grid)
+        if (!columnHeaderBar || !grid || (columnIndex < 0))
             return null;
+
+        // If columnIndex refers to a visible header renderer, return it

         const visibleColumnIndices:Vector.<int> = grid.getVisibleColumnIndices();
         const eltIndex:int = visibleColumnIndices.indexOf(columnIndex);
-        if ((eltIndex != -1) && (eltIndex < columnHeaderBar.numElements))
-            return columnHeaderBar.getElementAt(eltIndex) as IGridItemRenderer;
+        if (eltIndex != -1)
+        {
+            const columnHeaderBarNumElements:int = columnHeaderBar.numElements;
+            for (var index:int = 0; index < columnHeaderBarNumElements; index++)
+            {
+                var elt:IGridItemRenderer = columnHeaderBar.getElementAt(index) as IGridItemRenderer;
+                if (elt && elt.visible && elt.column && (elt.column.columnIndex == columnIndex))
+                    return elt;
+            }
+            return null;
+        }

         // create a new renderer


Transferred from the Adobe Open Source Subversion Repository

Revision: 17109
Author:   klin@adobe.com
Date:     2010-07-28T23:37:16.977688Z

Log Message:
-----------
First round of changes for Spark DataGrid skinning.

DataGridSkin - Added alpha for disabled state and minWidth/minHeight. Altered the background/border/selection/hover/caret colors to XD specifications. Adjusted the label positioning and the ColumnHeaderBar size and positioning.
DefaultGridItemRenderer - Changed default padding on the left and right to 5. Changed the default height to 26 with padding of 5 on top and bottom.
GridLayout - removed the call to initializeGridElement since alternating row colors aren't default
ColumnHeaderBarLayout - Removed laying out the separators and forced the buttons to overlap one pixel.

QE notes: No
Doc notes: No
Bugs: SDK-26827, SDK-26935, SDK-27051
Reviewer: Hans
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DefaultColumnHeaderRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ColumnHeaderBarLayout.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1281466 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as
@@ -211,7 +211,8 @@
             var elementWidth:Number;
             var elementHeight:Number;

-            elementWidth = gridDimensions.getColumnWidth(columnIndex);
+            // FIXME (klin): hack here to force the borders of each header to overlap.
+            elementWidth = gridDimensions.getColumnWidth(columnIndex) + 1;
             elementHeight = element.getPreferredBoundsHeight();

             element.setLayoutBoundsSize(elementWidth, elementHeight);
@@ -233,10 +234,10 @@
         // this layout can use them.

         // Now layout the separators between the headers.
-        visibleHeaderSeparators = gridLayout.layoutColumnHeaderSeparators(
+     /*   visibleHeaderSeparators = gridLayout.layoutColumnHeaderSeparators(
                                                 oldVisibleColumnIndices,
                                                 visibleColumnIndices,
-                                                visibleHeaderSeparators);
+                                                visibleHeaderSeparators);*/

         oldVisibleColumnIndices.length = 0;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1282231 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////

 package spark.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18173
Author:   jasonsj@adobe.com
Date:     2010-10-15T17:03:20.801634Z

Log Message:
-----------
Mobile Theme Initial check-in

* New light-look visuals from XD
* Changed airmobile-config.xml to use standalone Mobile theme instead of Spark overlay
* Added theme="spark, mobile" where spark was already white-listed and support is implemented and/or planned for Mobile/spark.css (see https://zerowing.corp.adobe.com/display/flexmobile/Mobile+Theme+Styles+Spec)
* MobileSkin has symbolColor and chromeColor support. Override beginChromeColorFill and drawChromeColor when defining custom chromeColor visuals.
* CheckBox and RadioButton now have chromeColor and symbolColor support
* Added textShadowColor and textShadowAlpha support to Button and ActionBar
* Added chromeColor support to HScrollBar and VScrollBar

QE notes: All mobile skins have been updaetd.
Doc notes: Update mobile skinning documentation for new APIs
Bugs:
SDK-28043 Investigate usage of "viewWidth", "viewHeight" for the Flex Mobile Skin Assets
SDK-27609 Mobile scroll bar skins should use chromeColor
SDK-27646 cornerradius has no effect on button in mobile application
Reviewer: gruehle
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_symbol.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_symbol.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/metadata/ContainerBackgroundStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/TextInput_border.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_down.fxg</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_upSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_upSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuItemSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RadioButton.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_downSelected.fxg</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/themes/Mobile/spark.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/airmobile-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_downSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationButtonSkin.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1265735 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as
@@ -47,9 +47,11 @@
     {
         var g:Graphics = graphics;

+        var chromeColor:uint = getStyle("chromeColor");
         g.clear();
-        g.beginFill(0, 0.25);
-        g.drawRoundRect(0, 0, unscaledWidth, unscaledHeight, 8, 8);
+        g.lineStyle(1, chromeColor);
+        g.beginFill(chromeColor, 0.5);
+        g.drawRoundRect(0.5, 0.5, unscaledWidth, unscaledHeight, 7, 7);
         g.endFill();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17206
Author:   jszeto@adobe.com
Date:     2010-08-06T00:21:03.791589Z

Log Message:
-----------
Mobile Button Skin Changes

Refactor ButtonSkin into MobileSkin, ButtonSkinBase and ButtonSkin.

MobileSkin has logic for dealing with currentState
ButtonSkinBase has the label and icon placement logic (and is essentially a borderless skin)
ButtonSkin adds the FXG skins and the gradient background

- Text is now bold
- Emphasized buttons use ButtonSkin instead of DefaultButtonSkin and don't show any emphasized state (we aren't supporting emphasized buttons for mobile)
- Optimized the FXG skin creation
- Moved iconClass and labelPlacement from Button to ButtonBase.
- Updated padding values for label to match spec
- Removed the spark ButtonLabelPlacement class and moved the mx one from mx to frameworks swc

QE notes: none
Doc notes: none
Bugs:
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/MobileSkin.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ButtonLabelPlacement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ButtonLabelPlacement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ButtonLabelPlacement.as" copyfrom-rev="17195" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/ButtonLabelPlacement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1281979 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
@@ -73,6 +73,42 @@
  *  @productversion Flex 4
  */
 [Style(name="focusColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+// TODO (jszeto) set to mobile theme only
+/**
+ *  The class to use for the button's icon. The labelPlacement style
+ *  controls the position of the label relative to the icon.
+ *
+ *  @default null
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="iconClass", type="Class", inherit="no", theme="spark")]
+
+// TODO (jszeto) set to mobile theme only
+/**
+ *  Orientation of the label in relation to a specified icon.
+ *  Valid MXML values are right, left,
+ *  bottom, and top.
+ *
+ *
In ActionScript, you can use the following constants
+ *  to set this property:
+ *  ButtonLabelPlacement.RIGHT,
+ *  ButtonLabelPlacement.LEFT,
+ *  ButtonLabelPlacement.BOTTOM, and
+ *  ButtonLabelPlacement.TOP.

+ *
+ *  @default ButtonLabelPlacement.RIGHT
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="labelPlacement", type="String", enumeration="left,right,top,bottom", inherit="no", theme="spark")]

 /**
  *  Number of milliseconds to wait after the first buttonDown


Need to handle non-IUIBases

Need to handle non-IUIBases

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/PointUtils.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/PointUtils.as
@@ -54,7 +54,7 @@
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		public static function globalToLocal( pt:org.apache.flex.geom.Point, local:IUIBase ):org.apache.flex.geom.Point
+		public static function globalToLocal( pt:org.apache.flex.geom.Point, local:Object ):org.apache.flex.geom.Point
 		{
             var fpt:flash.geom.Point = DisplayObject(local).globalToLocal(pt);
             return new org.apache.flex.geom.Point(fpt.x, fpt.y);
@@ -71,7 +71,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public static function localToGlobal( pt:org.apache.flex.geom.Point, local:IUIBase ):org.apache.flex.geom.Point
+        public static function localToGlobal( pt:org.apache.flex.geom.Point, local:Object ):org.apache.flex.geom.Point
         {
             var fpt:flash.geom.Point = DisplayObject(local).localToGlobal(pt);
             return new org.apache.flex.geom.Point(fpt.x, fpt.y);


Transferred from the Adobe Open Source Subversion Repository

Revision: 19977
Author:   chiedozi@adobe.com
Date:     2011-01-27T19:29:58.832766Z

Log Message:
-----------
Removed style changes that occurred in layoutContents of the ActionBarSkin to remove need for multiple validation passes.

QE notes:
Doc notes:
Bugs:
Reviewer: Jason San Jose
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1265125 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
@@ -285,6 +285,30 @@
     /**
      *  @private
      */
+    override public function styleChanged(styleProp:String):void
+    {
+        super.styleChanged(styleProp);
+
+        if (styleProp == "textAlign")
+        {
+            var titleAlign:String = getStyle("textAlign");
+
+            if (titleAlign == "center")
+            {
+                // If the title align is set to center, the alignment is set to LEFT
+                // so that the skin can manually center the component in layoutContents
+                titleDisplay.setStyle("textAlign", TextFormatAlign.LEFT);
+            }
+            else
+            {
+                titleDisplay.setStyle("textAlign", titleAlign);
+            }
+        }
+    }
+
+    /**
+     *  @private
+     */
     override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
     {
         super.layoutContents(unscaledWidth, unscaledHeight);
@@ -375,7 +399,6 @@
             else if (titleAlign == "center")
             {
                 // use LEFT instead of CENTER
-                titleDisplay.setStyle("textAlign", TextFormatAlign.LEFT);
                 titleCompWidth = titleDisplay.getExplicitOrMeasuredWidth();

                 // use x position of titleDisplay to implement CENTER
@@ -418,8 +441,6 @@
             }
             else
             {
-                titleDisplay.setStyle("textAlign", titleAlign);
-
                 // implement padding by adjusting width and position
                 titleCompX += titlePaddingLeft;
                 titleCompWidth = titleCompWidth - titlePaddingLeft - titlePaddingRight;


Enable user to customise deltaTime when calling Animation::step and Animation::stepReverse

--- src/aerys/minko/type/animation/Animation.as
+++ src/aerys/minko/type/animation/Animation.as
@@ -41,20 +41,19 @@
 			transformNodes(time);
 		}

-		public function step() : void
+		public function step(deltaTime : uint = 80) : void
 		{
-			var time : uint = (_lastTime + 2500 / 30) % _duration;
+			var time : uint = (_lastTime + deltaTime) % _duration;
 			transformNodes(time);
 		}

-		public function stepReverse() : void
+		public function stepReverse(deltaTime : uint = 80) : void
 		{
-			var time : int = (_lastTime - 2500 / 30) % _duration;
+			var time : int = (_lastTime - deltaTime) % _duration;
 			if (time < 0)
 				time = time + _duration;

 			transformNodes(time);
-
 		}

 		private function transformNodes(time : uint) : void


deleted "removed = source.splice(index, 1)[0];"

removed duplicate manipulation of source array which was causing a second item to be unnecessarily removed in function removeItemAt()

--- frameworks/projects/apache/src/org/apache/flex/collections/ArrayList.as
+++ frameworks/projects/apache/src/org/apache/flex/collections/ArrayList.as
@@ -529,7 +529,6 @@
             throw new RangeError(message);
         }

-        removed = source.splice(index, 1)[0];
         stopTrackUpdates(removed);
         internalDispatchEvent(CollectionEventKind.REMOVE, removed, index);
         return removed;


Transferred from the Adobe Open Source Subversion Repository

Revision: 17374
Author:   jasonsj@adobe.com
Date:     2010-08-19T00:49:38.895209Z

Log Message:
-----------
Fixed separator highlight issues in ActionBar buttons
Fixed FXG alignment issues in ActionBar buttons
Added BasicInheritingTextStyles to ActionBar in lieu of finalized mobile styling spec
Changed ActionBar titleDisplay SkinPart from Label to IDisplayText

QE notes:
Doc notes:
Reviewer: jszeto, gruehle
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/.externalToolBuilders</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/NavigationButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionBarBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/NavigationButton_down.fxg</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/.settings</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionButton_up.fxg</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1265094 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
@@ -11,14 +11,20 @@

 package spark.skins.mobile
 {
-import flash.display.Graphics;
-import flash.display.Sprite;
-
+import flash.display.DisplayObject;
+import flash.events.Event;
+import flash.text.TextLineMetrics;
+
+import mx.core.ILayoutElement;
 import mx.core.UIComponent;
+import mx.core.UITextField;
+import mx.core.mx_internal;
+import mx.styles.ISimpleStyleClient;

 import spark.components.ActionBar;
 import spark.components.Group;
-import spark.components.Label;
+import spark.components.supportClasses.MobileTextField;
+import spark.core.IDisplayText;
 import spark.core.SpriteVisualElement;
 import spark.layouts.HorizontalAlign;
 import spark.layouts.HorizontalLayout;
@@ -26,9 +32,13 @@
 import spark.skins.mobile.assets.ActionBarBackground;
 import spark.skins.mobile.supportClasses.MobileSkin;

+use namespace mx_internal;
+
 /**
- *  FIXME (jasonsj)
- *
+ *  The default skin class for the Spark ActionBar component.
+ *
+ *  @see spark.components.ActionBar
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 2.5
@@ -36,18 +46,36 @@
  */
 public class ActionBarSkin extends MobileSkin
 {
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+    public function ActionBarSkin()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
     public var hostComponent:ActionBar;

     public var navigationGroup:Group;
     public var titleGroup:Group;
     public var actionGroup:Group;
-    public var titleDisplay:Label;
+    public var titleDisplay:IDisplayText;
     private var border:SpriteVisualElement;

-    public function ActionBarSkin()
-    {
-        super();
-    }
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------

     override protected function createChildren():void
     {
@@ -59,7 +87,8 @@
         hLayout.horizontalAlign = HorizontalAlign.LEFT;
         hLayout.verticalAlign = VerticalAlign.JUSTIFY;
         hLayout.gap = 0;
-        hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight = hLayout.paddingBottom = 0;
+        hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight =
+            hLayout.paddingBottom = 0;
         navigationGroup.layout = hLayout;
         addChild(navigationGroup);

@@ -77,66 +106,83 @@
         hLayout.horizontalAlign = HorizontalAlign.RIGHT;
         hLayout.verticalAlign = VerticalAlign.JUSTIFY;
         hLayout.gap = 0;
-        hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight = hLayout.paddingBottom = 0;
+        hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight =
+            hLayout.paddingBottom = 0;
         actionGroup.layout = hLayout;
         addChild(actionGroup);

+        var titleDisplayComp:TitleDisplayComponent = new TitleDisplayComponent();
+        titleDisplayComp.percentWidth = 100;
+        titleDisplayComp.styleName = this;
+        titleDisplay = titleDisplayComp;
+
+        initializeStyles();
+    }
+
+    protected function initializeStyles():void
+    {
         // ID selectors to style contents of each group separately
         navigationGroup.id = "navigationGroup";
         titleGroup.id = "titleGroup";
         actionGroup.id = "actionGroup";
-
-        // FIXME (jasonsj): drop shadow on text, MobileTextField
-        titleDisplay = new Label();
-        titleDisplay.maxDisplayedLines = 1;
-        titleDisplay.percentWidth = 100;
-        titleDisplay.setStyle("fontSize", "32");
-        titleDisplay.setStyle("verticalAlign", "middle");
-        titleDisplay.setStyle("color", "0xFFFFFF");
-        titleDisplay.setStyle("fontWeight", "bold");
     }

     override protected function measure():void
     {
-        var titleComponent:UIComponent = (titleGroup.numElements > 0) ? titleGroup : titleDisplay;
+        var titleComponent:ILayoutElement = (titleGroup.numElements > 0) ? titleGroup : null;
+        var titleWidth:Number = 0;
+        var titleHeight:Number = 0;
+
+        if (!titleComponent && (titleDisplay is ILayoutElement))
+            titleComponent = ILayoutElement(titleDisplay);
+
+        if (titleComponent)
+        {
+            titleWidth = titleComponent.getPreferredBoundsWidth();
+            titleHeight = titleComponent.getPreferredBoundsHeight();
+        }
+
         measuredMinWidth = measuredWidth =
             navigationGroup.getPreferredBoundsWidth()
-            + titleComponent.getPreferredBoundsWidth()
-            + actionGroup.getPreferredBoundsWidth();
+            + actionGroup.getPreferredBoundsWidth()
+            + titleWidth;

         measuredMinHeight = measuredHeight =
             Math.max(80, navigationGroup.getPreferredBoundsHeight(),
                 actionGroup.getPreferredBoundsHeight(),
-                titleComponent.getPreferredBoundsHeight());
-    }
-
-    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
-    {
+                titleHeight);
+    }
+
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        // FXG contains a top border, bottom border, and 3 px drop shadow
         border.width = unscaledWidth;
-        border.height = unscaledHeight + 5; // +5 for FXG drop shadow
+        border.height = unscaledHeight + 5;

         var left:Number = 0;
         var right:Number = unscaledWidth;

-        // FIXME (jasonsj): highlight border right/left on navigation/action groups
-
         // position groups, overlap of navigation and action groups is allowed
-        // when overlap occurs, title group is not visible (width = 0)
-        if (navigationGroup.numElements > 0 && navigationGroup.includeInLayout)
+        // when overlap occurs, titleDisplay/titleGroup is not visible
+        // (width = 0)
+        if (navigationGroup.numElements > 0
+            && navigationGroup.includeInLayout)
         {
             left += navigationGroup.getPreferredBoundsWidth();
             navigationGroup.setLayoutBoundsSize(left, unscaledHeight);
-            navigationGroup.setLayoutBoundsPosition(0, 1);
+            navigationGroup.setLayoutBoundsPosition(0, 1); // top border
         }

         if (actionGroup.numElements > 0 && actionGroup.includeInLayout)
         {
-            var actionGroupWidth:Number = actionGroup.getPreferredBoundsWidth();
+            var actionGroupWidth:Number =
+                actionGroup.getPreferredBoundsWidth();
             right -= actionGroupWidth;
             actionGroup.setLayoutBoundsSize(actionGroupWidth, unscaledHeight);

             // actionGroup x position can be negative
-            actionGroup.setLayoutBoundsPosition(right, 1);
+            actionGroup.setLayoutBoundsPosition(right, 1); // top border
         }

         var titleGroupWidth:Number = right - left;
@@ -148,10 +194,201 @@

         // Draw background
         graphics.clear();
-        graphics.beginFill(getStyle("chromeColor"), getStyle("backgroundAlpha"));
+        graphics.beginFill(getStyle("chromeColor"),
+            getStyle("backgroundAlpha"));
         graphics.drawRect(0, 1, unscaledWidth, unscaledHeight);
         graphics.endFill();
     }
-
 }
+}
+import flash.events.Event;
+import flash.text.TextFormatAlign;
+import flash.text.TextLineMetrics;
+
+import mx.core.UIComponent;
+import mx.core.UITextField;
+import mx.core.mx_internal;
+import mx.events.FlexEvent;
+
+import spark.components.supportClasses.MobileTextField;
+import spark.core.IDisplayText;
+
+use namespace mx_internal;
+
+/**
+ *  @private
+ *  Component that holds MobileTextFields to produce a drop shadow effect.
+ */
+class TitleDisplayComponent extends UIComponent implements IDisplayText
+{
+    private static var TEXT_WIDTH_PADDING:Number =
+        UITextField.TEXT_WIDTH_PADDING + 1;
+
+    private var titleDisplay:MobileTextField;
+    private var titleDisplayShadow:MobileTextField;
+    private var title:String;
+    private var titleChanged:Boolean;
+
+    // FIXME (jasonsj): padding styles
+    private var paddingLeft:int = 15;
+    private var paddingRight:int = 15;
+    private var paddingTop:int = 15;
+    private var paddingBottom:int = 15;
+
+    public function TitleDisplayComponent()
+    {
+        super();
+		title = "";
+
+        // FIXME (jasonsj): mobile styling spec
+        setStyle("fontSize", 32);
+        setStyle("fontWeight", "bold");
+        setStyle("textAlign", "left");
+        setStyle("textShadowColor", 0x000000);
+    }
+
+    override protected function createChildren():void
+    {
+        // FIXME (jasonsj): pending mobile styling spec:
+        //                  drop shadow style
+        //                  textAlign
+        titleDisplay = MobileTextField(createInFontContext(MobileTextField));
+        titleDisplay.styleProvider = this;
+        titleDisplay.editable = false;
+        titleDisplay.selectable = false;
+        titleDisplay.multiline = false;
+        titleDisplay.wordWrap = false;
+        titleDisplay.addEventListener(FlexEvent.VALUE_COMMIT,
+            titleDisplay_valueCommitHandler);
+
+        titleDisplayShadow =
+            MobileTextField(createInFontContext(MobileTextField));
+        titleDisplayShadow.styleProvider = this;
+        titleDisplayShadow.colorName = "textShadowColor";
+        titleDisplayShadow.editable = false;
+        titleDisplayShadow.selectable = false;
+        titleDisplayShadow.multiline = false;
+        titleDisplayShadow.wordWrap = false;
+
+        addChild(titleDisplayShadow);
+        addChild(titleDisplay);
+    }
+
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+
+        if (titleChanged)
+        {
+            if (titleDisplay)
+            {
+                titleDisplay.text = title;
+                invalidateSize();
+
+                invalidateDisplayList();
+            }
+
+            titleChanged = false;
+        }
+    }
+
+    override protected function measure():void
+    {
+        var textWidth:Number = 0;
+        var textHeight:Number = 0;
+        var lineMetrics:TextLineMetrics;
+
+        if (title != "")
+        {
+            lineMetrics = measureText(title);
+            textWidth = lineMetrics.width + TEXT_WIDTH_PADDING;
+        }
+        else
+        {
+            lineMetrics = measureText("Wj");
+        }
+
+        textHeight = lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+
+        measuredWidth = textWidth;
+        measuredHeight = textHeight;
+    }
+
+    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        var textHeight:Number = 0;
+        var lineMetrics:TextLineMetrics;
+
+        if (title != "")
+            lineMetrics = measureText(title);
+        else
+            lineMetrics = measureText("Wj");
+
+        textHeight = lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+
+        // FIXME (jasonsj): pending mobile styling spec: vertical center
+        titleDisplay.commitStyles();
+        titleDisplay.x = 0;
+        titleDisplay.y = Math.floor((unscaledHeight / 2) - (textHeight / 2)); // centered
+        titleDisplay.width = unscaledWidth;
+        titleDisplay.height = unscaledHeight;
+
+        // before truncating text, we need to reset it to its original value
+        if (titleDisplay.isTruncated)
+            titleDisplay.text = title;
+        titleDisplay.truncateToFit();
+
+        titleDisplayShadow.commitStyles();
+        titleDisplayShadow.x = 0;
+        titleDisplayShadow.y = titleDisplay.y + 1; // 90 degree drop shadow
+        titleDisplayShadow.width = unscaledWidth;
+        titleDisplayShadow.height = unscaledHeight;
+
+        // if labelDisplay is truncated, then push it down here as well.
+        // otherwise, it would have gotten pushed in the labelDisplay_valueCommitHandler()
+        if (titleDisplay.isTruncated)
+            titleDisplayShadow.text = titleDisplay.text;
+    }
+
+    override public function styleChanged(styleProp:String):void
+    {
+        super.styleChanged(styleProp);
+
+        if (titleDisplay)
+            titleDisplay.styleChanged(styleProp);
+
+        if (titleDisplayShadow)
+            titleDisplayShadow.styleChanged(styleProp);
+    }
+
+    /**
+     *  @private
+     */
+    private function titleDisplay_valueCommitHandler(event:Event):void
+    {
+        titleDisplayShadow.text = titleDisplay.text;
+    }
+
+    public function get text():String
+    {
+        return title;
+    }
+
+    public function set text(value:String):void
+    {
+        title = value;
+        titleChanged = true;
+
+        invalidateProperties();
+    }
+
+    public function get isTruncated():Boolean
+    {
+        if (titleDisplay)
+            return titleDisplay.isTruncated;
+
+        return false;
+    }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7836
Author:   chaase@adobe.com
Date:     2009-06-15T14:37:21.379918Z

Log Message:
-----------
PARB changes for effects. This includes various property renames, a couple of class renames, moving 3 classes to a sub-package, and various doc cleanups. This also includes changing a handful of Array properties to typed Vectors.

QE: This breaks Mustella due to the renames
Doc: Docs will need to be updated to reflect the changes as well
Bugs: None
Reviewer: Jason
Tests: checkintests, Thermo's transitionbug test

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EasingFraction.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/RepeatBehavior.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/CallActionInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/HSBColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.pbk</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/WipeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1283972 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/effects/animation/RepeatBehavior.as
+++ frameworks/projects/spark/src/spark/effects/animation/RepeatBehavior.as
@@ -37,7 +37,8 @@

     /**
      * Specifies that a repeating animation should reverse direction on
-     * every iteration.
+     * every iteration. For example, a reversing animation would play forward
+     * on the even iterations and in reverse on the odd iterations.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


Updated sort() and sortBy()'s error checking.

--- net/flashpunk/FP.as
+++ net/flashpunk/FP.as
@@ -497,8 +497,7 @@
 		 */
 		public static function sort(object:Object, ascending:Boolean = true):void
 		{
-			if (!object.hasOwnProperty("length")) throw new Error("Object not sortable type, must use Array or Vector.");
-			quicksort(object, 0, object.length - 1, ascending);
+			if (object is Array || object is Vector.<*>) quicksort(object, 0, object.length - 1, ascending);
 		}

 		/**
@@ -509,8 +508,7 @@
 		 */
 		public static function sortBy(object:Object, property:String, ascending:Boolean = true):void
 		{
-			if (!object.hasOwnProperty("length")) throw new Error("Object not sortable type, must use Array or Vector.");
-			quicksortBy(object, 0, object.length - 1, ascending, property);
+			if (object is Array || object is Vector.<*>) quicksortBy(object, 0, object.length - 1, ascending, property);
 		}

 		/** @private Quicksorts the array. */


Updated sort() and sortBy() again.

Updated sort() and sortBy() again.

--- net/flashpunk/FP.as
+++ net/flashpunk/FP.as
@@ -492,27 +492,29 @@

 		/**
 		 * Sorts the elements in the array.
-		 * @param	a			The Array or Vector to sort.
+		 * @param	object		The Object to sort (an Array or Vector).
 		 * @param	ascending	If it should be sorted ascending (true) or descending (false).
 		 */
-		public static function sort(a:*, ascending:Boolean = true):void
-		{
-			quicksort(a, 0, a.length - 1, ascending);
+		public static function sort(object:Object, ascending:Boolean = true):void
+		{
+			if (!object.hasOwnProperty("length")) throw new Error("Object not sortable type, must use Array or Vector.");
+			quicksort(object, 0, object.length - 1, ascending);
 		}

 		/**
 		 * Sorts the elements in the array by a property of the element.
-		 * @param	a			The Array or Vector to sort.
-		 * @param	property	The numeric property to sort by.
+		 * @param	object		The Object to sort (an Array or Vector).
+		 * @param	property	The numeric property of object's elements to sort by.
 		 * @param	ascending	If it should be sorted ascending (true) or descending (false).
 		 */
-		public static function sortBy(a:*, property:String, ascending:Boolean = true):void
-		{
-			quicksortBy(a, 0, a.length - 1, ascending, property);
+		public static function sortBy(object:Object, property:String, ascending:Boolean = true):void
+		{
+			if (!object.hasOwnProperty("length")) throw new Error("Object not sortable type, must use Array or Vector.");
+			quicksortBy(object, 0, object.length - 1, ascending, property);
 		}

 		/** @private Quicksorts the array. */
-		private static function quicksort(a:*, left:int, right:int, ascending:Boolean):void
+		private static function quicksort(a:Object, left:int, right:int, ascending:Boolean):void
 		{
 			var i:int = left, j:int = right, t:Number,
 				p:Number = a[Math.round((left + right) * .5)];
@@ -549,7 +551,7 @@
 		}

 		/** @private Quicksorts the array by the property. */
-		private static function quicksortBy(a:*, left:int, right:int, ascending:Boolean, property:String):void
+		private static function quicksortBy(a:Object, left:int, right:int, ascending:Boolean, property:String):void
 		{
 			var i:int = left, j:int = right, t:Object,
 				p:Number = a[Math.round((left + right) * .5)][property];


Transferred from the Adobe Open Source Subversion Repository

Revision: 18734
Author:   rfrishbe@adobe.com
Date:     2010-11-19T19:15:54.182511Z

Log Message:
-----------
Adding estimatedSize to mobile skins for containers.  This is needed so estimatedSize calculations get pushed down to children.

QE notes:
Doc notes:
Bugs: -
Reviewer: Alex, Evtim
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1265480 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as
@@ -88,6 +88,14 @@
         navigator = new TabbedViewNavigator();
         addChild(navigator);
     }
+
+	/**
+	 *  @private
+	 */
+	override public function validateEstimatedSizesOfChildren():void
+	{
+		navigator.setEstimatedSize(estimatedWidth, estimatedHeight);
+	}

     /**
      *  @inheritDoc


- change: added some null object exception guards to ImageResource

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@601 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/external/ImageResource.as
+++ src/reprise/external/ImageResource.as
@@ -63,6 +63,10 @@
 			{
 				return 1;
 			}
+			if (!m_loader)
+			{
+				return 0;
+			}
 			return m_loader.contentLoaderInfo.bytesLoaded;
 		}

@@ -71,6 +75,10 @@
 			if (m_attachMode)
 			{
 				return 1;
+			}
+			if (!m_loader)
+			{
+				return 0;
 			}
 			return m_loader.contentLoaderInfo.bytesTotal;
 		}


add XPath special function 'hasController()' instead of weird ?= operator

--- src/aerys/minko/scene/SceneIterator.as
+++ src/aerys/minko/scene/SceneIterator.as
@@ -16,7 +16,7 @@
 	{
 		private static const TYPE_CACHE	: Dictionary		= new Dictionary(true);
 		private static const OPERATORS	: Vector.<String>	= new <String>[
-			"//", "/", "[", "]", "..", ".", "~=", "?=", "=", "@", "*"
+			"//", "/", "[", "]", "..", ".", "~=", "?=", "=", "@", "*", "(", ")"
 		];
 		private static const REGEX_TRIM	: RegExp			= /^\s+|\s+$/;

@@ -315,6 +315,12 @@
 				else
 					_selection.length = 0;
 			}
+			else if (propertyName == 'hasController')
+			{
+				checkNextToken('(');
+				filterOnController(getToken(true));
+				checkNextToken(')');
+			}
 			else
 			{
 				var operator	: String	= getToken(true);
@@ -322,8 +328,6 @@

 				if (operator == "~=")
 					filterOnRegExp(propertyName, String(value), isBinding);
-				else if (operator == "?=")
-					filterOnController(String(value));
 				else
 					filterOnValue(propertyName, value, isBinding);
 			}


fix Matrix4x4.interpolateTo() and Matrix4x4.interpolateBetween() and add an interpolateW argument

--- src/aerys/minko/type/math/Matrix4x4.as
+++ src/aerys/minko/type/math/Matrix4x4.as
@@ -530,30 +530,37 @@
 			return this;
 		}

-		public function interpolateTo(target : Matrix4x4, ratio : Number, withScale : Boolean = true) : Matrix4x4
+		public function interpolateTo(target            : Matrix4x4,
+                                      ratio             : Number,
+                                      interpolateScale  : Boolean = true,
+                                      interpolateW      : Boolean = true) : Matrix4x4
 		{
 			_invalidComponents = COMPONENT_ROTATION | COMPONENT_TRANSLATION;

-			if (withScale)
+			if (interpolateScale)
 			{
 				_invalidComponents |= COMPONENT_SCALE;

-				var scale	: Vector4	= getColumn(3, TMP_VECTOR4);
-				var sx		: Number	= scale.x;
-				var sy		: Number	= scale.y;
-				var sz		: Number	= scale.z;
-                var sw      : Number    = scale.w;
+				var scale   : Vector4	= getScale(TMP_VECTOR4);
+				var sx	    : Number	= scale.x;
+				var sy	    : Number	= scale.y;
+				var sz	    : Number	= scale.z;

-				scale = target.getColumn(3, TMP_VECTOR4);
-                scale.set(
-                    sx + (scale.x - sx) * ratio,
-                    sy + (scale.y - sy) * ratio,
-                    sz + (scale.z - sz) * ratio,
-                    sw + (scale.w - sw) * ratio
-                );
+				scale = target.getScale(TMP_VECTOR4);
+                sx += (scale.x - sx) * ratio;
+                sy += (scale.y - sy) * ratio;
+                sz += (scale.z - sz) * ratio;

 				_matrix.interpolateTo(target._matrix, ratio);
-                setColumn(3, scale);
+                _matrix.appendScale(sx, sy, sz);
+
+                if (interpolateW)
+                {
+                    var translation : Vector4   = getTranslation(TMP_VECTOR4);
+
+                    translation.lerp(target.getTranslation(), ratio);
+                    setColumn(3, translation);
+                }
 			}
 			else
 			{
@@ -566,13 +573,14 @@
 			return this;
 		}

-		public function interpolateBetween(m1 			: Matrix4x4,
-										   m2 			: Matrix4x4,
-										   ratio 		: Number,
-										   withScale 	: Boolean = true) : Matrix4x4
+		public function interpolateBetween(m1 			    : Matrix4x4,
+										   m2 			    : Matrix4x4,
+										   ratio 		    : Number,
+										   interpolateScale : Boolean   = true,
+                                           interpolateW     : Boolean   = true) : Matrix4x4
 		{
 			_matrix.copyFrom(m1._matrix);
-			interpolateTo(m2, ratio, withScale);
+			interpolateTo(m2, ratio, interpolateScale, interpolateW);

 			return this;
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 12469
Author:   jimurphy@adobe.com
Date:     2009-12-03T22:04:16.560316Z

Log Message:
-----------
fix offsets for FB.  Convert line ending from lf to crlf in svn for the proects directory only.  When checking project files in, be sure to save you files this way.  Another update to make sure happens is set the svn properties svn:eol-style = native and svn:mime-type = text/plain (these have been updated on theses files as well)

QE notes: make sure the proper class is selected
Doc notes: no
Bugs: http://bugs.adobe.com/jira/browse/SDK-24498
Reviewer:
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
133 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1284338 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as
@@ -385,4 +385,4 @@
     {
     }
 }
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1253411 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/charts/src/mx/charts/styles/metadata/LeadingStyle.as
+++ frameworks/projects/charts/src/mx/charts/styles/metadata/LeadingStyle.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 11151
Author:   klin@adobe.com
Date:     2009-10-26T17:41:10.135655Z

Log Message:
-----------
Various bug fixes.

Button.as
-Added some ASDocs for a previous fix where we made the icons property protected instead of private.

Skins.properties, components.properties, sparkEffects.properties
-Removed “Fx” prefix and cleaned up whitespace

SwatchPanel.as, defaults.css
-ColorPicker was drawing incorrectly with sparkskins because two halo specific styles were missing in the spark theme. Thus, I included highlightColor and shadowColor into the spark theme and added them to defaults.css.

TitleWindowSkin.mxml, wireframe/TitleWindowSkin.mxml
-The label skin part came too close to the close button so I added padding

DataGrid.as
-Added exclude metadata for columnWidth
-Column widths are now rounded down to avoid sub-pixel values in the initial rendering

QE notes: None
Doc notes: None
Bugs: SDK-23057, SDK-23695, SDK-23576, SDK-23791, SDK-22733, SDK-22757
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/bundles/en_US/components.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TitleWindowSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/TitleWindowSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/bundles/en_US/sparkEffects.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/bundles/en_US/skins.properties</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1268694 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/colorPickerClasses/SwatchPanel.as
+++ frameworks/projects/mx/src/mx/controls/colorPickerClasses/SwatchPanel.as
@@ -151,7 +151,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="highlightColor", type="uint", format="Color", inherit="yes", theme="halo")]
+[Style(name="highlightColor", type="uint", format="Color", inherit="yes", theme="halo, spark")]

 /**
  *  Number of pixels between the component's top border
@@ -196,7 +196,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="shadowColor", type="uint", format="Color", inherit="yes", theme="halo")]
+[Style(name="shadowColor", type="uint", format="Color", inherit="yes", theme="halo, spark")]

 /**
  *  Height of the larger preview swatch that appears above the swatch grid on


Transferred from the Adobe Open Source Subversion Repository

Revision: 17688
Author:   cframpto@adobe.com
Date:     2010-09-13T21:13:40.102403Z

Log Message:
-----------
Fix bugs related to reducing the width of the dataGrid.  There is loop-prevention logic in ScrollerLayout/measure() which may not allow the width of the viewport to be reduced if there are automatic scrollbars.  To work around this set the viewport content size to 0,0 when we are about throwing out the layout cache and about to remeasure.

QE notes:
Doc notes:
Bugs: SDK-27777, SDK-27808, SDK-27258
Reviewer: Hans
Tests run: checkintests, cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1281654 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -1671,6 +1671,17 @@
         return true;
     }

+    /**
+     * @private
+     * This handler runs AFTER the GridDimension object has been updated.
+     */
+    public function columnsCollectionChanged(event:CollectionEvent):void
+    {
+        clearVirtualLayoutCache();
+        if (grid)
+            grid.setContentSize(0, 0);
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Grid Elements


Transferred from the Adobe Open Source Subversion Repository

Revision: 20247
Author:   stshongr@adobe.com
Date:     2011-02-09T21:20:37.006037Z

Log Message:
-----------
Add ASDoc examples for LabelItemRenderer and IconItemRenderer.

Doc notes: No
Bugs: No
Reviewer: Kevin
Tests run: checkintests, built asdoc
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/assets</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/assets/loadingImage.png</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/IconItemRendererExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/assets/fb.jpg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/assets/fc.jpg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/assets/decoratorImage.png</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/LabelItemRendererExample.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/assets/fx.jpg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1263986 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
@@ -269,6 +269,7 @@
  *  @see mx.core.IDataRenderer
  *  @see spark.components.IItemRenderer
  *  @see spark.components.supportClasses.ItemRenderer
+ *  @includeExample examples/LabelItemRendererExample.mxml -noswf
  *
  *  @langversion 3.0
  *  @playerversion Flash 10.1


Transferred from the Adobe Open Source Subversion Repository

Revision: 21754
Author:   kawatana@adobe.com
Date:     2011-07-29T22:52:30.275933Z

Log Message:
-----------
added @includeExample

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1264729 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as
+++ frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as
@@ -74,6 +74,10 @@
  *  </s:SplashScreenImage>
  *  </pre>
  *
+ *  @includeExample examples/DynamicSplashScreenExample1.mxml -noswf
+ *  @includeExample examples/DynamicSplashScreenExample1HomeView.mxml -noswf
+ *  @includeExample examples/SplashScreenImage1.mxml -noswf
+ *
  *  @see spark.preloaders.SplashScreenImageSource
  *  @see spark.components.Application#splashScreenImage
  *