Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
+++ frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
@@ -89,6 +89,11 @@
     *                  loaded is a signed or unsigned RSL. If the value is true the RSL is signed.
     *                  If the value is false the RSL is unsigned.
     *  @param rootURL provides the url used to locate relative RSL urls.
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 9
+    *  @playerversion AIR 1.1
+    *  @productversion Flex 3
     */
     public function CrossDomainRSLItem(rslUrls:Array,
                              policyFileUrls:Array,
@@ -124,6 +129,11 @@
     * @param securityErrorHandler  receives SecurityErrorEvent.SECURITY_ERROR events, may be null
     * @param rslErrorHandler       receives RSLEvent.RSL_ERROR events, may be null
     *
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 9
+    *  @playerversion AIR 1.1
+    *  @productversion Flex 3
     */
     override public function load(progressHandler:Function,
                                   completeHandler:Function,
@@ -158,6 +168,11 @@
         {
             trace(" in LOCAL_WITH_NETWORK sandbox");
         }
+*
+*  @langversion 3.0
+*  @playerversion Flash 9
+*  @playerversion AIR 1.1
+*  @productversion Flex 3
 */

         urlRequest = new URLRequest(LoaderUtil.createAbsoluteURL(rootURL, rslUrls[urlIndex]));
@@ -305,6 +320,11 @@
     *  Does the current url being processed have a failover?
     *
     * @return true if a failover url exists, false otherwise.
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 9
+    *  @playerversion AIR 1.1
+    *  @productversion Flex 3
     */
     public function hasFailover():Boolean
     {
@@ -314,6 +334,11 @@

     /**
     *  Load the next url from the list of failover urls.
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 9
+    *  @playerversion AIR 1.1
+    *  @productversion Flex 3
     */
     public function loadFailover():void
     {


watch all children all the time

watch all children all the time

--- frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
@@ -190,7 +190,6 @@
 			if (num > 0)
             {
                 performLayout(event);
-                childrenChangedHandler(event);
             }
 		}

@@ -210,6 +209,7 @@
 			(contentView as UIBase).setWidthAndHeight(viewportModel.contentWidth, viewportModel.contentHeight, true);

 			host.addEventListener("childrenAdded", childrenChangedHandler);
+            childrenChangedHandler(null);
 			host.addEventListener("childrenAdded", performLayout);
 			host.addEventListener("layoutNeeded", performLayout);
 			host.addEventListener("widthChanged", resizeHandler);


Transferred from the Adobe Open Source Subversion Repository

Revision: 20844
Author:   jimurphy@adobe.com
Date:     2011-03-14T15:10:07.899037Z

Log Message:
-----------
block hero_private revs 20698,20699,20702 from being merged into trunk
revert 20839,20841,20842,20843

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/StringUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/GradientStroke.as
+++ frameworks/projects/framework/src/mx/graphics/GradientStroke.as
@@ -450,11 +450,6 @@

     /**
      *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
      */
     public function createGraphicsStroke(targetBounds:Rectangle, targetOrigin:Point):GraphicsStroke
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8430
Author:   jszeto@adobe.com
Date:     2009-07-07T18:49:32.661660Z

Log Message:
-----------
Slider ErrorString bug

http://bugs.adobe.com/jira/browse/SDK-21080 - Setting errorString on Spark slider controls (HSlider/VSlider) doesn’t redraw errorBorder skin correctly if thumb is moved.

Slider should not show an error skin. Refactored the error skin code in SkinnableComponent into an mx_internal function. Slider overrides this function to do nothing. I made this mx_internal instead of protected because we have locked down the API.

QE Notes: None
Doc Notes: None
Bugs: SDK-21080
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
@@ -11,8 +11,6 @@

 package spark.components.supportClasses
 {
-import __AS3__.vec.Vector;
-
 import flash.display.DisplayObject;
 import flash.events.Event;
 import flash.events.KeyboardEvent;
@@ -28,11 +26,13 @@
 import mx.formatters.NumberFormatter;
 import mx.managers.IFocusManagerComponent;

+import spark.effects.animation.Animation;
 import spark.effects.animation.MotionPath;
 import spark.effects.animation.SimpleMotionPath;
-import spark.effects.animation.Animation;
 import spark.effects.easing.Sine;
 import spark.events.TrackBaseEvent;
+
+use namespace mx_internal;

 include "../../styles/metadata/BasicInheritingTextStyles.as"

@@ -350,7 +350,7 @@
         // otherwise, draw it on the whole component
         if (thumb)
         {
-            thumb.mx_internal::drawFocusAnyway = true;
+            thumb.drawFocusAnyway = true;
             thumb.drawFocus(isFocused);
         }
         else
@@ -509,6 +509,14 @@
         }

         super.system_mouseUpHandler(event);
+    }
+
+    /**
+     *  @private
+     */
+    override mx_internal function updateErrorSkin():void
+    {
+        // Don't draw the error skin
     }

     //---------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/framework/src/mx/managers/HistoryManager.as
+++ frameworks/projects/framework/src/mx/managers/HistoryManager.as
@@ -57,6 +57,11 @@
  *
  *  @see mx.managers.BrowserManager
  *  @see mx.managers.IHistoryManagerClient
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class HistoryManager
 {
@@ -115,6 +120,11 @@
      *  main application, usually from an initialize event handler on the application.
      *
      *  @param sm SystemManager for this application.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function initialize(sm:ISystemManager):void
     {
@@ -128,6 +138,11 @@
      *  @param obj Object to register.
      *
      *  @see mx.managers.IHistoryManagerClient
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function register(obj:IHistoryManagerClient):void
     {
@@ -138,6 +153,11 @@
      *  Unregisters an object with the HistoryManager.
      *
      *  @param obj Object to unregister.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function unregister(obj:IHistoryManagerClient):void
     {
@@ -151,6 +171,11 @@
      *  If you registered an interface with the HistoryManager,
      *  you are responsible for calling the save() method
      *  when the application state changes.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function save():void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/framework/src/mx/skins/RectangularBorder.as
+++ frameworks/projects/framework/src/mx/skins/RectangularBorder.as
@@ -50,6 +50,11 @@
  *
  *
This class implements support for the backgroundImage,
  *  backgroundSize, and backgroundAttachment styles.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class RectangularBorder extends Border implements IRectangularBorder
 {
@@ -63,6 +68,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function RectangularBorder()
     {
@@ -117,12 +127,22 @@
     /**
      *  The DisplayObject instance that contains the background image, if any.
      *  This object is a sibling of the RectangularBorder instance.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private var backgroundImage:DisplayObject;

     /**
      *  Contains true if the RectangularBorder instance
      *  contains a background image.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get hasBackgroundImage():Boolean
     {
@@ -146,6 +166,11 @@
      *  if the parent container has scrollable content.
      *  If this property is null, the border can use
      *  the parent's size and viewMetrics property to determine its value.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get backgroundImageBounds():Rectangle
     {
@@ -295,6 +320,11 @@

     /**
      *  Layout the background image.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function layoutBackgroundImage():void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8839
Author:   egeorgie@adobe.com
Date:     2009-07-27T21:37:12.778406Z

Log Message:
-----------
Fix bug [Gumbo_Priority] Resized FXG instances don't appear scaled.

Fix: Make sure the SpriteVisualElement's display object width/height get set to the layout width/height.

QE notes: None
Doc notes: None
Bugs: SDK-22400
Reviewer: Jason
Tests run: checkintests
Is noteworthy for integration: Yes, this bug came from the Catalyst team.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as

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

--- frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
+++ frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
@@ -175,6 +175,7 @@
             return;
         _explicitHeight = value;
         invalidateParentSizeAndDisplayList();
+        super.height = _layoutHeight;
     }

     //----------------------------------
@@ -562,6 +563,7 @@
             return;
         _explicitWidth = value;
         invalidateParentSizeAndDisplayList();
+        super.width = _layoutWidth;
     }

     //----------------------------------
@@ -884,6 +886,8 @@

         _layoutWidth = width;
         _layoutHeight = height;
+        super.width = _layoutWidth;
+        super.height = _layoutHeight;
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 8401
Author:   smgilson@adobe.com
Date:     2009-07-06T21:34:44.861518Z

Log Message:
-----------
ASDoc on filters/BevelFilter.as

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/DropShadowFilter.as
+++ frameworks/projects/spark/src/spark/filters/DropShadowFilter.as
@@ -39,6 +39,22 @@
  * If, for example, you zoom in on a large movie clip with a filter applied, the filter is
  * turned off if the resulting image exceeds the maximum dimensions.

  *
+ *  @mxml
+ *
The <DropShadowFilter> tag inherits all of the tag
+ *  attributes of its superclass and adds the following tag attributes:

+ *
+ *

+ *  <DropShadowFilter
+ *    Properties
+ *    alpha="1"
+ *    angle="45"
+ *    color="0xFF0000"
+ *    distance="4"
+ *    hideObject="false"
+ *    inner="false"
+ *  />
+ *

+ *
  * @langversion 3.0
  * @playerversion Flash 10
  * @playerversion AIR 1.5
@@ -47,267 +63,274 @@

 public class DropShadowFilter extends BaseDimensionFilter implements IBitmapFilter
 {
-	/**
-	 * Constructor.
-	 *
-	 * @param distance Offset distance for the shadow, in pixels.
-	 * @param angle Angle of the shadow, 0 to 360 degrees (floating point).
-	 * @param color Color of the shadow, in hexadecimal format
-	 * 0xRRGGBB. The default value is 0x000000.
-	 * @param alpha Alpha transparency value for the shadow color. Valid values are 0.0 to 1.0.
-	 * For example, .25 sets a transparency value of 25%.
-	 * @param blurX Amount of horizontal blur. Valid values are 0 to 255.0 (floating point).
-	 * @param blurY Amount of vertical blur. Valid values are 0 to 255.0 (floating point).
-	 * @param strength The strength of the imprint or spread. The higher the value,
-	 * the more color is imprinted and the stronger the contrast between the shadow and the background.
-	 * Valid values are 0 to 255.0.
-	 * @param quality The number of times to apply the filter. Use the BitmapFilterQuality constants:
-	 *

-	 *
BitmapFilterQuality.LOW

-	 *
BitmapFilterQuality.MEDIUM

-	 *
BitmapFilterQuality.HIGH

-	 *

-	 *
For more information about these values, see the quality property description.

-	 *
-	 * @param inner Indicates whether or not the shadow is an inner shadow. A value of true specifies
-	 * an inner shadow. A value of false specifies an outer shadow (a
-	 * shadow around the outer edges of the object).
-	 * @param knockout Applies a knockout effect (true), which effectively
-	 * makes the object's fill transparent and reveals the background color of the document.
-	 * @param hideObject Indicates whether or not the object is hidden. A value of true
-	 * indicates that the object itself is not drawn; only the shadow is visible.
-	 *
-	 * @see flash.filters.BitmapFilterQuality
-	 *
-	 * @langversion 3.0
-	 * @playerversion Flash 10
-	 * @playerversion AIR 1.5
- 	 * @productversion Flex 4
-	 */
-	public function DropShadowFilter(distance:Number = 4.0, angle:Number = 45,
-									 color:uint = 0, alpha:Number = 1.0,
-									 blurX:Number = 4.0, blurY:Number = 4.0,
-									 strength:Number = 1.0, quality:int = 1,
-									 inner:Boolean = false,
-									 knockout:Boolean = false,
-									 hideObject:Boolean = false)
-	 {
-	 	super();
-
-	 	this.distance = distance;
-	 	this.angle = angle;
-	 	this.color = color;
-	 	this.alpha = alpha;
-	 	this.blurX = blurX;
-	 	this.blurY = blurY;
-	 	this.strength = strength;
-	 	this.quality = quality;
-	 	this.inner = inner;
-	 	this.knockout = knockout;
-	 	this.hideObject = hideObject;
-	 }
-
-	//----------------------------------
+    /**
+     * Constructor.
+     *
+     * @param distance Offset distance for the shadow, in pixels.
+     * @param angle Angle of the shadow, 0 to 360 degrees (floating point).
+     * @param color Color of the shadow, in hexadecimal format
+     * 0xRRGGBB. The default value is 0x000000.
+     * @param alpha Alpha transparency value for the shadow color. Valid values are 0.0 to 1.0.
+     * For example, .25 sets a transparency value of 25%.
+     * @param blurX Amount of horizontal blur. Valid values are 0 to 255.0 (floating point).
+     * @param blurY Amount of vertical blur. Valid values are 0 to 255.0 (floating point).
+     * @param strength The strength of the imprint or spread. The higher the value,
+     * the more color is imprinted and the stronger the contrast between the shadow and the background.
+     * Valid values are 0 to 255.0.
+     * @param quality The number of times to apply the filter. Use the BitmapFilterQuality constants:
+     *

+     *
BitmapFilterQuality.LOW

+     *
BitmapFilterQuality.MEDIUM

+     *
BitmapFilterQuality.HIGH

+     *

+     *
For more information about these values, see the quality property description.

+     *
+     * @param inner Indicates whether or not the shadow is an inner shadow. A value of true specifies
+     * an inner shadow. A value of false specifies an outer shadow (a
+     * shadow around the outer edges of the object).
+     * @param knockout Applies a knockout effect (true), which effectively
+     * makes the object's fill transparent and reveals the background color of the document.
+     * @param hideObject Indicates whether or not the object is hidden. A value of true
+     * indicates that the object itself is not drawn; only the shadow is visible.
+     *
+     * @see flash.filters.BitmapFilterQuality
+     *
+     * @langversion 3.0
+     * @playerversion Flash 10
+     * @playerversion AIR 1.5
+     * @productversion Flex 4
+     */
+    public function DropShadowFilter(distance:Number = 4.0, angle:Number = 45,
+                                     color:uint = 0, alpha:Number = 1.0,
+                                     blurX:Number = 4.0, blurY:Number = 4.0,
+                                     strength:Number = 1.0, quality:int = 1,
+                                     inner:Boolean = false,
+                                     knockout:Boolean = false,
+                                     hideObject:Boolean = false)
+     {
+        super();
+
+        this.distance = distance;
+        this.angle = angle;
+        this.color = color;
+        this.alpha = alpha;
+        this.blurX = blurX;
+        this.blurY = blurY;
+        this.strength = strength;
+        this.quality = quality;
+        this.inner = inner;
+        this.knockout = knockout;
+        this.hideObject = hideObject;
+     }
+
+    //----------------------------------
     //  alpha
     //----------------------------------
-
-	private var _alpha:Number = 1.0;
-
-	/**
-	 *  The alpha transparency value for the color. Valid values are 0 to 1.
-	 *  For example, .25 sets a transparency value of 25%.
-	 *
-	 *  @default 1
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function get alpha():Number
-	{
-		return _alpha;
-	}
-
-	public function set alpha(value:Number):void
-	{
-		if (value != _alpha)
-		{
-			_alpha = value;
-			notifyFilterChanged();
-		}
-	}
-
-	//----------------------------------
+
+    private var _alpha:Number = 1.0;
+
+    /**
+     *  The alpha transparency value for the color. Valid values are 0 to 1.
+     *  For example, .25 sets a transparency value of 25%.
+     *
+     *  @default 1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get alpha():Number
+    {
+        return _alpha;
+    }
+
+    public function set alpha(value:Number):void
+    {
+        if (value != _alpha)
+        {
+            _alpha = value;
+            notifyFilterChanged();
+        }
+    }
+
+    //----------------------------------
     //  angle
     //----------------------------------
-
-	private var _angle:Number = 45;
-
-	/**
-	 *   The angle of the bevel. Valid values are from 0 to 360°.
-	 *   The angle value represents the angle of the theoretical light source falling on the
-	 *   object and determines the placement of the effect relative to the object.
-	 *   If the distance property is set to 0, the effect is not offset from the object and,
-	 *   therefore, the angle property has no effect.
-	 *
-	 *   @default 45
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function get angle():Number
-	{
-		return _angle;
-	}
-
-	public function set angle(value:Number):void
-	{
-		if (value != _angle)
-		{
-			_angle = value;
-			notifyFilterChanged();
-		}
-	}
-
-	//----------------------------------
+
+    private var _angle:Number = 45;
+
+    /**
+     *   The angle of the bevel. Valid values are from 0 to 360°.
+     *   The angle value represents the angle of the theoretical light source falling on the
+     *   object and determines the placement of the effect relative to the object.
+     *   If the distance property is set to 0, the effect is not offset from the object and,
+     *   therefore, the angle property has no effect.
+     *
+     *   @default 45
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get angle():Number
+    {
+        return _angle;
+    }
+
+    public function set angle(value:Number):void
+    {
+        if (value != _angle)
+        {
+            _angle = value;
+            notifyFilterChanged();
+        }
+    }
+
+    //----------------------------------
     //  color
     //----------------------------------
-
-	private var _color:uint = 0x000000;
-
-	/**
-	 *  The color of the glow. Valid values are in the hexadecimal format
-	 * 	0xRRGGBB.
-	 *  @default 0xFF0000
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function get color():uint
-	{
-		return _color;
-	}
-
-	public function set color(value:uint):void
-	{
-		if (value != _color)
-		{
-			_color = value;
-			notifyFilterChanged();
-		}
-	}
-
-	//----------------------------------
+
+    private var _color:uint = 0x000000;
+
+    /**
+     *  The color of the glow. Valid values are in the hexadecimal format
+     *  0xRRGGBB.
+     *  @default 0xFF0000
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get color():uint
+    {
+        return _color;
+    }
+
+    public function set color(value:uint):void
+    {
+        if (value != _color)
+        {
+            _color = value;
+            notifyFilterChanged();
+        }
+    }
+
+    //----------------------------------
     //  distance
     //----------------------------------
-
-	private var _distance:Number = 4.0;
-
-	/**
-	 *  The offset distance of the bevel. Valid values are in pixels (floating point).
-	 * 	@default 4
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function get distance():Number
-	{
-		return _distance;
-	}
-
-	public function set distance(value:Number):void
-	{
-		if (value != _distance)
-		{
-			_distance = value;
-			notifyFilterChanged();
-		}
-	}
-
-	//----------------------------------
+
+    private var _distance:Number = 4.0;
+
+    /**
+     *  The offset distance of the bevel. Valid values are in pixels (floating point).
+     *  @default 4
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get distance():Number
+    {
+        return _distance;
+    }
+
+    public function set distance(value:Number):void
+    {
+        if (value != _distance)
+        {
+            _distance = value;
+            notifyFilterChanged();
+        }
+    }
+
+    //----------------------------------
     //  hideObject
     //----------------------------------
-
-	private var _hideObject:Boolean = false;
-
-	/**
-	 *  Indicates whether or not the object is hidden. The value true indicates that the
-	 *  object itself is not drawn; only the shadow is visible.
-	 *  The default is false (the object is shown).
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function get hideObject():Boolean
-	{
-		return _hideObject;
-	}
-
-	public function set hideObject(value:Boolean):void
-	{
-		if (value != _hideObject)
-		{
-			_hideObject = value;
-			notifyFilterChanged();
-		}
-	}
-
-	//----------------------------------
+
+    private var _hideObject:Boolean = false;
+
+    /**
+     *  Indicates whether or not the object is hidden.
+     *  The value true indicates that the
+     *  object itself is not drawn; only the shadow is visible.
+     *  The default is false, meaning that the object is shown.
+     *
+     *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get hideObject():Boolean
+    {
+        return _hideObject;
+    }
+
+    public function set hideObject(value:Boolean):void
+    {
+        if (value != _hideObject)
+        {
+            _hideObject = value;
+            notifyFilterChanged();
+        }
+    }
+
+    //----------------------------------
     //  inner
     //----------------------------------
-
-	private var _inner:Boolean = false;
-
-	/**
-	 *  Specifies whether the glow is an inner glow. The value true indicates an inner glow.
-	 *  The default is false, an outer glow (a glow around the outer edges of the object).
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function get inner():Boolean
-	{
-		return _inner;
-	}
-
-	public function set inner(value:Boolean):void
-	{
-		if (value != _inner)
-		{
-			_inner = value;
-			notifyFilterChanged();
-		}
-	}
-
-	/**
-	 * Returns a copy of this filter object.
-	 * @return A new DropShadowFilter instance with all the
-	 * properties of the original DropShadowFilter instance.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-
-	public function clone():BitmapFilter
-	{
-		return new flash.filters.DropShadowFilter(distance, angle, color, alpha, blurX,
-												  blurY, strength, quality, inner,
-												  knockout, hideObject);
-	}
-
+
+    private var _inner:Boolean = false;
+
+    /**
+     *  Specifies whether the glow is an inner glow.
+     *  The value true indicates an inner glow.
+     *  The default is false that creates an outer glow
+     *  (a glow around the outer edges of the object).
+     *
+     *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get inner():Boolean
+    {
+        return _inner;
+    }
+
+    public function set inner(value:Boolean):void
+    {
+        if (value != _inner)
+        {
+            _inner = value;
+            notifyFilterChanged();
+        }
+    }
+
+    /**
+     * Returns a copy of this filter object.
+     * @return A new DropShadowFilter instance with all the
+     * properties of the original DropShadowFilter instance.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+
+    public function clone():BitmapFilter
+    {
+        return new flash.filters.DropShadowFilter(distance, angle, color, alpha, blurX,
+                                                  blurY, strength, quality, inner,
+                                                  knockout, hideObject);
+    }
+
 }
-
+
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17074
Author:   klin@adobe.com
Date:     2010-07-27T18:19:35.139315Z

Log Message:
-----------
Fixes for a couple Form bugs.

-Added Alternative metadata to Spark Form.
-Fixed up some constraints in FormItemSkin and StackedFormItemSkin so that the labels align correctly
-Made the indicator group in FormItemSkin bind to the y position of the contentGroup to ensure its positioned correctly.
-Fixed two bugs in ConstraintLayout. It now clears the cache for storing the max ascent of each element that is baseline aligned. I also re-populate rowBaselines in parseConstraints() instead of only when the constraintRows are set.

QE notes: No
Doc notes: No
Bugs: SDK-26523, SDK-26673, SDK-26739, SDK-26742, SDK-26771
Reviewer: Jason
Tests run: checkintests, Form
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/containers/Form.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as
+++ frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as
@@ -309,16 +309,16 @@
         var row:ConstraintRow;
         var temp:Vector.<ConstraintRow> = value.slice();
         var obj:Object = new Object();
-        var baselines:Vector.<Array> = new Vector.<Array>(n, true);
+        rowBaselines = new Vector.<Array>();

         for (var i:int = 0; i < n; i++)
         {
             row = temp[i];
             row.container = this.target;
             obj[row.id] = i;
-            baselines[i] = LayoutElementHelper.parseConstraintExp(row.baseline);
-
-            var maxAscentStr:String = baselines[i][1];
+            rowBaselines[i] = LayoutElementHelper.parseConstraintExp(row.baseline);
+
+            var maxAscentStr:String = rowBaselines[i][1];
             if (maxAscentStr && maxAscentStr != "maxAscent")
                 throw new Error(ResourceManager.getInstance().getString("layout", "invalidBaselineOnRow",
                                                                         [ row.id, row.baseline ]));
@@ -329,7 +329,6 @@

         _constraintRows = temp;
         rowsObject = obj;
-        rowBaselines = baselines;

         if (target)
         {
@@ -418,6 +417,7 @@
         colSpanElements = null;
         rowSpanElements = null;
         otherElements = null;
+        rowMaxAscents = null;
         constraintCache = null;
     }

@@ -496,6 +496,7 @@
         colSpanElements = null;
         rowSpanElements = null;
         otherElements = null;
+        rowMaxAscents = null;
         constraintCache = null;
     }

@@ -1308,8 +1309,29 @@
         var layoutElement:ILayoutElement;

         var cache:Dictionary = new Dictionary(true);
-
-        for (var i:int = 0; i < count; i++)
+        var i:int;
+
+        // Populate rowBaselines with baseline information from rows.
+        var n:int = _constraintRows.length;
+        var row:ConstraintRow;
+        var obj:Object = new Object();
+        if (rowBaselines == null)
+            rowBaselines = new Vector.<Array>();
+        else
+            rowBaselines.length = 0;
+
+        for (i = 0; i < n; i++)
+        {
+            row = _constraintRows[i];
+            rowBaselines[i] = LayoutElementHelper.parseConstraintExp(row.baseline);
+
+            var maxAscentStr:String = rowBaselines[i][1];
+            if (maxAscentStr && maxAscentStr != "maxAscent")
+                throw new Error(ResourceManager.getInstance().getString("layout", "invalidBaselineOnRow",
+                    [ row.id, row.baseline ]));
+        }
+
+        for (i = 0; i < count; i++)
         {
             layoutElement = layoutTarget.getElementAt(i);
             if (!layoutElement || !layoutElement.includeInLayout)


Transferred from the Adobe Open Source Subversion Repository

Revision: 8233
Author:   smgilson@adobe.com
Date:     2009-06-25T15:55:19.890382Z

Log Message:
-----------
ASDoc updates post PARB

QE Notes: None
Doc Notes: None
Bugs: -
checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
@@ -104,10 +104,10 @@

     private static function calculatePercentHeight(layoutElement:ILayoutElement, height:Number):Number
     {
-    	var percentHeight:Number = LayoutElementHelper.pinBetween(Math.round(layoutElement.percentHeight * 0.01 * height),
-    	                                                          layoutElement.getMinBoundsHeight(),
-    	                                                          layoutElement.getMaxBoundsHeight() );
-    	return percentHeight < height ? percentHeight : height;
+        var percentHeight:Number = LayoutElementHelper.pinBetween(Math.round(layoutElement.percentHeight * 0.01 * height),
+                                                                  layoutElement.getMinBoundsHeight(),
+                                                                  layoutElement.getMaxBoundsHeight() );
+        return percentHeight < height ? percentHeight : height;
     }

     private static function sizeLayoutElement(layoutElement:ILayoutElement, height:Number,
@@ -153,7 +153,7 @@
      */
     public function HorizontalLayout():void
     {
-		super();
+        super();
     }

     //--------------------------------------------------------------------------
@@ -196,8 +196,8 @@
         if (_gap == value)
             return;

-	    _gap = value;
- 	    invalidateTargetSizeAndDisplayList();
+        _gap = value;
+        invalidateTargetSizeAndDisplayList();
     }

     //----------------------------------
@@ -436,14 +436,14 @@
     [Inspectable(category="General")]

     /**
-     *  If variableColumnWidth="false" then
-     *  this property specifies the actual width of each layout element.
-     *
-     *  If variableColumnWidth="true" (the default), then this property
-     *  has no effect.
-     *
-     *  The default value of this property is the preferred width
-     *  of the typicalLayoutElement.
+     *  If the variableColumnWidth property is false,
+     *  then this property specifies the actual width of each layout element.
+     *
+     *
If the variableColumnWidth property is true,
+     *  the default, then this property has no effect.

+     *
+     *
The default value of this property is the preferred width
+     *  of the item specified by the typicalLayoutElement property.

      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -485,16 +485,13 @@
     [Inspectable(category="General")]

     /**
-     *  Specifies whether or not layout elements are to be allocated their
+     *  If true, specifies that layout elements are to be allocated their
      *  preferred width.
-     *
-     *  Setting this property to false specifies fixed width columns.
-     *
-     *  If false, the actual width of each layout element will be
-     *  the value of columnWidth.
-     *
-     *  Setting this property to false causes the layout to ignore
-     *  layout elements' percentWidth.
+     *
+     *
Setting this property to false specifies fixed width columns.
+     *  The actual width of each layout element is
+     *  the value of the columnWidth property, and the layout ignores
+     *  a layout elements' percentWidth property.

      *
      *  @default true
      *
@@ -532,8 +529,8 @@
     [Bindable("indexInViewChanged")]

     /**
-     *  The index of the first column that's part of the layout and within
-     *  the layout target's scrollRect, or -1 if nothing has been displayed yet.
+     *  The index of the first column that is part of the layout and within
+     *  the layout target's scroll rectangle, or -1 if nothing has been displayed yet.
      *
      *  Note that the column may only be partially in view.
      *
@@ -564,8 +561,8 @@
     [Bindable("indexInViewChanged")]

     /**
-     *  The index of the last column that's part of the layout and within
-     *  the layout target's scrollRect, or -1 if nothing has been displayed yet.
+     *  The index of the last column that is part of the layout and within
+     *  the layout target's scroll rectangle, or -1 if nothing has been displayed yet.
      *
      *  Note that the column may only be partially in view.
      *
@@ -594,18 +591,23 @@
     [Inspectable(category="General", enumeration="top,bottom,middle,justify,contentJustify", defaultValue="top")]

     /**
-     *  Vertical alignment of layout elements.
-     *
-     *  If the value is one of "bottom", "middle", "top"  then the
-     *  layout element is aligned relative to the target's contentHeight.
-     *
-     *  If the value is "contentJustify" then the layout element's actual
-     *  height is set to the contentHeight.
-     *
-     *  If the value is "justify" then the layout element's actual height
-     *  is set to the target's height.
+     *  The vertical alignment of layout elements.
+     *
+     *
If the value is "bottom", "middle",
+     *  or "top" then the container children are aligned relative
+     *  to the container's contentHeight property.

+     *
+     *
If the value is "contentJustify" then the actual
+     *  height of the container children is set to
+     *  the container's contentHeight property.
+     *  The content height of the container is the height of the largest child.
+     *  If all children are smaller than the height of the container,
+     *  then set the height of all the children to the height of the container.

+     *
+     *
If the value is "justify" then the actual height
+     *  of the container children is set to the container's height.

      *
-     *  This property does not affect the layout's measured size.
+     *
This property does not affect the layout's measured size.

      *
      *  @default "top"
      *
@@ -1597,7 +1599,7 @@
         // Make sure that if the content spans partially over a pixel to the right/bottom,
         // the content size includes the whole pixel.
         layoutTarget.setContentSize(Math.ceil(maxX + paddingRight),
-                                    Math.ceil(maxY + paddingBottom));
+                                    Math.ceil(maxY + paddingBottom));
     }

@@ -1746,5 +1748,5 @@

 class HLayoutElementFlexChildInfo extends FlexChildInfo
 {
-    public var layoutElement:ILayoutElement;
+    public var layoutElement:ILayoutElement;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 21763
Author:   eday@adobe.com
Date:     2011-08-02T00:08:19.563082Z

Log Message:
-----------
Item Snapping fixes + tests
- Made page velocity change per XD motion review
- Fixed small bug causing RTE on orientation changes
- Fixed small bug causing RTE with empty list
- Added snapping and paging cases to MobileSkins app
- Added snapping and paging tests to mobile checkintests

QE notes:
Doc notes:
Bugs:
Reviewer: Jason Szeto
Tests run: checkintests, full Cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/scripts/ListSnappingTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/renderers</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/views/ListPaging.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/views/MobileSkinsHomeView.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/assets/yosemite1.jpg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/assets/yosemite2.jpg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/assets/yosemite3.jpg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests-config.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/assets/yosemite4.jpg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/views/ListSnapping.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/assets/yosemite5.jpg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/assets/yosemite6.jpg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/views/ListPagingView.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/scripts/ListPagingTestScript.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/renderers/ImageRenderer.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/MobileSkins/src/views/ListSnappingView.mxml</path>

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

--- frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
@@ -2416,8 +2416,11 @@
             return super.getElementNearestScrollPosition(position, elementComparePoint);

         var g:GroupBase = GroupBase(target);
-        if (!g || !llv)
+        if (!g)
             return -1;
+
+        // We need a valid LLV for this function
+        updateLLV(g);

         // Find the element which overlaps with the position
         var index:int = llv.indexOf(position.x);


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@1290373 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridGroupItemRenderer.as
+++ frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridGroupItemRenderer.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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.controls.advancedDataGridClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12826
Author:   jon.avila@ssbbartgroup.com
Date:     2009-12-11T03:02:25.024699Z

Log Message:
-----------
Removed the WindowedApplicationAccImpl.  It is likely not needed.  In its current state it would prevent child components accessibility from being exposed.  Accessible Name is set from title attribute of Window or can be set on an component through Accessibility Properties.
QE notes: none
Doc notes: none
Bugs: n/a
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/WindowedApplication.as

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


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@1260905 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/formatters/SwitchSymbolFormatter.as
+++ frameworks/projects/framework/src/mx/formatters/SwitchSymbolFormatter.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2006 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: 19344
Author:   egeorgie@adobe.com
Date:     2010-12-14T00:38:13.222484Z

Log Message:
-----------
PARB changes for density scaling

- authorDensity -> applicationDPI, type changed to int
- DensityUtil not visible in the documentation anymore [ExcludeClass]
- DensityUtil. screenDPIToDeviceDensity() -> classifyDPI(), returns int now
- DensityUtil. getDensityScale() -> getDPIScale(), takes int now
- DeviceDensity enum -> DPIClassification enum
- ISystemManager.densityScale property has been removed.
- New property to Application -> runtimeDPI.

QE notes: can start writing automated tests now
Doc notes:
Bugs:
Reviewer: Alex, Glenn, Jason SJ,
Tests run: checkintest
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.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/framework/src/mx/utils/DensityUtil.as</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/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/DeviceDensity.as" copyfrom-rev="19256" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/DPIClassification.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationAngledButtonSkin.as</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/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ISystemManager.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="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/DeviceDensity.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/HSliderDataTip.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/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</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/HSliderThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as</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/HScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.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/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as
@@ -12,7 +12,7 @@
 package spark.skins.mobile
 {

-import mx.core.DeviceDensity;
+import mx.core.DPIClassification;
 import mx.core.UIComponent;

 import spark.components.Button;
@@ -52,9 +52,9 @@
         useChromeColor = true;

         // Depending on density set our measured width and height
-        switch (authorDensity)
+        switch (applicationDPI)
         {
-            case DeviceDensity.PPI_240:
+            case DPIClassification.DPI_240:
             {
                 layoutMeasuredWidth = 9;
                 layoutMeasuredHeight = 40;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3057
Author:   jimurphy@adobe.com
Date:     2008-09-02T15:18:38.819662Z

Log Message:
-----------
Merged 3.0.x revisions [2966,2969,2995,3004,3018-3019,3023,3029-3030,3046,3049,3052] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ModalWindowRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</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/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/PopUpRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SizeRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterManagerRequest.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterManagerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/dividedBoxClasses/BoxDivider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootDragEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/EventUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</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/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as</path>

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

--- frameworks/projects/mx/src/mx/containers/dividedBoxClasses/BoxDivider.as
+++ frameworks/projects/mx/src/mx/containers/dividedBoxClasses/BoxDivider.as
@@ -13,12 +13,14 @@
 {

 import flash.display.DisplayObject;
+import flash.events.Event;
 import flash.events.MouseEvent;
 import flash.geom.Point;
 import mx.containers.DividedBox;
 import mx.containers.DividerState;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
+import mx.events.SandboxMouseEvent;

 use namespace mx_internal;

@@ -305,6 +307,9 @@
      */
     private function mouseOverHandler(event:MouseEvent):void
     {
+        if (event.buttonDown)
+            return;
+
         isMouseOver = true;
         if (!DividedBox(owner).activeDivider)
         {
@@ -338,13 +343,18 @@
         // state = DividerState.DOWN;
         DividedBox(owner).changeCursor(this);
         DividedBox(owner).startDividerDrag(this, event);
-        systemManager.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true);
-    }
-
-    /**
-     *  @private
-     */
-    private function mouseUpHandler(event:MouseEvent):void
+
+        var sbRoot:DisplayObject = systemManager.getSandboxRoot();
+        sbRoot.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true);
+        sbRoot.addEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, mouseUpHandler);
+    }
+
+    /**
+     *  @private
+     *
+     *  @param event MouseEvent or SandboxMouseEvent.
+     */
+    private function mouseUpHandler(event:Event):void
     {
         // If a mouseOut was the last mouse event that occurred
         // make sure to restore the system cursor.
@@ -352,8 +362,11 @@
             DividedBox(owner).restoreCursor();

         state = DividerState.OVER;
-        DividedBox(owner).stopDividerDrag(this, event);
-        systemManager.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true);
+        DividedBox(owner).stopDividerDrag(this, event as MouseEvent);
+
+        var sbRoot:DisplayObject = systemManager.getSandboxRoot();
+        sbRoot.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true);
+        sbRoot.removeEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, mouseUpHandler);
     }
 }


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@1280727 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
@@ -69,7 +69,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="focusAlpha", type="Number", inherit="no", theme="spark", minValue="0.0", maxValue="1.0")]
+[Style(name="focusAlpha", type="Number", inherit="no", theme="spark, mobile", minValue="0.0", maxValue="1.0")]

 /**
  *  Color of focus ring when the component is in focus.
@@ -81,7 +81,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="focusColor", type="uint", format="Color", inherit="yes", theme="spark")]
+[Style(name="focusColor", type="uint", format="Color", inherit="yes", theme="spark, mobile")]

 /**
  *  Thickness, in pixels, of the focus rectangle outline.


Transferred from the Adobe Open Source Subversion Repository

Revision: 18870
Author:   hmuller@adobe.com
Date:     2010-11-30T20:06:22.844885Z

Log Message:
-----------
Grid, GridLayout Performance optimzation aimed at reducing the cost of hover and selection indicator changes, and the cost of vertical scrolls.

Added a new internal Grid API that tracks the "reasons" for invalidateDisplayList() calls.  GridLayout uses the list of reasons to economize layout work.

No longer invalidating the columnHeaderGroup skin part for vertical scrolls; correcting a problem introduced in SVN 18468.

QE notes: ..DataGrid/Performance/GridSelectionToggleRowSelect_test needs to be revised, has been excluded for now
Doc notes:
Bugs: SDK-28429
Reviewer:
Tests run: checkin, mustella
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/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -18,8 +18,8 @@

 import mx.collections.IList;
 import mx.core.ClassFactory;
+import mx.core.IContainerInvalidating;
 import mx.core.IFactory;
-import mx.core.IContainerInvalidating;
 import mx.core.IInvalidating;
 import mx.core.IUITextField;
 import mx.core.IVisualElement;
@@ -77,7 +77,7 @@
     /**
      *  @private
      *  The previous values of the corresponding variables.   Set by layoutItemRenderers()
-     *  and only valid during updateDisplayList().
+     *  and only valid during updateDisplayList(), for a complete relayout.
      */
     private var oldVisibleRowIndices:Vector.<int> = new Vector.<int>(0);
     private var oldVisibleColumnIndices:Vector.<int> = new Vector.<int>(0);
@@ -128,7 +128,14 @@
      *
      *  Updated by createGridElement().
      */
-    private const elementToFactoryMap:Dictionary = new Dictionary();
+    private const elementToFactoryMap:Dictionary = new Dictionary();
+
+    /**
+     *  @private
+     *  Used by scrollPositionChanged() to determine which scroll position properties changed.
+     */
+    private var oldVerticalScrollPosition:Number = 0;
+    private var oldHorizontalScrollPosition:Number = 0;

     //--------------------------------------------------------------------------
     //
@@ -384,11 +391,27 @@

         super.scrollPositionChanged();  // sets grid.scrollRect

+        const hspChanged:Boolean = oldHorizontalScrollPosition != horizontalScrollPosition;
+        const vspChanged:Boolean = oldVerticalScrollPosition != verticalScrollPosition;
+
+        oldHorizontalScrollPosition = horizontalScrollPosition;
+        oldVerticalScrollPosition = verticalScrollPosition;
+
         // Only invalidate if we're clipping and scrollR extends outside visisibleRenderersBounds

         const scrollR:Rectangle = grid.scrollRect;
         if (scrollR && !visibleItemRenderersBounds.containsRect(scrollR))
-            grid.invalidateDisplayList();
+        {
+            var reason:String = "none";
+            if (vspChanged && hspChanged)
+                reason = "bothScrollPositions";
+            else if (vspChanged)
+                reason = "verticalScrollPosition"
+            else if (hspChanged)
+                reason = "horizontalScrollPosition";
+
+            grid.invalidateDisplayListFor(reason);
+        }
     }

     /**
@@ -497,84 +520,100 @@
         if (!columns || lastVisibleColumnIndex < 0)
             return;

-        // Layout the item renderers and compute new values for visibleRowIndices et al
-
-        oldVisibleRowIndices = visibleRowIndices;
-        oldVisibleColumnIndices = visibleColumnIndices;
-
-        const scrollX:Number = horizontalScrollPosition;
-        const scrollY:Number = verticalScrollPosition;
-
-        visibleGridBounds.x = scrollX;
-        visibleGridBounds.y = scrollY;
-        visibleGridBounds.width = unscaledWidth;
-        visibleGridBounds.height = unscaledHeight;
-
         // Layers

         const backgroundLayer:GridLayer = getLayer("backgroundLayer");
         const selectionLayer:GridLayer = getLayer("selectionLayer");
         const editorIndicatorLayer:GridLayer = getLayer("editorIndicatorLayer");
         const rendererLayer:GridLayer = getLayer("rendererLayer");
-        const overlayLayer:GridLayer = getLayer("overlayLayer");
-
-        // Layout the columns and item renderers
-
-		layoutColumns(scrollX, scrollY, unscaledWidth);
-        layoutItemRenderers(rendererLayer, scrollX, scrollY, unscaledWidth, unscaledHeight);
-
-        // Update the content size.  Make sure that if the content spans partially
-        // over a pixel to the right/bottom, the content size includes the whole pixel.
-
-        const contentWidth:Number = Math.ceil(gridDimensions.getContentWidth());
-        const contentHeight:Number = Math.ceil(gridDimensions.getContentHeight());
-        grid.setContentSize(contentWidth, contentHeight);
-
-        // If the grid's contentHeight is smaller than than the available height
-        // (unscaledHeight) then pad the visible rows
-
-        var paddedRowCount:int = gridDimensions.rowCount;
-        if ((scrollY == 0) && (contentHeight < unscaledHeight))
-        {
-            const unusedHeight:Number = unscaledHeight - gridDimensions.getContentHeight();
-            paddedRowCount += Math.ceil(unusedHeight / gridDimensions.defaultRowHeight);
-        }
-
-        for (var rowIndex:int = gridDimensions.rowCount; rowIndex < paddedRowCount; rowIndex++)
-            visibleRowIndices.push(rowIndex);
-
-        // Layout the row backgrounds
-
-        visibleRowBackgrounds = layoutLinearElements(grid.rowBackground, backgroundLayer,
-            visibleRowBackgrounds, oldVisibleRowIndices, visibleRowIndices, layoutRowBackground);
-
-        // Layout the row and column separators.
-
-        const lastRowIndex:int = paddedRowCount - 1;
-
-        visibleRowSeparators = layoutLinearElements(grid.rowSeparator, overlayLayer,
-            visibleRowSeparators, oldVisibleRowIndices, visibleRowIndices, layoutRowSeparator, lastRowIndex);
-
-        visibleColumnSeparators = layoutLinearElements(grid.columnSeparator, overlayLayer,
-            visibleColumnSeparators, oldVisibleColumnIndices, visibleColumnIndices, layoutColumnSeparator, lastVisibleColumnIndex);
+        const overlayLayer:GridLayer = getLayer("overlayLayer");
+
+        // Relayout everything if the scroll position changed or if no
+        // "invalidateDisplayList reason" was specified.  See
+        // Grid/invalidateDisplayListFor(reason)
+
+        const completeLayoutNeeded:Boolean =
+            grid.isInvalidateDisplayListReason("verticalScrollPosition") ||
+            grid.isInvalidateDisplayListReason("horizontalScrollPosition");
+
+
+        // Layout the columns and item renderers; compute new values for visibleRowIndices et al.
+
+        if (completeLayoutNeeded)
+        {
+            oldVisibleRowIndices = visibleRowIndices;
+            oldVisibleColumnIndices = visibleColumnIndices;
+
+            const scrollX:Number = horizontalScrollPosition;
+            const scrollY:Number = verticalScrollPosition;
+
+            visibleGridBounds.x = scrollX;
+            visibleGridBounds.y = scrollY;
+            visibleGridBounds.width = unscaledWidth;
+            visibleGridBounds.height = unscaledHeight;
+
+            layoutColumns(scrollX, scrollY, unscaledWidth);
+            layoutItemRenderers(rendererLayer, scrollX, scrollY, unscaledWidth, unscaledHeight);
+
+            // Update the content size.  Make sure that if the content spans partially
+            // over a pixel to the right/bottom, the content size includes the whole pixel.
+
+            const contentWidth:Number = Math.ceil(gridDimensions.getContentWidth());
+            const contentHeight:Number = Math.ceil(gridDimensions.getContentHeight());
+            grid.setContentSize(contentWidth, contentHeight);
+
+            // If the grid's contentHeight is smaller than than the available height
+            // (unscaledHeight) then pad the visible rows
+
+            var paddedRowCount:int = gridDimensions.rowCount;
+            if ((scrollY == 0) && (contentHeight < unscaledHeight))
+            {
+                const unusedHeight:Number = unscaledHeight - gridDimensions.getContentHeight();
+                paddedRowCount += Math.ceil(unusedHeight / gridDimensions.defaultRowHeight);
+            }
+
+            for (var rowIndex:int = gridDimensions.rowCount; rowIndex < paddedRowCount; rowIndex++)
+                visibleRowIndices.push(rowIndex);
+
+            // Layout the row backgrounds
+
+            visibleRowBackgrounds = layoutLinearElements(grid.rowBackground, backgroundLayer,
+                visibleRowBackgrounds, oldVisibleRowIndices, visibleRowIndices, layoutRowBackground);
+
+            // Layout the row and column separators.
+
+            const lastRowIndex:int = paddedRowCount - 1;
+
+            visibleRowSeparators = layoutLinearElements(grid.rowSeparator, overlayLayer,
+                visibleRowSeparators, oldVisibleRowIndices, visibleRowIndices, layoutRowSeparator, lastRowIndex);
+
+            visibleColumnSeparators = layoutLinearElements(grid.columnSeparator, overlayLayer,
+                visibleColumnSeparators, oldVisibleColumnIndices, visibleColumnIndices, layoutColumnSeparator, lastVisibleColumnIndex);
+
+
+            // The old visible row,column indices are no longer needed
+
+            oldVisibleRowIndices.length = 0;
+            oldVisibleColumnIndices.length = 0;
+        }

         // Layout the hoverIndicator, caretIndicator, and selectionIndicators

-        layoutHoverIndicator(backgroundLayer);
-        layoutSelectionIndicators(selectionLayer);
-        layoutCaretIndicator(overlayLayer);
-        layoutEditorIndicator(editorIndicatorLayer);
+        if (completeLayoutNeeded || grid.isInvalidateDisplayListReason("hoverIndicator"))
+            layoutHoverIndicator(backgroundLayer);
+
+        if (completeLayoutNeeded || grid.isInvalidateDisplayListReason("selectionIndicator"))
+            layoutSelectionIndicators(selectionLayer);
+
+        if (completeLayoutNeeded || grid.isInvalidateDisplayListReason("caretIndicator"))
+            layoutCaretIndicator(overlayLayer);
+
+        if (completeLayoutNeeded || grid.isInvalidateDisplayListReason("editorIndicator"))
+            layoutEditorIndicator(editorIndicatorLayer);

         // To avoid flashing, force all of the layers to render now

-        if (backgroundLayer) backgroundLayer.validateNow();
-        if (selectionLayer) selectionLayer.validateNow();
-        if (overlayLayer) overlayLayer.validateNow();
-
-        // The old visible row,column indices are no longer needed
-
-        oldVisibleRowIndices.length = 0;
-        oldVisibleColumnIndices.length = 0;
+        grid.validateNow();

         if (enablePerformanceStatistics)
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17142
Author:   klin@adobe.com
Date:     2010-07-30T20:58:01.810345Z

Log Message:
-----------
Fixed bug in GridLayout where we were trying to draw with no columns. Also, fixed a rounding error when laying out the columns.

QE notes: No
Doc notes: No
Bugs: SDK-26985, SDK-27125
Reviewer: Hans
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -236,6 +236,8 @@
      */
     override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
     {
+        // TBD (hmuller): Short-circuit if there aren't any rows or columns.
+
         if (!grid)
             return;

@@ -336,7 +338,7 @@
     private function getGridColumn(columnIndex:int):GridColumn
     {
         const columns:IList = grid.columns;
-        if ((columns == null) || (columnIndex >= columns.length))
+        if ((columns == null) || (columnIndex >= columns.length) || (columnIndex < 0))
             return null;

         return columns.getItemAt(columnIndex) as GridColumn;
@@ -497,11 +499,13 @@
  	private function layoutColumns(scrollX:Number, scrollY:Number, width:Number):void
 	{
         const gridDimensions:GridDimensions = gridDimensions;
+        var columnCount:int = gridDimensions.columnCount;
+        if (columnCount <= 0)
+            return;

         // If width isn't specified (see measure()), then only update requestedColumnCount columns

         const requestedColumnCount:int = grid.requestedColumnCount;
-        var columnCount:int = gridDimensions.columnCount;
         if (isNaN(width) && (requestedColumnCount != -1))
             columnCount = Math.min(columnCount, requestedColumnCount);

@@ -555,12 +559,12 @@
         // there's space left over, widen the columns whose GridColumn width
         // isn't set explicitly, to fill the extra space.

-        if ((scrollX != 0) || isNaN(width) || (availableWidth <= 1.0) || (flexibleColumnCount == 0))
+        if ((scrollX != 0) || isNaN(width) || (availableWidth < 1.0) || (flexibleColumnCount == 0))
             return;

         const columnWidthDelta:Number = Math.ceil(availableWidth / flexibleColumnCount);
-
-        for (columnIndex = firstVisibleColumnIndex; (columnIndex < columnCount) && (availableWidth > 1.0); columnIndex++)
+
+        for (columnIndex = firstVisibleColumnIndex; (columnIndex < columnCount) && (availableWidth >= 1.0); columnIndex++)
         {
             gridColumn = getGridColumn(columnIndex);