Transferred from the Adobe Open Source Subversion Repository

Revision: 8385
Author:   smgilson@adobe.com
Date:     2009-07-06T19:38:43.090419Z

Log Message:
-----------
ASDoc updates for Spark layouts and core

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/RowAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/ISharedDisplayObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalAlign.as</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/spark/src/spark/core/NavigationUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.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/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/DisplayObjectSharingMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/ColumnAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileOrientation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/TileLayout.as
+++ frameworks/projects/spark/src/spark/layouts/TileLayout.as
@@ -22,40 +22,65 @@
 import spark.layouts.supportClasses.LayoutBase;

 /**
- *  TileLayout arranges the layout elements in columns and rows
+ *  The TileLayout class arranges layout elements in columns and rows
  *  of equally-sized cells.
- *
- *  There are a number of properties that control orientation,
+ *  The TileLayout class uses a number of properties that control orientation,
  *  count, size, gap and justification of the columns and the rows
  *  as well as element alignment within the cells.
  *
- *  Per-element supported constraints are percentWidth, percentHeight.
- *  Element's minimum and maximum sizes will always be respected and
- *  where possible, an element's size will be limited to less then or equal
- *  of the cell size.
+ *
Per-element supported constraints are
+ *  percentWidth and percentHeight.
+ *  Element's minimum and maximum sizes are always be respected and
+ *  where possible, an element's size is limited to less then or equal
+ *  of the cell size.

  *
- *  When not explicitly set, the columnWidth is calculated as the maximum
- *  preferred bounds width of all elements and the columnHeight is calculated
- *  as the maximum preferred bounds height of all elements.
+ *
When not explicitly set, the columnWidth property
+ *  is calculated as the maximum preferred bounds width of all elements
+ *  and the columnHeight property is calculated
+ *  as the maximum preferred bounds height of all elements.

  *
- *  When not explicitly set, the columnCount and rowCount are calculated from
- *  any explicit width/height settings for the layout target and columnWidth
- *  and columnHeight.  In case none is specified, the coulumnCount and rowCount
- *  values are picked so that the resulting pixel area is as square as possible.
+ *
When not explicitly set, the columnCount and
+ *  rowCount properties are calculated from
+ *  any explicit width and height settings for the layout target,
+ *  and columnWidth and columnHeight.
+ *  In case none is specified, the columnCount and rowCount
+ *  values are picked so that the resulting pixel area is as square as possible.

  *
- *  The measured size is calculated from the columnCount, rowCount,
- *  columnWidth, rowHeight and the gap sizes.
+ *
 The measured size is calculated from the columnCount, rowCount,
+ *  columnWidth, rowHeight properties and the gap sizes.

  *
- *  The default measured size, when no properties were explicitly set, is
- *  as square as possible area and is enough to fit all elements.
+ *
The default measured size, when no properties were explicitly set, is
+ *  as square as possible area and is large enough to fit all elements.

  *
- *  In other cases the measured size may not be big enough to fit all elements -
- *  for example when both columnCount and rowCount are explicitly set to values
- *  such that columnCount * rowCount < element count.
+ *
In other cases the measured size may not be big enough to fit all elements.
+ *  For example, when both columnCount and rowCount are explicitly set to values
+ *  such that columnCount * rowCount < element count.

  *
- *  The minimum measured size is calculated the same way as the measured size but
- *  it's guaranteed to encompass enough rows/columns along the minor axis to fit
- *  all elements.
+ *
The minimum measured size is calculated the same way as the measured size but
+ *  it's guaranteed to encompass enough rows and columns along the minor axis to fit
+ *  all elements.

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

+ *
+ *

+ *  <TileLayout
+ *    Properties
+ *    columnAlign="left"
+ *    columnWidth="NaN"
+ *    horizontalAlign="justify"
+ *    horizontalGap="6"
+ *    orientation="rows"
+ *    requestedColumnCount="-1"
+ *    requestedRowCount="-1"
+ *    rowAlign="top"
+ *    rowCount="-1"
+ *    rowHeight="NaN"
+ *    verticalAlign="justify"
+ *    verticalGap="6"
+ *  />
+ *

  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -181,8 +206,7 @@
     [Inspectable(category="General")]

     /**
-     *  This property will contain the actual column count after
-     *  updateDisplayList().
+     *  Contain the actual column count.
      *
      *  @see #rowCount
      *  @see #columnAlign
@@ -212,14 +236,14 @@

     /**
      *  Number of columns to be displayed.
-     *  Set to make sure the layout measures a specific number of columns.
      *
-     *  Set to -1 to remove explicit override and allow the TileLayout to determine
-     *  the column count automatically.
-     *
-     *  Setting this property won't have any effect, if orientation is
-     *  set to TileOrientation.ROWS, rowCount is explicitly set, and the
-     *  container width is explicitly set.
+     *
Set to -1 to allow the TileLayout to determine
+     *  the column count automatically.

+     *
+     *
If the orientation property is set to TileOrientation.ROWS,
+     *  then setting this property has no effect
+     *  In this case, the rowCount is explicitly set, and the
+     *  container width is explicitly set.

      *
      *  @see #columnCount
      *  @see #columnAlign
@@ -262,8 +286,7 @@
     [Inspectable(category="General")]

     /**
-     *  This property will contain the actual row count after
-     *  updateDisplayList().
+     *  The row count.
      *
      *  @see #requestedRowCount
      *  @see #columnCount
@@ -293,14 +316,14 @@

     /**
      *  Number of rows to be displayed.
-     *  Set to make sure the layout measures a specific number of rows.
      *
-     *  Set to -1 to remove explicit override and allow the TileLayout to determine
-     *  the row count automatically.
-     *
-     *  Setting this property won't have any effect, if orientation is
-     *  set to TileOrientation.COLUMNS, columnCount is explicitly set, and the
-     *  container height is explicitly set.
+     *
Set to -1 to remove explicit override and allow the TileLayout to determine
+     *  the row count automatically.

+     *
+     *
If the orientation property is set to
+     *  TileOrientation.COLUMNS, setting this property has no effect.
+     *  in this case, columnCount is explicitly set, and the
+     *  container height is explicitly set.

      *
      *  @see #rowCount
      *  @see #rowAlign
@@ -340,16 +363,14 @@
     [Inspectable(category="General")]

     /**
-     *  Explicit override for the column width.
-     *  This property will contain the actual column width after
-     *  updateDisplayList().
-     *
-     *
If not explicitly set, the column width will be
-     *  determined from the maximum of elements' width.
-     *  Set to NaN to remove explicit override.

-     *
-     *  If columnAlign is set to "justifyUsingWidth", the actual column width
-     *  will grow to justify the fully-visible columns to the container width.
+     *  Contain the actual column width.
+     *
+     *
If not explicitly set, the column width is
+     *  determined from the width of the widest element.

+     *
+     *
If the columnAlign property is set
+     *  to "justifyUsingWidth",  the column width grows to the
+     *  container width to justify the fully-visible columns.

      *
      *  @see #rowHeight
      *  @see #columnAlign
@@ -389,16 +410,13 @@
     [Inspectable(category="General")]

     /**
-     *  Explicit override for the row height.
-     *  This property will contain the actual row height after
-     *  updateDisplayList().
-     *
-     *
If not explicitly set, the row height will be
-     *  determined from the maximum of elements' height.
-     *  Set to NaN to remove explicit override.

+     *  The row height.
+     *
+     *
If not explicitly set, the row height is
+     *  determined from the maximum of elements' height.

      *
      *  If rowAlign is set to "justifyUsingHeight", the actual row height
-     *  will grow to justify the fully-visible rows to the container height.
+     *  increases to justify the fully-visible rows to the container height.
      *
      *  @see #columnWidth
      *  @see #rowAlign
@@ -445,7 +463,7 @@
      *  HorizontalAlign.JUSTIFY.
      *
      *
When set to HorizontalAlign.JUSTIFY the width of each
-     *  element will be set to the columnWidth
.
+     *  element is set to the columnWidth.

      *
      *  @default HorizontalAlign.JUSTIFY
      *
@@ -489,7 +507,7 @@
      *  VerticalAlign.JUSTIFY.
      *
      *
When set to VerticalAlign.JUSTIFY, the height of each
-     *  element will be set to rowHeight
.
+     *  element is set to rowHeight.

      *
      *  @default VerticalAlign.JUSTIFY
      *
@@ -529,24 +547,26 @@
      *  and ColumnAlign.JUSTIFY_USING_WIDTH.
      *  MXML values can be "left", "justifyUsingGap" and "justifyUsingWidth".
      *
-     *
When set to ColumnAlign.LEFT - turns column justification off, there may
-     *  be partially visible columns or whitespace between the last column and
+     *
When set to ColumnAlign.LEFT it turns column justification off.
+     *  There may be partially visible columns or whitespace between the last column and
      *  the right edge of the container.  This is the default value.

      *
-     *
When set to ColumnAlign.JUSTIFY_USING_GAP - the horizontalGap
-     *  actual value will increase so that
+     *
When set to ColumnAlign.JUSTIFY_USING_GAP the horizontalGap
+     *  actual value increases so that
      *  the last fully visible column right edge aligns with the container's right edge.
      *  In case there is only a single fully visible column, the horizontalGap actual value
-     *  will increase so that it pushes any partially visible column just beyond the right edge
-     *  of the container.  Note that explicitly setting the horizontalGap does not turn off
-     *  justification, but just determines the initial gap value, and after thatn justification
-     *  may increases it.

-     *
-     *
When set to ColumnAlign.JUSTIFY_USING_WIDTH - the columnWidth
-     *  actual value will increase so that
-     *  the last fully visible column right edge aligns with the container's right edge.  Note that
-     *  explicitly setting the columnWidth does not turn off justification, but simply
-     *  determines the initial column width value, and after that justification may increases it.

+     *  increases so that it pushes any partially visible column beyond the right edge
+     *  of the container.
+     *  Note that explicitly setting the horizontalGap property does not turn off
+     *  justification. It only determines the initial gap value.
+     *  Justification may increases it.

+     *
+     *
When set to ColumnAlign.JUSTIFY_USING_WIDTH the columnWidth
+     *  actual value increases so that
+     *  the last fully visible column right edge aligns with the container's right edge.
+     *  Note that explicitly setting the columnWidth property does not turn off justification.
+     *  It only determines the initial column width value.
+     *  Justification may increases it.

      *
      *  @see #horizontalGap
      *  @see #columnWidth
@@ -589,24 +609,25 @@
      *  and RowAlign.JUSTIFY_USING_HEIGHT.
      *  MXML values can be "top", "justifyUsingGap" and "justifyUsingHeight".
      *
-     *
When set to RowAlign.TOP - turns column justification off, there may
-     *  be partially visible rows or whitespace between the last row and
+     *
When set to RowAlign.TOP it turns column justification off.
+     *  There might be partially visible rows or whitespace between the last row and
      *  the bottom edge of the container.  This is the default value.

      *
-     *
When set to RowAlign.JUSTIFY_USING_GAP - the verticalGap
-     *  actual value will increase so that
+     *
When set to RowAlign.JUSTIFY_USING_GAP the verticalGap
+     *  actual value increases so that
      *  the last fully visible row bottom edge aligns with the container's bottom edge.
-     *  In case there is only a single fully visible row, the verticalGap actual value
-     *  will increase so that it pushes any partially visible row just beyond the bottom edge
+     *  In case there is only a single fully visible row, the value of verticalGap
+     *  increases so that it pushes any partially visible row beyond the bottom edge
      *  of the container.  Note that explicitly setting the verticalGap does not turn off
-     *  justification, but just determines the initial gap value, and after that justification
-     *  may increases it.

-     *
-     *
When set to RowAlign.JUSTIFY_USING_HEIGHT - the rowHeight
-     *  actual value will increase so that
+     *  justification, but just determines the initial gap value.
+     *  Justification can then increases it.

+     *
+     *
When set to RowAlign.JUSTIFY_USING_HEIGHT the rowHeight
+     *  actual value increases so that
      *  the last fully visible row bottom edge aligns with the container's bottom edge.  Note that
-     *  explicitly setting the rowHeight does not turn off justification, but simply
-     *  determines the initial row height value, and after that justification may increases it.

+     *  explicitly setting the rowHeight does not turn off justification, but
+     *  determines the initial row height value.
+     *  Justification can then increases it.

      *
      *  @see #verticalGap
      *  @see #rowHeight


Code clean

Code clean

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/AlertUtil.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/AlertUtil.as
@@ -21,20 +21,23 @@
 			showMsg(Images.ERROR, messageResource, messageParameters, titleResource, titleParameters);
 		}

-		public static function showMessage(messageResource:String, messageParameters:Array = null, titleResource:String = null, titleParameters:Array = null):void {
+		public static function showMessage(messageResource:String, messageParameters:Array = null,
+										   titleResource:String = null, titleParameters:Array = null):void {
 			if(titleResource == null) {
 				titleResource = INFO_TITLE_RESOURCE;
 			}
 			showMsg(null, messageResource, messageParameters, titleResource, titleParameters);
 		}

-		private static function showMsg(icon:Class, messageResource:String, messageParameters:Array = null, titleResource:String = null, titleParameters:Array = null) {
+		private static function showMsg(icon:Class, messageResource:String, messageParameters:Array = null,
+										titleResource:String = null, titleParameters:Array = null):void {
 			var message:String = Message.get(messageResource, messageParameters);
 			var title:String = Message.get(titleResource, titleParameters);
 			Alert.show(message, title, Alert.OK, null, null, icon);
 		}

-		public static function showConfirm(messageResource:String, parameters:Array, titleResource:String, yesHandler:Function, noHandler:Function = null):void {
+		public static function showConfirm(messageResource:String, parameters:Array, titleResource:String,
+										   yesHandler:Function, noHandler:Function = null):void {
 			var message:String = Message.get(messageResource, parameters);
 			var title:String = Message.get(titleResource);


Transferred from the Adobe Open Source Subversion Repository

Revision: 15526
Author:   chaase@adobe.com
Date:     2010-04-16T23:14:38.571769Z

Log Message:
-----------
Two effects fixes, one states/SetProperty fix.
The Fade fix allows objects which don't exist in the next state, but which don't have valid values set in that state for position/orientation, to fade out in place.
The states fix cleans up the layout constraint docs in UIComponent and fixes logic in SetProperty that makes it possible to actually unset these properties in MXML.
The AnimateTransform fix cleans up logic when using AnimateTransform directly to auto-animate properties that change between states.

QE notes: Fade_accessor Fade_relevantProperties_Default fails because the affectedProperties of Fade has changed with one of these fixes. The test needs to be updated.
Doc notes: None
Bugs: sdk-25389, sdk-24989, sdk-24925
Reviewer: Corey (UIComponent, SetProperty) and Jason (the rest)
Tests run: checkintests, Mustella spark/effects, mx/states
Is noteworthy for integration: yes: downstream tools wanted fix for sdk-24925

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/SetProperty.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -25,6 +25,7 @@
 import spark.effects.animation.Keyframe;
 import spark.effects.animation.MotionPath;
 import spark.effects.easing.IEaser;
+import spark.effects.easing.Linear;
 import spark.effects.easing.Sine;

 use namespace mx_internal;
@@ -562,7 +563,8 @@
             {
                 // Attempt to use the same easer used in the existing keyframes. Assume that
                 // The first set of keyframes ends with the same easing that is applied elsewhere
-                // in this motion path. If that doesn't work, use the default for the SDK (Sine(.5))
+                // in this motion path. If that doesn't work, use Linear because we will already
+                // be easing the overall effect with the easer property
                 if (motionPaths.length > 0 &&
                     motionPaths[0] && motionPaths[0].keyframes &&
                     motionPaths[0].keyframes.length > 0 &&
@@ -572,7 +574,7 @@
                 }
                 else
                 {
-                    autoPropsEaser = new Sine(.5);
+                    autoPropsEaser = new Linear();
                 }
             }
             var mp:MotionPath = new MotionPath(s);


Fixed quantile binary search lookup to handle many repeated values in a consistent manner

git-svn-id: 6aa7ccb0a2048310a30f08a72aaff4ca39d980ed@160 91848ab2-c4ae-4e4f-8e6a-6a52ea0dccc3

--- flare.util/flare/util/Maths.as
+++ flare.util/flare/util/Maths.as
@@ -339,12 +339,14 @@
             var i:uint = b / 2;
             while (a < b)
             {   // binary search over the boundaries
-                if (quantiles[i] == x)
+                if (quantiles[i] == x) {
+                	for (; i>0 && quantiles[i-1] == x; --i);
                     break;
-                else if (quantiles[i] < x)
+                } else if (quantiles[i] < x) {
                     a = i+1;
-                else
+                } else {
                     b = i;
+                }
                 i = a + ((b - a) >> 1);
             }
             return Number(i) / (quantiles.length-1);


Made blur shader more subclassing friendly

--- extension/src/starling/shaders/FastGaussianBlurShader.as
+++ extension/src/starling/shaders/FastGaussianBlurShader.as
@@ -6,9 +6,9 @@
 package starling.shaders {
 import com.barliesque.agal.EasierAGAL;
 import com.barliesque.agal.IComponent;
+import com.barliesque.agal.IField;
 import com.barliesque.agal.IRegister;
 import com.barliesque.agal.TextureFlag;
-import com.barliesque.shaders.macro.Utils;

 import flash.display3D.Context3D;
 import flash.display3D.Context3DProgramType;
@@ -17,8 +17,10 @@
     public static const HORIZONTAL:String   = "horizontal";
     public static const VERTICAL:String     = "vertical";

-    private static const DEFAULT_FIRST_PASS_STRENGTH:Number                 = 1.25;
-    private static const DEFAULT_STRENGTH_INCREASE_PER_PASS_RATIO:Number    = 2.5;
+    public static const DEFAULT_FIRST_PASS_STRENGTH:Number                 = 1.25;
+    public static const DEFAULT_STRENGTH_INCREASE_PER_PASS_RATIO:Number    = 2.5;
+
+    protected static const TEXTURE_FLAGS:Array = [TextureFlag.TYPE_2D, TextureFlag.MODE_CLAMP, TextureFlag.FILTER_LINEAR, TextureFlag.MIP_NO];

     private static var _verticalOffsets:Vector.<Number>     = new <Number>[0.0, 1.3846153846, 0.0, 3.2307692308];
     private static var _horizontalOffsets:Vector.<Number>   = new <Number>[1.3846153846, 0.0, 3.2307692308, 0.0];
@@ -32,11 +34,25 @@
     private var _paramsDirty:Boolean            = true;
     private var _strengthsDirty:Boolean         = true;

-    private var _strengths:Vector.<Number>      = new <Number>[];
+    protected var _strengths:Vector.<Number>    = new <Number>[];
     private var _offsets:Vector.<Number>        = new <Number>[0, 0, 0, 0];
     private var _uv:Vector.<Number>             = new <Number>[0, 1, 0, 1];
     private var _pixelSize:Vector.<Number>      = new <Number>[Number.NaN, Number.NaN, Number.NaN, Number.NaN];

+    // shader constants
+    protected var uvCenter:IRegister            = VARYING[0];
+    protected var weightCenter:IComponent       = CONST[0].x;
+    protected var weightOne:IComponent          = CONST[0].y;
+    protected var weightTwo:IComponent          = CONST[0].z;
+    protected var offsetOne:IField              = CONST[1].xy;
+    protected var offsetTwo:IField              = CONST[1].zw;
+    protected var uMin:IComponent               = CONST[2].x;
+    protected var uMax:IComponent               = CONST[2].y;
+    protected var vMin:IComponent               = CONST[2].z;
+    protected var vMax:IComponent               = CONST[2].w;
+    protected var halfPixelWidth:IComponent     = CONST[3].z;
+    protected var halfPixelHeight:IComponent    = CONST[3].w;
+
     public function get type():String { return _type; }
     public function set type(value:String):void {
         if(value == _type)
@@ -131,86 +147,62 @@
         if(_paramsDirty)
             updateParameters();

-        context.setProgramConstantsFromVector(Context3DProgramType.VERTEX,   4, _offsets);
-
         context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 0, _weights);
-        context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 1, _uv);
-        context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 2, _pixelSize);
-    }
-
-    public function deactivate(context:Context3D):void {
-    }
+        context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 1, _offsets);
+        context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 2, _uv);
+        context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 3, _pixelSize);
+    }
+
+    public function deactivate(context:Context3D):void { }

     override protected function _vertexShader():void {
         comment("Apply a 4x4 matrix to transform vertices to clip-space");
         multiply4x4(OUTPUT, ATTRIBUTE[0], CONST[0]);

         comment("Pass uv coordinates to fragment shader");
-        move(VARYING[0], ATTRIBUTE[1]);
-
-        comment("pass 4 additional UVs for sampling neighbours, in order: -2, -1, +1, +2 pixels away");
-        subtract(VARYING[1], ATTRIBUTE[1], CONST[4].zw);
-        subtract(VARYING[2], ATTRIBUTE[1], CONST[4].xy);
-        add(VARYING[3], ATTRIBUTE[1], CONST[4].xy);
-        add(VARYING[4], ATTRIBUTE[1], CONST[4].zw);
+        move(uvCenter, ATTRIBUTE[1]);
+
+//        comment("pass 4 additional UVs for sampling neighbours, in order: -2, -1, +1, +2 pixels away");
+//        subtract(uvMinusTwo, ATTRIBUTE[1], CONST[4].zw);
+//        subtract(uvMinusOne, ATTRIBUTE[1], CONST[4].xy);
+//        add(uvPlusOne, ATTRIBUTE[1], CONST[4].xy);
+//        add(uvPlusTwo, ATTRIBUTE[1], CONST[4].zw);
     }

     override protected function _fragmentShader():void {
-        var uvCenter:IRegister          = VARYING[0];
-        var uvMinusTwo:IRegister        = VARYING[1];
-        var uvMinusOne:IRegister        = VARYING[2];
-        var uvPlusOne:IRegister         = VARYING[3];
-        var uvPlusTwo:IRegister         = VARYING[4];
-        var uv:IRegister                = TEMP[7];
-        var weightCenter:IComponent     = CONST[0].x;
-        var weightOne:IComponent        = CONST[0].y;
-        var weightTwo:IComponent        = CONST[0].z;
-        var minU:IComponent             = CONST[1].x;
-        var maxU:IComponent             = CONST[1].y;
-        var minV:IComponent             = CONST[1].z;
-        var maxV:IComponent             = CONST[1].w;
-        var halfPixelWidth:IComponent   = CONST[2].z;
-        var halfPixelHeight:IComponent  = CONST[2].w;
-        var colorCenter:IRegister       = TEMP[0];
-        var colorMinusTwo:IRegister     = TEMP[1];
-        var colorMinusOne:IRegister     = TEMP[2];
-        var colorPlusOne:IRegister      = TEMP[3];
-        var colorPlusTwo:IRegister      = TEMP[4];
-        var outputColor:IRegister       = TEMP[5];
-        var textureFlags:Array          = [TextureFlag.TYPE_2D, TextureFlag.MODE_CLAMP, TextureFlag.FILTER_LINEAR, TextureFlag.MIP_NO];
-
-        sampleTexture(colorCenter, uvCenter, SAMPLER[0], textureFlags);
-        multiply(outputColor, colorCenter, weightCenter);
-
-        move(uv, uvMinusTwo);
-        ShaderUtil.clamp(uv.x, minU, maxU, halfPixelWidth, TEMP[6]);
-        ShaderUtil.clamp(uv.y, minV, maxV, halfPixelHeight, TEMP[6]);
-        sampleTexture(colorMinusTwo, uv, SAMPLER[0], textureFlags);
-        multiply(colorMinusTwo, colorMinusTwo, weightTwo);
-        add(outputColor, outputColor, colorMinusTwo);
-
-        move(uv, uvMinusOne);
-        ShaderUtil.clamp(uv.x, minU, maxU, halfPixelWidth, TEMP[6]);
-        ShaderUtil.clamp(uv.y, minV, maxV, halfPixelHeight, TEMP[6]);
-        sampleTexture(colorMinusOne, uv, SAMPLER[0], textureFlags);
-        multiply(colorMinusOne, colorMinusOne, weightOne);
-        add(outputColor, outputColor, colorMinusOne);
-
-        move(uv, uvPlusOne);
-        ShaderUtil.clamp(uv.x, minU, maxU, halfPixelWidth, TEMP[6]);
-        ShaderUtil.clamp(uv.y, minV, maxV, halfPixelHeight, TEMP[6]);
-        sampleTexture(colorPlusOne, uv, SAMPLER[0], textureFlags);
-        multiply(colorPlusOne, colorPlusOne, weightOne);
-        add(outputColor, outputColor, colorPlusOne);
-
-        move(uv, uvPlusTwo);
-        ShaderUtil.clamp(uv.x, minU, maxU, halfPixelWidth, TEMP[6]);
-        ShaderUtil.clamp(uv.y, minV, maxV, halfPixelHeight, TEMP[6]);
-        sampleTexture(colorPlusTwo, uv, SAMPLER[0], textureFlags);
-        multiply(colorPlusTwo, colorPlusTwo, weightTwo);
-        add(outputColor, outputColor, colorPlusTwo);
+        var tempColor:IRegister     = TEMP[0];
+        var outputColor:IRegister   = TEMP[1];
+        var uv:IRegister            = TEMP[2];
+
+        sampleColor(outputColor, uvCenter, weightCenter);
+
+        subtract(uv, uvCenter, offsetTwo);
+        sampleColor(tempColor, uv, weightTwo, uMin, uMax, vMin, vMax, halfPixelWidth, halfPixelHeight, TEMP[6]);
+        add(outputColor, outputColor, tempColor);
+
+        subtract(uv, uvCenter, offsetOne);
+        sampleColor(tempColor, uv, weightOne, uMin, uMax, vMin, vMax, halfPixelWidth, halfPixelHeight, TEMP[6]);
+        add(outputColor, outputColor, tempColor);
+
+        add(uv, uvCenter, offsetOne);
+        sampleColor(tempColor, uv, weightOne, uMin, uMax, vMin, vMax, halfPixelWidth, halfPixelHeight, TEMP[6]);
+        add(outputColor, outputColor, tempColor);
+
+        add(uv, uvCenter, offsetTwo);
+        sampleColor(tempColor, uv, weightTwo, uMin, uMax, vMin, vMax, halfPixelWidth, halfPixelHeight, TEMP[6]);
+        add(outputColor, outputColor, tempColor);

         move(OUTPUT, outputColor);
+    }
+
+    protected function sampleColor(sampledColor:IRegister, uv:IRegister, colorWeight:IComponent, minU:IComponent = null, maxU:IComponent = null, minV:IComponent = null, maxV:IComponent = null, halfPixelWidth:IComponent = null, halfPixelHeight:IComponent = null, temp:IRegister = null):void {
+        if(minU != null) {
+            ShaderUtil.clamp(uv.x, minU, maxU, halfPixelWidth, temp);
+            ShaderUtil.clamp(uv.y, minV, maxV, halfPixelHeight, temp);
+        }
+
+        sampleTexture(sampledColor, uv, SAMPLER[0], TEXTURE_FLAGS);
+        multiply(sampledColor, sampledColor, colorWeight);
     }

     private function updateParameters():void {


Improving DebugTimer

Improving DebugTimer

--- WeaveCore/src/weave/utils/DebugTimer.as
+++ WeaveCore/src/weave/utils/DebugTimer.as
@@ -49,21 +49,24 @@
 		 * This will report the time since the last call to begin() or lap().
 		 * @param debugString A string to print using trace().
 		 * @param debugStrings Additional strings to print using trace(), which will be separated by spaces.
-		 */
-		public static function lap(debugString:String, ...debugStrings):void
+		 * @return The elapsed time.
+		 */
+		public static function lap(debugString:String, ...debugStrings):int
 		{
 			debugStrings.unshift(debugString);
-			end.apply(null, debugStrings);
+			var elapsedTime:int = end.apply(null, debugStrings);
 			begin();
-		}
-
-		/**
+			return elapsedTime;
+		}
+
+		/**
 		 * This will reset the timer so that higher-level functions can resume their use of DebugTimer.
-		 * Pairs of calls to begin() and end() may be nested.
-		 * @param debugString A string to print using trace().
-		 * @param debugStrings Additional strings to print using trace(), which will be separated by spaces.
+		 * Pairs of calls to begin() and end() may be nested.
+		 * @param debugString A string to print using trace().
+		 * @param debugStrings Additional strings to print using trace(), which will be separated by spaces.
+		 * @return The elapsed time.
 		 */
-		public static function end(debugString:String, ...debugStrings):void
+		public static function end(debugString:String, ...debugStrings):int
 		{
 			debugStrings.unshift(debugString);
 			var elapsedTime:int = (getTimer() - debugTimes.pop());
@@ -82,7 +85,12 @@
 				else
 					lines[i] = (indent + '|-' + elapsed + lines[i]);
 			}
-			trace(lines.join('\n'));
+			trace(lines.join('\n'));
+
+			if (elapsedTime > 1000)
+				break; // put breakpoint here
+
+			return elapsedTime;
 		}
 	}
 }


pushPlotter second param is optional

pushPlotter second param is optional

--- WeaveJS/src/weavejs/path/WeavePathUI.as
+++ WeaveJS/src/weavejs/path/WeavePathUI.as
@@ -21,7 +21,7 @@
 		 * @param plotterType (Optional) The type of plotter to request if it doesn't exist yet.
 		 * @return A new WeavePath object which remembers the current WeavePath as its parent.
 		 */
-		public function pushPlotter(plotterName:String, plotterType:Object):WeavePath
+		public function pushPlotter(plotterName:String, plotterType:Object = null):WeavePath
 		{
 //			var tool:WeavePath = this.weave.path(this._path[0]);
 //			if (!(tool.getObject() is SimpleVisTool))


Transferred from the Adobe Open Source Subversion Repository

Revision: 17942
Author:   chiedozi@adobe.com
Date:     2010-09-29T22:17:47.195538Z

Log Message:
-----------
Renamed ViewHistoryData to ViewProxy
Added a context parameter to pushView that allows context information to be passed to a new view
View.returnedObject was moved to ViewNavigator and is now typed ViewReturnObject.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewReturnObject.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewHistoryData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewHistoryData.as" copyfrom-rev="17889" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewProxy.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewDescriptor.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewDescriptor.as
@@ -7,7 +7,7 @@
 //  NOTICE: Adobe permits you to use, modify, and distribute this file
 //  in accordance with the terms of the license agreement accompanying it.
 //
-////////////////////////////////////////////////////////////////////////////////'
+////////////////////////////////////////////////////////////////////////////////
 // TODO (chiedozi): Make private talk to QE
 package spark.components.supportClasses
 {
@@ -20,7 +20,7 @@
 import spark.components.View;

 /**
- *  The ViewHistoryData object is a data structure used to store information
+ *  The ViewProxy object is a data structure used to store information
  *  about a view that is being managed by a ViewNavigator.
  *
  *  @langversion 3.0
@@ -28,7 +28,7 @@
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
-public class ViewHistoryData implements IExternalizable
+public class ViewProxy implements IExternalizable
 {
     //--------------------------------------------------------------------------
     //
@@ -48,10 +48,14 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function ViewHistoryData(factory:Class = null, data:Object = null, instance:View = null)
+    public function ViewProxy(factory:Class = null,
+                              data:Object = null,
+                              context:String = null,
+                              instance:View = null)
     {
         this.factory = factory;
         this.data = data;
+        this.context = context;
         this.instance = instance;
     }

@@ -60,6 +64,22 @@
     //  Properties
     //
     //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  context
+    //----------------------------------
+
+    /**
+     *  The string that describes the context in which this view was
+     *  created.  This property is assigned to the context
+     *  parameter that is passed into ViewNavigator.pushView().
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public var context:String;

     //----------------------------------
     //  data
@@ -147,6 +167,7 @@
      */
     public function writeExternal(output:IDataOutput):void
     {
+        output.writeObject(context);
         output.writeObject(persistedData);

         // Have to store the class name of the factory because classes can't be
@@ -166,6 +187,7 @@
      */
     public function readExternal(input:IDataInput):void
     {
+        context = input.readObject();
         persistedData = input.readObject();

         var className:String = input.readObject();


Transferred from the Adobe Open Source Subversion Repository

Revision: 8574
Author:   aharui@adobe.com
Date:     2009-07-15T05:33:44.225721Z

Log Message:
-----------
Bugs related to TLF and focus.  Also TLF Marshall Plan adjustments, and some IME fixes

QE Notes: None
Doc Notes: None
Bugs: SDK-21278, SDK-21686, SDK-21375, SDK-18516, SDK-15093, SDK-21335
Reviewer: darrell, carol
tests: checkintests mustella/gumbo mustella/components

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IIMESupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.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/controls/alertClasses/AlertForm.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.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/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.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/controls/Label.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/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>

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

--- frameworks/projects/airframework/src/mx/controls/HTML.as
+++ frameworks/projects/airframework/src/mx/controls/HTML.as
@@ -367,7 +367,6 @@
         _verticalScrollPolicy = ScrollPolicy.AUTO;

         tabEnabled = false;
-        tabChildren = true;
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 2862
Author:   rfrishbe@adobe.com
Date:     2008-08-16T01:18:35.179682Z

Log Message:
-----------
Change a comment on SkinnableComponent.as

Fixed an issue on UIComponent where initially setting the state of a component would slow down runtime performance by quite a lot (proportional to how many total components are on the screen).  This affected Halo as well, but it affects Gumbo a lot because the default state of a component usually needs to be set.  For the case of 2000 Gumbo buttons, this speeds up creation time by about 50%.

QE: Yes
Doc: No
Bugs: -
Reviewer: Glenn and Corey

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -8644,7 +8644,9 @@
             // changing states takes a frame to commit the changes, which
             // results in the base state flashing quickly on the screen before
             // the desired state is entered.
-            validateNow();
+            var newState:State = getState(currentState);
+            if (newState && newState.overrides.length > 0)
+                validateNow();
         }

         removeEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler);


Transferred from the Adobe Open Source Subversion Repository

Revision: 14493
Author:   jszeto@adobe.com
Date:     2010-03-02T01:29:51.885807Z

Log Message:
-----------
Merging 14492 from 4.x to trunk

Mirroring performance fixes

Fixed a performance problem in UIComponent. Updated invalidateLayoutDirection to only iterate through its non-style children (GraphicElements) if its layoutDirection has not changed.

http://bugs.adobe.com/jira/browse/SDK-25547 - Performance regression in datagrid scroll after 14208

Restored the use of transform.concatenatedMatrix instead of MatrixUtil.getConcatenatedMatrix. We want the postLayoutTransformOffsets because the Player incorporates these values in textWidth and textHeight.

Always return the absolute measuredWidth/Height

QE notes: none
Doc notes: none
Bugs: SDK-25547
Reviewer: Hans
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/UITextField.as
+++ frameworks/projects/framework/src/mx/core/UITextField.as
@@ -1289,11 +1289,9 @@
         if (!stage || embedFonts)
             return textHeight + TEXT_HEIGHT_PADDING;

-        const m:Matrix = MatrixUtil.getConcatenatedMatrix(this);
-        const sx:Number = ((mirror) ? -1 : +1) * m.a;
-        const sy:Number = m.d
-
-        return (textHeight * sx / sy) + TEXT_HEIGHT_PADDING;
+        const m:Matrix = transform.concatenatedMatrix;
+
+        return Math.abs((textHeight * m.a / m.d)) + TEXT_HEIGHT_PADDING;
     }

     //----------------------------------
@@ -1366,11 +1364,9 @@
         if (!stage || embedFonts)
             return textWidth + TEXT_WIDTH_PADDING;

-        const m:Matrix = MatrixUtil.getConcatenatedMatrix(this);
-        const sx:Number = ((mirror) ? -1 : +1) * m.a;
-        const sy:Number = m.d
-
-        return (textWidth * sx / sy) + TEXT_WIDTH_PADDING;
+        const m:Matrix = transform.concatenatedMatrix;
+
+        return Math.abs((textWidth * m.a / m.d)) + TEXT_WIDTH_PADDING;
     }

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


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

--- frameworks/projects/rpc/src/mx/rpc/soap/types/MapType.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/types/MapType.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006-2007 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: 7733
Author:   egeorgie@adobe.com
Date:     2009-06-10T23:45:21.156909Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-21366 VGroup/HGroup doesn't provide paddingTop/paddingLeft/paddingRight/paddingBottom properties

Fix: add 'em. Update the metadata for the rest of the properties.

Doc Notes: None
Bugs: SDK-21366
Reviewer: Glenn
tests: checkintests

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

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

--- frameworks/projects/spark/src/spark/components/VGroup.as
+++ frameworks/projects/spark/src/spark/components/VGroup.as
@@ -85,6 +85,8 @@
     //  gap
     //----------------------------------

+    [Inspectable(category="General")]
+
     /**
      *  @copy spark.layouts.VerticalLayout#gap
      *
@@ -112,6 +114,8 @@
     //  horizontalAlign
     //----------------------------------

+    [Inspectable(category="General", enumeration="left,right,center,justify,contentJustify", defaultValue="left")]
+
     /**
      *  @copy spark.layouts.VerticalLayout#horizontalAlign
      *
@@ -136,10 +140,119 @@
     }

     //----------------------------------
+    //  paddingLeft
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  @copy spark.layouts.VerticalLayout#paddingLeft
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get paddingLeft():Number
+    {
+        return verticalLayout.paddingLeft;
+    }
+
+    /**
+     *  @private
+     */
+    public function set paddingLeft(value:Number):void
+    {
+        verticalLayout.paddingLeft = value;
+    }
+
+    //----------------------------------
+    //  paddingRight
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  @copy spark.layouts.VerticalLayout#paddingRight
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get paddingRight():Number
+    {
+        return verticalLayout.paddingRight;
+    }
+
+    /**
+     *  @private
+     */
+    public function set paddingRight(value:Number):void
+    {
+        verticalLayout.paddingRight = value;
+    }
+
+    //----------------------------------
+    //  paddingTop
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  @copy spark.layouts.VerticalLayout#paddingTop
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get paddingTop():Number
+    {
+        return verticalLayout.paddingTop;
+    }
+
+    /**
+     *  @private
+     */
+    public function set paddingTop(value:Number):void
+    {
+        verticalLayout.paddingTop = value;
+    }
+
+    //----------------------------------
+    //  paddingBottom
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  @copy spark.layouts.VerticalLayout#paddingBottom
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get paddingBottom():Number
+    {
+        return verticalLayout.paddingBottom;
+    }
+
+    /**
+     *  @private
+     */
+    public function set paddingBottom(value:Number):void
+    {
+        verticalLayout.paddingBottom = value;
+    }
+
+    //----------------------------------
     //  rowCount
     //----------------------------------

     [Bindable("propertyChange")]
+    [Inspectable(category="General")]

     /**
      *  @copy spark.layouts.VerticalLayout#rowCount
@@ -160,6 +273,8 @@
     //  requestedRowCount
     //----------------------------------

+    [Inspectable(category="General")]
+
     /**
      *  @copy spark.layouts.VerticalLayout#requestedRowCount
      *
@@ -244,6 +359,7 @@
     //----------------------------------

     [Bindable("indexInViewChanged")]
+    [Inspectable(category="General")]

     /**
      * @copy spark.layouts.VerticalLayout#firstIndexInView
@@ -263,6 +379,7 @@
     //----------------------------------

     [Bindable("indexInViewChanged")]
+    [Inspectable(category="General")]

     /**
      * @copy spark.layouts.VerticalLayout#lastIndexInview


Transferred from the Adobe Open Source Subversion Repository

Revision: 2529
Author:   gosmith@adobe.com
Date:     2008-07-18T22:37:56.754773Z

Log Message:
-----------
Replaced some string literals in TextGraphic and TextView with the appropriate consts.

Reviewer: None; no functional change
Bug: -
QA: No
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextGraphic.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -637,7 +637,7 @@
 			    '<content>' + markup + '</content>' +
 			'</TextGraphic>';

-		return TextFilter.importFromString(markup, "fxg");
+		return TextFilter.importFromString(markup, TextFilter.FXG_FORMAT);
 	}

 	/**
@@ -678,7 +678,7 @@
 		{
 			if (text != null && text != "")
 			{
-				textFlow = TextFilter.importFromString(text, "text");
+				textFlow = TextFilter.importFromString(text, TextFilter.PLAIN_TEXT_FORMAT);
 			}
 			else
 			{


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

--- frameworks/projects/automation_spark/src/mx/core/Version.as
+++ frameworks/projects/automation_spark/src/mx/core/Version.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: 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@1263040 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/utils/TransformUtil.as
+++ frameworks/projects/framework/src/mx/utils/TransformUtil.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  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
+//
+//      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: 19498
Author:   jasonsj@adobe.com
Date:     2010-12-21T02:16:56.447761Z

Log Message:
-----------
Initial mobile theme ButtonBar and iOS ActionBar Button skins.
Removed DiscouragedForProfile metadata from ButtonBar and HSlider.
Fixed line endings in FXG files.
Removed unnecessary winding="evenOdd" in FXG.

QE notes: Use styleName="ios" in ActionBar buttons in navigationContent and actionContent.
Doc notes:
Bugs:
Reviewer: jszeto
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
106 paths were modified

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

--- frameworks/projects/spark/src/spark/components/ButtonBar.as
+++ frameworks/projects/spark/src/spark/components/ButtonBar.as
@@ -38,14 +38,6 @@
 use namespace mx_internal;  //ListBase and List share selection properties that are mx_internal

 [IconFile("ButtonBar.png")]
-
-/**
- * Because this component does not define a skin for the mobile theme, Adobe
- * recommends that you not use it in a mobile application. Alternatively, you
- * can define your own mobile skin for the component. For more information,
- * see Spark Skinning.
- */
-[DiscouragedForProfile("mobileDevice")]

 /**
  *  The ButtonBar control defines a horizontal group of


Transferred from the Adobe Open Source Subversion Repository

Revision: 6439
Author:   dsubrama@adobe.com
Date:     2009-04-30T21:19:14.460041Z

Log Message:
-----------
Bugfixes: SDK-20853, SDK-20506, SDK-20855

We now use the bottleneck method, updateRenderer() to let the DataGroup have first crack at setting a renderer's data, owner and labelText properties. Then the "true" owners like a List or ButtonBar which father a renderer, get a chance to come in and clean out stale properties and set new properties on the renderer (which was either created anew or recycled).

I also cleaned up some comments in LayoutBase.

Reviewer: Ryan
Checkintests: Pass
Mustella: Steve and Ella ok'ed a cyclone I gave them against List, ButtonBar, DataGroup and SkinnableDataContainer.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/IItemRendererOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBar.as
+++ frameworks/projects/spark/src/spark/components/ButtonBar.as
@@ -268,7 +268,7 @@
             }
         }
     }
-
+
     /**
      *  @private
      */
@@ -379,11 +379,8 @@
                 IFocusManagerComponent(renderer).focusEnabled = false;
             if (renderer is IItemRenderer)
                 IItemRenderer(renderer).allowDeselection = !requiresSelection;
-            updateRendererInformation(renderer);
-        }
-
-        if (isItemIndexSelected(index))
-            itemSelected(index, true);
+            updateRenderer(renderer);
+        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 5288
Author:   rfrishbe@adobe.com
Date:     2009-03-13T01:44:49.712909Z

Log Message:
-----------
A bunch of small bug fixes.

- DataGroup bug around a visualelement being moved to another datagroup (SDK-19680)

- Added removeAllElements method to IVisualElementContainer (SDK-19424)

- Fix up ASDoc/RTE messages for Group/DataGroup/FxContainer when calling addChild(), removeChild(), etc... (SDK-19582)

- Added an mx_internal method, specifically for automation, so mouse event listeners can get added to a Container without adding a mouseshield and changing the behavior of the component (SDK-18864)

- When both skinClass and skinFactory are set, the skin doesn't get reloaded properly when skinFactory changes when it's a non-ClassFactory (SDK-19450)

- autoLayout and typicalItem properties weren't getting proxied properly on FxDataContainer (SDK-19799)

- Tabbing through two focusable items, when one of those items is partially "offscreen", starts the tab loop with the second item instead of the first (SDK-17283)

- Add Icon file for FxVideoDisplay and VideoElement.

- Also fixed up some ASDoc versioning info for stuff that was added in the Flex 4 timeframe but was actually added to the framework project and not the flex4 project.

- Also renaming Group.setMxmlContent -> Group.setMXMLContent to follow proper naming conventions.

QE Notes: I'll update the bug files and let you know which ones we need to add tests for
Doc Notes: -
Bugs: SDK-19680, SDK-19424, SDK-19582, SDK-18864, SDK-19450, SDK-19799, SDK-17283
Reviewer: Jason reviewed most of the changes, Alex reviewed the FocusManager change
tests: checkintests, mustella Group, DataGroup, FxComponent

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/bundles/en_US/components.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVideoDisplay.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVideoDisplay.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/VideoElement.png</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/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -46,6 +46,18 @@
  *  @productversion Flex 4
  */
 [Event(name="rendererRemove", type="mx.events.RendererExistenceEvent")]
+
+//--------------------------------------
+//  Excluded APIs
+//--------------------------------------
+
+[Exclude(name="addChild", kind="method")]
+[Exclude(name="addChildAt", kind="method")]
+[Exclude(name="removeChild", kind="method")]
+[Exclude(name="removeChildAt", kind="method")]
+[Exclude(name="setChildIndex", kind="method")]
+[Exclude(name="swapChildren", kind="method")]
+[Exclude(name="swapChildrenAt", kind="method")]

 //--------------------------------------
 //  Other metadata
@@ -1046,6 +1058,10 @@

             return child;
         }
+        else if (child.parent && child.parent is DataGroup)
+        {
+            DataGroup(child.parent)._removeChild(child);
+        }

         if ((_layeringFlags & LAYERING_ENABLED) ||
             (child is IVisualElement && (child as IVisualElement).layer != 0))
@@ -1191,129 +1207,74 @@
     //--------------------------------------------------------------------------

     /**
-     *  @inheritDoc
-     *
-     *  DataGroup manages its own display objects,
-     *  and you should not call addChild() directly.
-     *  If you want to add, remove, or swap items around, modify the
-     *  dataProvider.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+     *  @private
+     *
+     *  This method allows access to the base class's implementation
+     *  of removeChild() (UIComponent's version), which can be useful since components
+     *  can override removeChild() and thereby hide the native implementation.  For
+     *  instance, we override removeChild() here to throw an RTE to discourage people
+     *  from using this method.  We need this method so we can remove children
+     *  that were previously attached to another DataGroup (see addItemToDisplayList).
+     */
+    private function _removeChild(child:DisplayObject):DisplayObject
+    {
+        return super.removeChild(child);
+    }
+
+    /**
+     *  @private
      */
     override public function addChild(child:DisplayObject):DisplayObject
     {
-        throw(new Error(resourceManager.getString("components", "methodUnavailable")));
-    }
-
-    /**
-     *  @inheritDoc
-     *
-     *  DataGroup manages its own display objects,
-     *  and you should not call addChildAt() directly.
-     *  If you want to add, remove, or swap items around, modify the
-     *  dataProvider.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+        throw(new Error(resourceManager.getString("components", "addChildDataGroupError")));
+    }
+
+    /**
+     *  @private
      */
     override public function addChildAt(child:DisplayObject, index:int):DisplayObject
     {
-        throw(new Error(resourceManager.getString("components", "methodUnavailable")));
-    }
-
-    /**
-     *  @inheritDoc
-     *
-     *  DataGroup manages its own display objects,
-     *  and you should not call removeChild() directly.
-     *  If you want to add, remove, or swap items around, modify the
-     *  dataProvider.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+        throw(new Error(resourceManager.getString("components", "addChildAtDataGroupError")));
+    }
+
+    /**
+     *  @private
      */
     override public function removeChild(child:DisplayObject):DisplayObject
     {
-        throw(new Error(resourceManager.getString("components", "methodUnavailable")));
-    }
-
-    /**
-     *  @inheritDoc
-     *
-     *  DataGroup manages its own display objects,
-     *  and you should not call removeChildAt() directly.
-     *  If you want to add, remove, or swap items around, modify the
-     *  dataProvider.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+        throw(new Error(resourceManager.getString("components", "removeChildDataGroupError")));
+    }
+
+    /**
+     *  @private
      */
     override public function removeChildAt(index:int):DisplayObject
     {
-        throw(new Error(resourceManager.getString("components", "methodUnavailable")));
-    }
-
-    /**
-     *  @inheritDoc
-     *
-     *  DataGroup manages its own display objects,
-     *  and you should not call setChildIndex() directly.
-     *  If you want to add, remove, or swap items around, modify the
-     *  dataProvider.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+        throw(new Error(resourceManager.getString("components", "removeChildAtDataGroupError")));
+    }
+
+    /**
+     *  @private
      */
     override public function setChildIndex(child:DisplayObject, index:int):void
     {
-        throw(new Error(resourceManager.getString("components", "methodUnavailable")));
-    }
-
-    /**
-     *  @inheritDoc
-     *
-     *  DataGroup manages its own display objects,
-     *  and you should not call swapChildren() directly.
-     *  If you want to add, remove, or swap items around, modify the
-     *  dataProvider.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+        throw(new Error(resourceManager.getString("components", "setChildIndexDataGroupError")));
+    }
+
+    /**
+     *  @private
      */
     override public function swapChildren(child1:DisplayObject, child2:DisplayObject):void
     {
-        throw(new Error(resourceManager.getString("components", "methodUnavailable")));
-    }
-
-    /**
-     *  @inheritDoc
-     *
-     *  DataGroup manages its own display objects,
-     *  and you should not call swapChildrenAt() directly.
-     *  If you want to add, remove, or swap items around, modify the
-     *  dataProvider.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+        throw(new Error(resourceManager.getString("components", "swapChildrenDataGroupError")));
+    }
+
+    /**
+     *  @private
      */
     override public function swapChildrenAt(index1:int, index2:int):void
     {
-        throw(new Error(resourceManager.getString("components", "methodUnavailable")));
+        throw(new Error(resourceManager.getString("components", "swapChildrenAtDataGroupError")));
     }
 }
 }


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

--- frameworks/projects/spark/src/spark/filters/ShaderFilter.as
+++ frameworks/projects/spark/src/spark/filters/ShaderFilter.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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: 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@1285561 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/modules/ModuleLoader.as
+++ frameworks/projects/spark/src/spark/modules/ModuleLoader.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006-2007 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.modules
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19340
Author:   rfrishbe@adobe.com
Date:     2010-12-13T22:16:30.344119Z

Log Message:
-----------
There are a few cleanups here in Button and InteractionStateDetector when in touch interactionMode. I looked at all the places where we set hovered and mouseCaptured and made sure it did the appropriate thing while we're faking the down state if someone does a quick-tap. This included, adding code to deal with getting a rollOut while we're faking the down state.

In addition, this fixes SDK-28868 . Basically the issue is that we get an extra event (rollOut) on a touch device. However, because on rollOut, we were setting hovered = false with transitions off, this would cause a state change (to the same state, but it would do it without transitions).

I discussed this with NJ, and we decided to only not play transitions when a scroll starts (not when the down state is cancelled by rolling out).

QE notes:
Doc notes:
Bugs: SDK-28868
Reviewer: Chiedo
Tests run: checkintests, mustella Button
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/InteractionStateDetector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as
@@ -102,7 +102,16 @@
      *  the renderer was actually selected.
      */
     private var mouseUpDeselectTimer:Timer;
-
+
+	/**
+	 *  @private
+	 *  When faking a mouseDown after a mouse up has occurred, if we get a rollOut
+	 *  event, we don't want to immediately set hovered = false so we can maintain
+	 *  the down state until the mouseUpDeselectTimer is finished.  So we keep track
+	 *  that a rollOut event occurred and honor it later.
+	 */
+	private var rollOutWhileFakingDownState:Boolean = false;
+
     /**
      *  @private
      *  Whether the component using this InteractionStateDetector should
@@ -404,21 +413,24 @@
                 // if the user rolls over while holding the mouse button
                 if (mouseEvent.buttonDown && !mouseCaptured)
                     return;
-
-                // if rolling back over it, turn off transitions
-                if (mouseCaptured)
-                    playTransitions = false;
+
                 hovered = true;
-                playTransitions = true;
+				rollOutWhileFakingDownState = false;
                 break;
             }

             case MouseEvent.ROLL_OUT:
             {
-                // when rolled out, turn off transitions
-                playTransitions = false;
-                hovered = false;
-                playTransitions = true;
+				if (mouseUpDeselectTimer && mouseUpDeselectTimer.running)
+				{
+					// We're trying to flash the down state for longer,
+					// so let's not leave the hovered state just yet
+					rollOutWhileFakingDownState = true;
+				}
+				else
+				{
+					hovered = false;
+				}
                 break;
             }

@@ -458,27 +470,26 @@
                 // If someone mouses up on us, then they must be hovered over
                 // us now.
                 hovered = true;
-
-                if (mouseCaptured)
+
+				if (mouseDownSelectTimer && mouseDownSelectTimer.running)
+				{
+					// We never even flashed the down state for this click operation.
+					// There are two possibilities for being here:
+					//    1) mouseCaptured wasn't set to true (meaning this is the first click)
+					//    2) mouseCaptured was true (meaning a click operation hadn't finished
+					//       and we find ourselves in here again--perhaps it was a doublet tap).
+					// In either case, let's make sure that down state shows up for a little bit
+					// before going back to the up state.
+
+					// stop the original timer, put it in mouse down state, then start a new
+					// timer to undo the mouse down state
+					stopSelectRendererAfterDelayTimer();
+					mouseCaptured = true;
+					startDeselectRendererAfterDelayTimer();
+				}
+				else if (mouseCaptured)
                 {
                     mouseCaptured = false;
-                }
-
-                if (mouseDownSelectTimer && mouseDownSelectTimer.running)
-                {
-                    // We never even flashed the down state for this click operation.
-                    // There are two possibilities for being here:
-                    //    1) mouseCaptured wasn't set to true (meaning this is the first click)
-                    //    2) mouseCaptured was true (meaning a click operation hadn't finished
-                    //       and we find ourselves in here again--perhaps it was a doublet tap).
-                    // In either case, let's make sure that down state shows up for a little bit
-                    // before going back to the up state.
-
-                    // stop the original timer, put it in mouse down state, then start a new
-                    // timer to undo the mouse down state
-                    stopSelectRendererAfterDelayTimer();
-                    mouseCaptured = true;
-                    startDeselectRendererAfterDelayTimer();
                 }

                 break;
@@ -503,7 +514,10 @@
             return;
         }

-        mouseCaptured = false;
+		// If faking down state, let's not interrupt it because of a mouseUp somewhere
+		// else on the screen
+		if (!(mouseUpDeselectTimer && mouseUpDeselectTimer.running))
+			mouseCaptured = false;

         // If the mouseDownSelectTimer is still running,
         // we don't want to ever go in to the down state in this case, so stop it
@@ -544,6 +558,13 @@
     private function mouseUpDeselectTimer_timerCompleteHandler(event:TimerEvent = null):void
     {
         mouseCaptured = false;
+
+		// if we got a rollout, we should honor it now
+		if (rollOutWhileFakingDownState)
+		{
+			rollOutWhileFakingDownState = false;
+			hovered = false;
+		}
     }

     /**


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

--- frameworks/projects/mx/src/mx/accessibility/MenuBarAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/MenuBarAccImpl.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2007 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.accessibility
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5226
Author:   hmuller@adobe.com
Date:     2009-03-10T22:28:07.063836Z

Log Message:
-----------
Added support for dynamic DataGroup dataProvider changes for virtual layouts.

QE Notes:
Doc Notes:
Bugs:
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -859,6 +859,17 @@
      */
      private function updateLLV(layoutTarget:GroupBase):void
      {
+        var contentChangeDeltas:Vector.<int> = layoutTarget.mx_internal::contentChangeDeltas;
+        if (contentChangeDeltas)
+            for(var i:int = 0; i < contentChangeDeltas.length; i++)
+            {
+                var delta:int = contentChangeDeltas[i];
+                if (delta < 0)
+                    llv.remove(-(delta + 1));
+                else
+                    llv.insert(delta - 1);
+            }
+
         var typicalElt:ILayoutElement = typicalLayoutElement;
         if (typicalElt)
         {
@@ -868,7 +879,7 @@
             llv.defaultMajorSize = typicalHeight;
         }
         if (layoutTarget)
-            llv.length = layoutTarget.numElements;
+            llv.length = layoutTarget.numElements;
      }

     /**
@@ -1050,7 +1061,7 @@
         var maxVisibleY:Number = minVisibleY + layoutTarget.height;

         updateLLV(layoutTarget);
-        var startIndex:int = llv.indexOf(minVisibleY);
+        var startIndex:int = llv.indexOf(minVisibleY);

         var fixedRowHeight:Number = NaN;
         if (!variableRowHeight)


Transferred from the Adobe Open Source Subversion Repository

Revision: 2844
Author:   jszeto@adobe.com
Date:     2008-08-14T18:16:44.490871Z

Log Message:
-----------
FXG Bug Fix

SDK-16467 NPE from BitmapGraphic.updateDisplayList if repeat=false but source is not yet defined

Added null check for source in updateDisplayList

Bug: SDK-16467
QA: Yes
Doc: No
Review: Deepa

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as

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

--- frameworks/projects/spark/src/spark/primitives/BitmapImage.as
+++ frameworks/projects/spark/src/spark/primitives/BitmapImage.as
@@ -259,7 +259,7 @@
 		var w:Number = unscaledWidth;
 		var h:Number = unscaledHeight;

-		if (!repeat)
+		if (!repeat && source)
 		{
 			w = Math.min(w, source.width);
 			h = Math.min(h, source.height);


Tweak threshold for customer stream.

Tweak threshold for customer stream.

--- HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
@@ -350,7 +350,7 @@
 		public static var flvLowWaterAudio:uint = 0;
 		public static var flvLowWaterVideo:uint = 0;
 		public static var flvRecoveringIFrame:Boolean = false;
-		public const filterThresholdMs:uint = 5;
+		public const filterThresholdMs:uint = 32;

 		private function clearFLVWaterMarkFilter():void
 		{
@@ -538,4 +538,4 @@
 			_injectingSubtitles = false;
 		}
 	}
-}+}


Single char segment name fails to parse.

If the m3u8 manifest has only a single character:

#EXTM3U
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="keyfile.kbin"
#EXTINF:2,
0
#EXTINF:2,
1

Then it is not parsed and recognized as a segment.

--- src/org/mangui/hls/playlist/Manifest.as
+++ src/org/mangui/hls/playlist/Manifest.as
@@ -143,8 +143,9 @@

             while (i < lines.length) {
                 var line : String = lines[i++];
-                // discard blank line, length could be 0 or 1 if DOS terminated line (CR/LF)
-                if (line.length <= 1) {
+
+                // discard blank line, length could be 0 or if DOS terminated line (CR/LF), only a CR char
+                if (line.length <= 0 || line.indexOf("\r") == 0) {
                     continue;
                 }


Statistics.linearRegression

Statistics.linearRegression


Fixed bug where config.path was null.

Fixed bug where config.path was null.

--- WeaveUI/src/weave/visualization/tools/ExternalTool.as
+++ WeaveUI/src/weave/visualization/tools/ExternalTool.as
@@ -24,7 +24,6 @@
 	import weave.compiler.Compiler;
 	import weave.core.LinkableHashMap;
 	import weave.core.LinkableString;
-	import weave.utils.EventUtils;

 	public class ExternalTool extends LinkableHashMap implements IVisToolWithSelectableAttributes
 	{
@@ -51,16 +50,19 @@

 			toolUrl = requestObject("toolUrl", LinkableString, true);
 			toolUrl.addGroupedCallback(this, toolPropertiesChanged);
-
-			config = new ExternalConfig();
-			config.id = JavaScript.objectID;
-			config.path = WeaveAPI.SessionManager.getPath(WeaveAPI.globalHashMap, this);
-
-			windowName = Compiler.stringify(config);
 		}

 		private function toolPropertiesChanged():void
 		{
+			if (!config)
+			{
+				config = new ExternalConfig();
+				config.id = JavaScript.objectID;
+				config.path = WeaveAPI.SessionManager.getPath(WeaveAPI.globalHashMap, this);
+
+				windowName = Compiler.stringify(config);
+			}
+
 			if (toolUrl.value)
 			{
 				launch();


Fixed a bug in rt system that would cause the player sprite to continue to last player control input after a disable player trigger action.

--- src/engine/tetragon/systems/racetrack/RacetrackSystem.as
+++ src/engine/tetragon/systems/racetrack/RacetrackSystem.as
@@ -134,6 +134,7 @@
 		private var _isJump:Boolean;
 		private var _isFall:Boolean;

+		private var _isPlayerDisabled:Boolean;
 		private var _isIdleAfterCollision:Boolean;
 		private var _suppressDefaultPlayerStates:Boolean;

@@ -258,6 +259,7 @@

 			_enableControls = true;
 			_enableCollision = true;
+			_isPlayerDisabled = false;
 			_suppressDefaultPlayerStates = false;

 			if (_progressSignal) _progressSignal.dispatch(_progress);
@@ -351,7 +353,10 @@
 			updateCars(playerSegment, _playerWidth);

 			/* Handle player interaction. */
-			processPlayerControls(playerSegment);
+			if (!_isPlayerDisabled)
+			{
+				processPlayerControls(playerSegment);
+			}

 			/* Check if the segment the player is on has any triggers. */
 			if (playerSegment.triggersNum > 0)
@@ -529,7 +534,7 @@

 		public function jump():void
 		{
-			if (!_enableControls || _isJump || _speed == 0) return;
+			if (!_enableControls || _isPlayerDisabled || _isJump || _speed == 0) return;
 			_playerJumpHeight = -(_speedPercent * 1.8);
 			_isFall = false;
 			_isJump = true;
@@ -618,6 +623,7 @@
 		public function set racetrack(v:Racetrack):void
 		{
 			_racetrack = v;
+			if (!_racetrack) return;

 			_drawDistance = _racetrack.drawDistance;
 			_roadWidth = _racetrack.roadWidth;
@@ -1300,12 +1306,12 @@
 		 */
 		private function disablePlayer(duration:Number):void
 		{
-			_enableControls = false;
+			_isPlayerDisabled = true;
 			if (duration > 0.0)
 			{
 				_interval = Interval.setTimeOut(duration * 1000, function():void
 				{
-					_enableControls = true;
+					_isPlayerDisabled = false;
 				}, true);
 			}
 		}


Correcting some logging messages.

Correcting some logging messages.

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
@@ -2409,7 +2409,7 @@
 				CONFIG::LOGGING
 				{
 					if(logEveryPacket)
-						logger.debug("Saw super.bufferLength " + super.bufferLength + " < " + bufferFeedMin);
+						logger.debug("Saw super.bufferLength " + super.bufferLength + " >= " + bufferFeedMin);
 				}
 				return;
 			}
@@ -2652,7 +2652,7 @@
 				{
 					CONFIG::LOGGING
 					{
-						logger.warn("Skipping audio due to too low time (" + realTimestamp + " < " + highestAudioTime + ")");
+						logger.warn("Skipping audio tag due to too low time (" + realTimestamp + " < " + highestAudioTime + ")");
 					}
 					return true;
 				}


Transferred from the Adobe Open Source Subversion Repository

Revision: 22700
Author:   deeptika@adobe.com
Date:     2011-09-23T05:17:42.419935Z

Log Message:
-----------
Modified getCellData() to retrieve values of hidden columns

QE notes:
Doc notes:
Bugs: FLEXENT-1480 (Advanced Datagrid with large number of columns cannot access the cell data using GetCellData() operation on hidden columns under horizontal scrollbar)
Reviewer:
Tests run: checkintests, fix tested by support team
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/automation_dmv/src/mx/automation/delegates/advancedDataGrid/AdvancedDataGridAutomationImpl.as

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

--- frameworks/projects/automation_dmv/src/mx/automation/delegates/advancedDataGrid/AdvancedDataGridAutomationImpl.as
+++ frameworks/projects/automation_dmv/src/mx/automation/delegates/advancedDataGrid/AdvancedDataGridAutomationImpl.as
@@ -503,9 +503,11 @@
 			{
 				// this fucntion gets the cell data correspeonding to the cell mentioned by the row Index
 				// and the column Index.
-				var origScrollPos:int = grid1.verticalScrollPosition;
+				var origVScrollPos:int = grid1.verticalScrollPosition;
+				var origHScrollPos:int = grid1.horizontalScrollPosition;
+
 				var  posChanged:Boolean = false;
-				var currentScrollpos:int = origScrollPos;
+				var currentScrollpos:int = origVScrollPos;

@@ -536,9 +538,26 @@
 						var itemDelegate:IAutomationObject = item as IAutomationObject;
 						val= (itemDelegate.automationName);
 					}
+					else
+					{
+						grid1.horizontalScrollPosition = columIndex;
+						posChanged = true;
+						var currentHScrollpos:Number = grid1.horizontalScrollPosition;
+						var newColIndex:int = columIndex-currentHScrollpos;
+						var listItems:Array = grid1.rendererArray;
+						if ((listItems[newRowIndex] as Array).length > newColIndex)
+						{
+							var item:IListItemRenderer = listItems[newRowIndex][newColIndex];
+							var itemDelegate:IAutomationObject = item as IAutomationObject;
+							val= (itemDelegate.automationName);
+						}
+					}
 				}
 				if (posChanged && restorePrevView)
-					grid1.verticalScrollPosition = origScrollPos;
+				{
+					grid1.verticalScrollPosition = origVScrollPos;
+					grid1.horizontalScrollPosition = origHScrollPos;
+				}
 				//  position chaneged and  it is required to set the original scroll pos
 				// hence setting the original pos


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

--- frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as
+++ frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  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
+//
+//      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: 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@1265959 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as
@@ -1,3 +1,21 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+//
+//      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.
+//
+////////////////////////////////////////////////////////////////////////////////
 package spark.skins.mobile.supportClasses
 {
 import flash.display.DisplayObject;