Transferred from the Adobe Open Source Subversion Repository

Revision: 4958
Author:   rfrishbe@adobe.com
Date:     2009-02-13T23:07:46.243121Z

Log Message:
-----------
Change the initialization sequence of FxComponent and Group.  Basically now children (including the skin) should get created at createChildren() time and follow the correct lifecycle pattern.  Unfortunately, this change got mingled in with all my PARB changes, so I'm submitting a bunch of PARB changes for Group, DataGroup, FxContainer, and FxDataContainer, outlined below:

1.     New event classes/names for Group/FxContainer and DataGroup ("elementAdd" and "elementRemove" event of type ElementExistenceEvent for Group/FxContainer and "rendererAdd" and "rendererRemove" event of type RendererExistenceEvent for DataGroup). It was just one event class of ItemExistenceChangedEvent before.
2.     LayoutBase.clipContent->clipAndEnableScrolling (same with IViewport.clipContent and GroupBase.clipContent)
3.     GroupBase.getLayoutELementAt()->getElementAt()
4.     GroupBase.numLayoutElements -> numElements.
5.     LayoutBase.virtualLayout -> useVirtualLayout
6.     ScrollUnit constants are now changed to be uints instead of typed as ScrollUnit.  This means the signature for getHorizontalScrollPositionDelta(unit:ScrollUnit):Number has changed to getHorizontalScrollPositionDelta(scrollUnit:uint):Number (and ditto for getVerticalScrollPositionDelta())
7.  DataGroup.getRendererForItemAt() -> getElementAt()
8.  DataGroup.getItemIndexForRenderer() -> getElementIndex()

Other changes:
 - Change IVisualElement interface so that it's smaller now.  It also extends ILayoutElement now.  The properties removed from IVisualElement are: rotation, rotationX, rotationY, rotationZ, transformX, transformY, offsets, x, y, z, scaleX, scaleY, scaleZ, explicitWidth, explicitMinWidth, explicitMaxWidth, explicitHeight, explicitMinHeight, explicitMaxHeight)
-  Fix in DataGroup so we don’t remove/add elements if we’re gonna do it later anyways.  I also need to do some other work in here around cleaning up of renderers.
- AddItems fix around handling IVisualElementContainers more effeciently
- get mxmlContent now returns a copy of the Array rather than the one we're using internally
- Had to update mustella since there was special case logic for dealing with getLayoutElementAt().  I added this logic for getElementAt(), which replaces that method.

QE Notes: Thanks for changing all the tests and working on the cyclone
Doc Notes: Made some ASDoc changes to some core classes to move the comments into the interfaces.  I did update the comments a bit as well.
Bugs: SDK-18115, SDK-19004
Reviewer: Jason, Glenn, Hans for initialization sequence change and Hans for all PARB changes
tests: checkintests, all mustella tests

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ItemExistenceChangedEvent.as" copyfrom-rev="4812" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ElementExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/TileLayout.as</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/development/eclipse/flex/flex4test/src/layouts/WheelLayout.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/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/RendererExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ItemExistenceChangedEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/ScrollUnit.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/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.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/mustella/mustella.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.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/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.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/components/FxContainer.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -31,7 +31,6 @@
 import flash.geom.Point;
 import flash.geom.Rectangle;
 import flash.geom.Transform;
-import flash.geom.Vector3D;
 import flash.system.ApplicationDomain;
 import flash.text.TextFormatAlign;
 import flash.text.TextLineMetrics;
@@ -55,7 +54,6 @@
 import mx.events.ValidationResultEvent;
 import mx.filters.BaseFilter;
 import mx.filters.IBitmapFilter;
-import mx.geom.CompoundTransform;
 import mx.geom.Transform;
 import mx.geom.TransformOffsets;
 import mx.graphics.RoundedRectangle;
@@ -83,7 +81,6 @@
 import mx.styles.StyleProtoChain;
 import mx.utils.ColorUtil;
 import mx.utils.GraphicsUtil;
-import mx.utils.MatrixUtil;
 import mx.utils.NameUtil;
 import mx.utils.StringUtil;
 import mx.validators.IValidatorListener;
@@ -1066,7 +1063,7 @@
     public function UIComponent()
     {
         super();
-
+
         // Override  variables in superclasses.
         focusRect = false; // We do our own focus drawing.
         tabEnabled = (this is IFocusManagerComponent);
@@ -2231,8 +2228,7 @@
     [Inspectable(category="General", defaultValue="true")]

     /**
-     *  Controls the visibility of this UIComponent. If true,
-     *  the object is visible.
+     *  @inheritDoc
      *
      *
When setting to true, the object will dispatch
      *  a show event.
@@ -2241,8 +2237,6 @@
      *  In either case the children of the object will not emit a
      *  show or hide event unless the object
      *  has specifically written an implementation to do so.

-     *
-     *  @default true
      */
     override public function get visible():Boolean
     {
@@ -4427,14 +4421,7 @@
     [Inspectable(category="General", defaultValue="true")]

     /**
-     *  Specifies whether this component is included in the layout of the
-     *  parent container.
-     *  If true, the object is included in its parent container's
-     *  layout.  If false, the object is positioned by its parent
-     *  container as per its layout rules, but it is ignored for the purpose of
-     *  computing the position of the next child.
-     *
-     *  @default true
+     *  @inheritDoc
      */
     public function get includeInLayout():Boolean
     {
@@ -4772,15 +4759,7 @@
     //----------------------------------

     /**
-     *  The y-coordinate of the baseline
-     *  of the first line of text of the component.
-     *
-     *
This property is used to implement
-     *  the baseline constraint style.
-     *  It is also used to align the label of a FormItem
-     *  with the controls in the FormItem.

-     *
-     *
Each component should override this property.

+     *  @inheritDoc
      */
     public function get baselinePosition():Number
     {
@@ -10129,12 +10108,7 @@
     }

     /**
-     * Determines the order in which items inside of groups are rendered. Groups order their items based on their layer property, with the lowest layer
-     * in the back, and the higher in the front.  items with the same layer value will appear in the order they are added to the Groups item list.
-     *
-     * defaults to 0
-     *
-     * @default 0
+     * @inheritDoc
      */
     public function get layer():Number
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7573
Author:   gosmith@adobe.com
Date:     2009-06-05T06:20:06.217095Z

Log Message:
-----------
More changes to text styles.

The global selector for Flex 4 now sets the default value for 'kerning' to "off" instead of false. The legal values in Halo components are true and false. The legal values in Spark components are "on", "off", and "auto". In order to support any of these five values in a selector that affects both Halo and Spark components, Halo components map "on" and "auto" to true and "off" to false, and Spark components map true to "on" and false to "off".

We will decide later whether to switch the default to "auto", which is FTE and TLF's default.

The global selector for Flex 4 now sets the default value for 'textAlign' to "start" instead of "left". The legal values in Halo components are "left", "center", "right", and "justify", but Spark components add "start" and "end" to support RTL text. In order to support any of these six values in a selector that affects both Halo and Spark components, Halo components map "start" to "left" and "end" to "right".

QE Notes: Some tests may need updating due to these changes.
Doc Notes: None
Bugs: SDK-21624
Reviewer: Carol

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

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

--- frameworks/projects/framework/src/mx/core/UITextField.as
+++ frameworks/projects/framework/src/mx/core/UITextField.as
@@ -2087,13 +2087,14 @@
     {
         var textFormat:TextFormat = new TextFormat();

-        // Not all flex4 textAlign values are valid so convert to a valid one.
-        var align:String = getStyle("textAlign");
-        if (align == "start")
-            align = TextFormatAlign.LEFT;
-        else if (align == "end")
-            align = TextFormatAlign.RIGHT;
-        textFormat.align = align;
+        var textAlign:String = getStyle("textAlign");
+        // Map new Spark values that might be set in a selector
+		// affecting both Halo and Spark components.
+        if (textAlign == "start")
+            textAlign = TextFormatAlign.LEFT;
+        else if (textAlign == "end")
+            textAlign = TextFormatAlign.RIGHT;
+        textFormat.align = textAlign;
         textFormat.bold = getStyle("fontWeight") == "bold";
         if (enabled)
         {
@@ -2109,7 +2110,14 @@
         textFormat.font = StringUtil.trimArrayElements(getStyle("fontFamily"),",");
         textFormat.indent = getStyle("textIndent");
         textFormat.italic = getStyle("fontStyle") == "italic";
-        textFormat.kerning = getStyle("kerning");
+		var kerning:* = getStyle("kerning");
+        // Map new Spark values that might be set in a selector
+		// affecting both Halo and Spark components.
+		if (kerning == "auto" || kerning == "on")
+			kerning = true;
+		else if (kerning == "off")
+			kerning = false;
+        textFormat.kerning = kerning;
         textFormat.leading = getStyle("leading");
         textFormat.leftMargin = ignorePadding ? 0 : getStyle("paddingLeft");
         textFormat.letterSpacing = getStyle("letterSpacing");


Transferred from the Adobe Open Source Subversion Repository

Revision: 6260
Author:   rfrishbe@adobe.com
Date:     2009-04-24T22:08:41.005574Z

Log Message:
-----------
Automation assumed that a component implemented both IUIComponent and IAutomationObject; however, we'd like to automate FlexNativeMenu and FNM doesn't implement IUIComponent.  The properties automation needed from IUIComponent, were enabled, parent, owner, and visible.  We now have properties on IAutomationObject called automationEnabled, automationParent, automationOwner, and automationVisible for this purpose.  Now automation only needs to rely on IAutomationObject.

QE Notes: -
Doc Notes: -
Bugs: SDK-20488
Reviewer: Evtim
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.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/automation/IAutomationObject.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_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.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/airframework/src/mx/controls/FlexNativeMenu.as</path>

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

--- frameworks/projects/framework/src/mx/core/UITextField.as
+++ frameworks/projects/framework/src/mx/core/UITextField.as
@@ -551,6 +551,74 @@

         return [""];
     }
+
+    //----------------------------------
+    //  automationOwner
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    public function get automationOwner():DisplayObjectContainer
+    {
+        return owner;
+    }
+
+    //----------------------------------
+    //  automationParent
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    public function get automationParent():DisplayObjectContainer
+    {
+        return parent;
+    }
+
+    //----------------------------------
+    //  automationEnabled
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    public function get automationEnabled():Boolean
+    {
+        return enabled;
+    }
+
+    //----------------------------------
+    //  automationVisible
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    public function get automationVisible():Boolean
+    {
+        return visible;
+    }

     //----------------------------------
     //  baselinePosition


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/effects/Sequence.as
+++ frameworks/projects/framework/src/mx/effects/Sequence.as
@@ -72,6 +72,11 @@
  *  @see mx.effects.effectClasses.SequenceInstance
  *
  *  @includeExample examples/SequenceEffectExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Sequence extends CompositeEffect
 {
@@ -88,6 +93,11 @@
 	 *
 	 *  @param target This argument is ignored for Sequence effects.
 	 *  It is included only for consistency with other types of effects.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function Sequence(target:Object = null)
 	{
@@ -116,6 +126,11 @@
      *
      * Sequence calculates this number to be the duration of each
      * child effect, played one after the other.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function get compositeDuration():Number
     {


Added utility method

Added utility method

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/CollectionUtil.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/CollectionUtil.as
@@ -1,75 +1,80 @@
-package org.openforis.collect.util
-{
-	import mx.collections.ArrayCollection;
-	import mx.collections.IList;
-
-	import org.granite.collections.IMap;
-
-	/**
-	 *
-	 * @author S. Ricci
-	 *
-	 */
-	public class CollectionUtil {
-
-		public static function isEmpty(list:IList):Boolean {
-			return list == null || list.length == 0;
-		}
-
-		public static function isNotEmpty(list:IList):Boolean {
-			return ! isEmpty(list);
-		}
-
-		public static function addAll(list:IList, addList:IList):void {
-			for each(var item:Object in addList) {
-				list.addItem(item);
-			}
-		}
-
-		public static function getItem(list:IList, propertyName:String, value:Object):Object {
-			for each(var item:Object in list) {
-				if(ObjectUtil.getValue(item, propertyName) == value) {
-					return item;
-				}
-			}
-			return null;
-		}
-
-		public static function getItemIndex(list:IList, propertyName:String, value:Object):int {
-			for(var index:int = 0; index < list.length; index ++) {
-				var item:Object = list.getItemAt(index);
-				if(ObjectUtil.getValue(item, propertyName) == value) {
-					return index;
-				}
-			}
-			return -1;
-		}
-
-		public static function removeItem(list:IList, item:Object):int {
-			var index:int = list.getItemIndex(item);
-			if(index >= 0) {
-				list.removeItemAt(index);
-			}
-			return index;
-		}
-
-		public static function moveItem(list:IList, item:Object, newIndex:int):void {
-			var oldIndex:int = removeItem(list, item);
-			var index:int;
-			if(oldIndex > newIndex) {
-				index = newIndex;
-			} else if(newIndex > 0) {
-				index = newIndex - 1;
-			} else {
-				index = 0;
-			}
-			list.addItemAt(item, index);
-		}
-
-		public static function contains(list:IList, item:Object):Boolean {
-			var idx:int = list.getItemIndex(item);
-			return idx >= 0;
-		}
-
-	}
+package org.openforis.collect.util
+{
+	import mx.collections.ArrayCollection;
+	import mx.collections.IList;
+
+	import org.granite.collections.IMap;
+
+	/**
+	 *
+	 * @author S. Ricci
+	 *
+	 */
+	public class CollectionUtil {
+
+		public static function isEmpty(list:IList):Boolean {
+			return list == null || list.length == 0;
+		}
+
+		public static function isNotEmpty(list:IList):Boolean {
+			return ! isEmpty(list);
+		}
+
+		public static function addAll(list:IList, addList:IList):void {
+			for each(var item:Object in addList) {
+				list.addItem(item);
+			}
+		}
+
+		public static function getItem(list:IList, propertyName:String, value:Object):Object {
+			for each(var item:Object in list) {
+				if(ObjectUtil.getValue(item, propertyName) == value) {
+					return item;
+				}
+			}
+			return null;
+		}
+
+		public static function getItemIndex(list:IList, propertyName:String, value:Object):int {
+			for(var index:int = 0; index < list.length; index ++) {
+				var item:Object = list.getItemAt(index);
+				if(ObjectUtil.getValue(item, propertyName) == value) {
+					return index;
+				}
+			}
+			return -1;
+		}
+
+		public static function removeItem(list:IList, item:Object):int {
+			var index:int = list.getItemIndex(item);
+			if(index >= 0) {
+				list.removeItemAt(index);
+			}
+			return index;
+		}
+
+		public static function moveItem(list:IList, item:Object, newIndex:int):void {
+			var oldIndex:int = removeItem(list, item);
+			var index:int;
+			if(oldIndex > newIndex) {
+				index = newIndex;
+			} else if(newIndex > 0) {
+				index = newIndex - 1;
+			} else {
+				index = 0;
+			}
+			list.addItemAt(item, index);
+		}
+
+		public static function contains(list:IList, item:Object):Boolean {
+			var idx:int = list.getItemIndex(item);
+			return idx >= 0;
+		}
+
+		public static function containsItemWith(list:IList, propertyName:String, value:*):Boolean {
+			var item:Object = getItem(list, propertyName, value);
+			return item != null;
+		}
+
+	}
 }


Replacing Math.min/max with ifs/ternaries

--- raw/src/org/yellcorp/lib/geom/curves/QuadBezier.as
+++ raw/src/org/yellcorp/lib/geom/curves/QuadBezier.as
@@ -149,10 +149,10 @@

     public function boundingBox(out:Rectangle):Rectangle
     {
-        var minX:Number = Math.min(p0.x, p2.x);
-        var maxX:Number = Math.max(p0.x, p2.x);
-        var minY:Number = Math.min(p0.y, p2.y);
-        var maxY:Number = Math.max(p0.y, p2.y);
+        var minX:Number = p0.x < p2.x ? p0.x : p2.x;
+        var maxX:Number = p0.x > p2.x ? p0.x : p2.x;
+        var minY:Number = p0.y < p2.y ? p0.y : p2.y;
+        var maxY:Number = p0.y > p2.y ? p0.y : p2.y;

         var xtExtrema:Number = (p0.x - p1.x) / (p0.x - 2 * p1.x + p2.x);
         var ytExtrema:Number = (p0.y - p1.y) / (p0.y - 2 * p1.y + p2.y);
@@ -163,15 +163,15 @@
         if (xtExtrema > 0 && xtExtrema < 1)
         {
             xExtrema = sampleX(xtExtrema);
-            minX = Math.min(minX, xExtrema);
-            maxX = Math.max(maxX, xExtrema);
+            if (xExtrema < minX)  minX = xExtrema;
+            if (xExtrema > maxX)  maxX = xExtrema;
         }

         if (ytExtrema > 0 && ytExtrema < 1)
         {
             yExtrema = sampleY(ytExtrema);
-            minY = Math.min(minY, yExtrema);
-            maxY = Math.max(maxY, yExtrema);
+            if (yExtrema < minY)  minY = yExtrema;
+            if (yExtrema > maxY)  maxY = yExtrema;
         }

         out.x = minX;


Transferred from the Adobe Open Source Subversion Repository

Revision: 14483
Author:   smgilson@adobe.com
Date:     2010-03-01T19:01:18.459430Z

Log Message:
-----------
merge 14456: Adding ASDoc version tags classes

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkRangeAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkRadioButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkPanelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarAutomationImpl.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirFunctionsHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSkinnableContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkValueChangeAutomationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkNavigatorContentAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTrackBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/events/EventDetails.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkListItemSelectEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTabBarAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableContainerBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkMuteButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirDragManagerAutomationHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTextBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTitleWindowAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTileGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkToggleButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSpinnerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccConst.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkLabelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkBorderContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkGroupBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkVideoPlayerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableComponentAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/events/SparkListItemSelectEvent.as
+++ frameworks/projects/automation_spark/src/spark/automation/events/SparkListItemSelectEvent.as
@@ -11,296 +11,296 @@

 package spark.automation.events
 {
-
-	import flash.events.Event;
-
-	import spark.components.IItemRenderer;
-
-	/**
-	 *  The SparkListItemSelectEvent class represents event objects that are dispatched
-	 *  when an item in a list-based control such as a Menu,
-	 *  DataGrid, or Tree control is selected or deselected.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 4
-	 */
-	public class SparkListItemSelectEvent extends Event
-	{
-		include "../../core/Version.as";
-
-		//--------------------------------------------------------------------------
-		//
-		//  Class constants
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  The SparkListItemSelectEvent.SELECT constant defines the value of the
-		 *  type property of the event object for an event that is
-		 *  dispatched when a single item is selected.
-		 *
-		 *
The properties of the event object have the following values.
-		 *  Not all properties are meaningful for all kinds of events.
-		 *  See the detailed property descriptions for more information.

-		 *

-		 *
Property	Value

-		 *
altKey	Boolean value indicating whether
-		 *              the Alt key was pressed at the time of the event.

-		 *
bubbles	false

-		 *
cancelable	false

-		 *
ctrlKey	Boolean value indicating whether
-		 *              the Ctrl key was pressed at the time of the event.

-		 *
currentTarget	The Object that defines the
-		 *       event listener that handles the event. For example, if you use
-		 *       myButton.addEventListener() to register an event listener,
-		 *       myButton is the value of the currentTarget.

-		 *
itemRenderer	The item renderer object
-		 *              for the item.

-		 *
shiftKey	Boolean value indicating whether
-		 *              the Shift key was pressed at the time of the event.

-		 *
target	The Object that dispatched the event;
-		 *       it is not always the Object listening for the event.
-		 *       Use the currentTarget property to always access the
-		 *       Object listening for the event.

-		 *
triggerEvent	The event, such as a
-		 *             mouse or keyboard event, that triggered the action.

-		 *
type	SparkListItemSelectEvent.SELECT

-		 *

-		 *
-		 *  @eventType select
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public static const SELECT:String = "select";
-
-		/**
-		 *  The SparkListItemSelectEvent.SELECT_INDEX constant defines the value of the
-		 *  type property of the event object for an event that is
-		 *  dispatched when an item's index is selected.
-		 *
-		 *
The properties of the event object have the following values.
-		 *  Not all properties are meaningful for all kinds of events.
-		 *  See the detailed property descriptions for more information.

-		 *

-		 *
Property	Value

-		 *
altKey	Boolean value indicating whether
-		 *              the Alt key was pressed at the time of the event.

-		 *
bubbles	false

-		 *
cancelable	false

-		 *
ctrlKey	Boolean value indicating whether
-		 *              the Ctrl key was pressed at the time of the event.

-		 *
currentTarget	The Object that defines the
-		 *       event listener that handles the event. For example, if you use
-		 *       myButton.addEventListener() to register an event listener,
-		 *       myButton is the value of the currentTarget.

-		 *
itemIndex	The data provider index of
-		 *              the item to be selected.

-		 *
shiftKey	Boolean value indicating whether
-		 *              the Shift key was pressed at the time of the event.

-		 *
target	The Object that dispatched the event;
-		 *       it is not always the Object listening for the event.
-		 *       Use the currentTarget property to always access the
-		 *       Object listening for the event.

-		 *
triggerEvent	The event, such as a
-		 *             mouse or keyboard event, that triggered the action.

-		 *
type	SparkListItemSelectEvent.SELECT_INDEX

-		 *

-		 *
-		 *  @eventType select
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public static const SELECT_INDEX:String = "selectIndex";
-
-		//--------------------------------------------------------------------------
-		//
-		//  Constructor
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Constructor.
-		 *  Normally called by the Flex control and not used in application code.
-		 *
-		 *  @param type The event type; indicates the action that caused the event.
-		 *
-		 *  @param bubbles Specifies whether the event can bubble
-		 *  up the display list hierarchy.
-		 *
-		 *  @param cancelable Specifies whether the behavior
-		 *  associated with the event can be prevented.
-		 *
-		 *  @param itemRenderer The item renderer object for the item.
-		 *
-		 *  @param triggerEvent The event, such as a mouse or keyboard event, that
-		 *              triggered the selection action.
-		 *
-		 *  @param altKey Whether the Alt key was pressed at the time of the event.
-		 *
-		 *  @param ctrlKey Whether the Ctrl key was pressed at the time of the event.
-		 *
-		 *  @param shiftKey Whether the Shift key was pressed at the time of the event.
-		 *
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public function SparkListItemSelectEvent(type:String, bubbles:Boolean = false,
-											cancelable:Boolean = false,
-											itemRenderer:IItemRenderer = null,
-											triggerEvent:Event = null,
-											ctrlKey:Boolean = false,
-											altKey:Boolean = false,
-											shiftKey:Boolean = false)
-		{
-			super(type, bubbles, cancelable);
-
-			this.itemRenderer = itemRenderer;
-			this.triggerEvent = triggerEvent;
-			this.ctrlKey = ctrlKey;
-			this.altKey = altKey;
-			this.shiftKey = shiftKey;
-		}
-
-		//--------------------------------------------------------------------------
-		//
-		//  Properties
-		//
-		//--------------------------------------------------------------------------
-
-		//----------------------------------
-		//  altKey
-		//----------------------------------
-
-		/**
-		 *  Indicates whether the Alt key was pressed at the time of the event, true,
-		 *  or not, false.
-		 *
-		 *  @default false
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public var altKey:Boolean;
-
-		//----------------------------------
-		//  ctrlKey
-		//----------------------------------
-
-		/**
-		 *  Indicates whether the Ctrl key was pressed at the time of the event, true,
-		 *  or not, false.
-		 *
-		 *  @default false
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public var ctrlKey:Boolean;
-
-		//----------------------------------
-		//  triggerEvent
-		//----------------------------------
-
-		/**
-		 *  Event that triggered the item selection event,
-		 *  such as a keyboard or mouse event.
-		 *
-		 *  @default null
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public var triggerEvent:Event;
-
-		//----------------------------------
-		//  itemRenderer
-		//----------------------------------
-
-		/**
-		 *  Item renderer object for the item being selected or deselected.
-		 *  You can access the cell data using this property.
-		 *
-		 *  @default null
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public var itemRenderer:IItemRenderer;
-
-		//----------------------------------
-		//  shiftKey
-		//----------------------------------
-
-		/**
-		 *  Indicates whether the Shift key was pressed at the time of the event, true,
-		 *  or not, false.
-		 *
-		 *  @default false
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public var shiftKey:Boolean;
-
-
-		/**
-		 *  The automationValue string of the item to be selected.
-		 *  This is used when the item to be selected is not visible in the control.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public var itemAutomationValue:String;
-
-
-		/**
-		 *  The data provider index of the item to be selected.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public var itemIndex:uint;
-
-		//--------------------------------------------------------------------------
-		//
-		//  Overridden methods: Event
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  @private
-		 */
-		override public function clone():Event
-		{
-			return new SparkListItemSelectEvent(type, bubbles, cancelable,
-				itemRenderer,  triggerEvent,
-				ctrlKey, altKey, shiftKey);
-		}
-	}
-
+
+    import flash.events.Event;
+
+    import spark.components.IItemRenderer;
+
+    /**
+     *  The SparkListItemSelectEvent class represents event objects that are dispatched
+     *  when an item in a list-based control such as a Menu,
+     *  DataGrid, or Tree control is selected or deselected.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public class SparkListItemSelectEvent extends Event
+    {
+        include "../../core/Version.as";
+
+        //--------------------------------------------------------------------------
+        //
+        //  Class constants
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  The SparkListItemSelectEvent.SELECT constant defines the value of the
+         *  type property of the event object for an event that is
+         *  dispatched when a single item is selected.
+         *
+         *
The properties of the event object have the following values.
+         *  Not all properties are meaningful for all kinds of events.
+         *  See the detailed property descriptions for more information.

+         *

+         *
Property	Value

+         *
altKey	Boolean value indicating whether
+         *              the Alt key was pressed at the time of the event.

+         *
bubbles	false

+         *
cancelable	false

+         *
ctrlKey	Boolean value indicating whether
+         *              the Ctrl key was pressed at the time of the event.

+         *
currentTarget	The Object that defines the
+         *       event listener that handles the event. For example, if you use
+         *       myButton.addEventListener() to register an event listener,
+         *       myButton is the value of the currentTarget.

+         *
itemRenderer	The item renderer object
+         *              for the item.

+         *
shiftKey	Boolean value indicating whether
+         *              the Shift key was pressed at the time of the event.

+         *
target	The Object that dispatched the event;
+         *       it is not always the Object listening for the event.
+         *       Use the currentTarget property to always access the
+         *       Object listening for the event.

+         *
triggerEvent	The event, such as a
+         *             mouse or keyboard event, that triggered the action.

+         *
type	SparkListItemSelectEvent.SELECT

+         *

+         *
+         *  @eventType select
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static const SELECT:String = "select";
+
+        /**
+         *  The SparkListItemSelectEvent.SELECT_INDEX constant defines the value of the
+         *  type property of the event object for an event that is
+         *  dispatched when an item's index is selected.
+         *
+         *
The properties of the event object have the following values.
+         *  Not all properties are meaningful for all kinds of events.
+         *  See the detailed property descriptions for more information.

+         *

+         *
Property	Value

+         *
altKey	Boolean value indicating whether
+         *              the Alt key was pressed at the time of the event.

+         *
bubbles	false

+         *
cancelable	false

+         *
ctrlKey	Boolean value indicating whether
+         *              the Ctrl key was pressed at the time of the event.

+         *
currentTarget	The Object that defines the
+         *       event listener that handles the event. For example, if you use
+         *       myButton.addEventListener() to register an event listener,
+         *       myButton is the value of the currentTarget.

+         *
itemIndex	The data provider index of
+         *              the item to be selected.

+         *
shiftKey	Boolean value indicating whether
+         *              the Shift key was pressed at the time of the event.

+         *
target	The Object that dispatched the event;
+         *       it is not always the Object listening for the event.
+         *       Use the currentTarget property to always access the
+         *       Object listening for the event.

+         *
triggerEvent	The event, such as a
+         *             mouse or keyboard event, that triggered the action.

+         *
type	SparkListItemSelectEvent.SELECT_INDEX

+         *

+         *
+         *  @eventType select
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static const SELECT_INDEX:String = "selectIndex";
+
+        //--------------------------------------------------------------------------
+        //
+        //  Constructor
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Constructor.
+         *  Normally called by the Flex control and not used in application code.
+         *
+         *  @param type The event type; indicates the action that caused the event.
+         *
+         *  @param bubbles Specifies whether the event can bubble
+         *  up the display list hierarchy.
+         *
+         *  @param cancelable Specifies whether the behavior
+         *  associated with the event can be prevented.
+         *
+         *  @param itemRenderer The item renderer object for the item.
+         *
+         *  @param triggerEvent The event, such as a mouse or keyboard event, that
+         *              triggered the selection action.
+         *
+         *  @param altKey Whether the Alt key was pressed at the time of the event.
+         *
+         *  @param ctrlKey Whether the Ctrl key was pressed at the time of the event.
+         *
+         *  @param shiftKey Whether the Shift key was pressed at the time of the event.
+         *
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public function SparkListItemSelectEvent(type:String, bubbles:Boolean = false,
+                                            cancelable:Boolean = false,
+                                            itemRenderer:IItemRenderer = null,
+                                            triggerEvent:Event = null,
+                                            ctrlKey:Boolean = false,
+                                            altKey:Boolean = false,
+                                            shiftKey:Boolean = false)
+        {
+            super(type, bubbles, cancelable);
+
+            this.itemRenderer = itemRenderer;
+            this.triggerEvent = triggerEvent;
+            this.ctrlKey = ctrlKey;
+            this.altKey = altKey;
+            this.shiftKey = shiftKey;
+        }
+
+        //--------------------------------------------------------------------------
+        //
+        //  Properties
+        //
+        //--------------------------------------------------------------------------
+
+        //----------------------------------
+        //  altKey
+        //----------------------------------
+
+        /**
+         *  Indicates whether the Alt key was pressed at the time of the event, true,
+         *  or not, false.
+         *
+         *  @default false
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public var altKey:Boolean;
+
+        //----------------------------------
+        //  ctrlKey
+        //----------------------------------
+
+        /**
+         *  Indicates whether the Ctrl key was pressed at the time of the event, true,
+         *  or not, false.
+         *
+         *  @default false
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public var ctrlKey:Boolean;
+
+        //----------------------------------
+        //  triggerEvent
+        //----------------------------------
+
+        /**
+         *  Event that triggered the item selection event,
+         *  such as a keyboard or mouse event.
+         *
+         *  @default null
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public var triggerEvent:Event;
+
+        //----------------------------------
+        //  itemRenderer
+        //----------------------------------
+
+        /**
+         *  Item renderer object for the item being selected or deselected.
+         *  You can access the cell data using this property.
+         *
+         *  @default null
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public var itemRenderer:IItemRenderer;
+
+        //----------------------------------
+        //  shiftKey
+        //----------------------------------
+
+        /**
+         *  Indicates whether the Shift key was pressed at the time of the event, true,
+         *  or not, false.
+         *
+         *  @default false
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public var shiftKey:Boolean;
+
+
+        /**
+         *  The automationValue string of the item to be selected.
+         *  This is used when the item to be selected is not visible in the control.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public var itemAutomationValue:String;
+
+
+        /**
+         *  The data provider index of the item to be selected.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public var itemIndex:uint;
+
+        //--------------------------------------------------------------------------
+        //
+        //  Overridden methods: Event
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  @private
+         */
+        override public function clone():Event
+        {
+            return new SparkListItemSelectEvent(type, bubbles, cancelable,
+                itemRenderer,  triggerEvent,
+                ctrlKey, altKey, shiftKey);
+        }
+    }
+
 }


Add methods to emitter to manage particles

--- src/org/flintparticles/common/emitters/Emitter.as
+++ src/org/flintparticles/common/emitters/Emitter.as
@@ -628,7 +628,7 @@
 		public function set particles( value:Vector.<Particle> ):void
 		{
 			killAllParticles();
-			addExistingParticles( value, false );
+			addParticles( value, false );
 		}

 		/**
@@ -672,6 +672,28 @@
 		{
 		}

+		public function addParticle( particle:Particle, applyInitializers:Boolean = false ):void
+		{
+			if( applyInitializers )
+			{
+				var len:int = _initializers.length;
+				for ( var i:int = 0; i < len; ++i )
+				{
+					_initializers[i].initialize( this, particle );
+				}
+			}
+			_particles.push( particle );
+			if ( hasEventListener( ParticleEvent.PARTICLE_ADDED ) )
+			{
+				dispatchEvent( new ParticleEvent( ParticleEvent.PARTICLE_ADDED, particle ) );
+			}
+		}
+
+		public function addExistingParticles( particles:Vector.<Particle>, applyInitializers:Boolean = false ):void
+		{
+			addParticles( particles, applyInitializers );
+		}
+
 		/**
 		 * Adds existing particles to the emitter. This enables users to create
 		 * particles externally to the emitter and then pass the particles to the
@@ -681,7 +703,7 @@
 		 * @param applyInitializers Indicates whether to apply the emitter's
 		 * initializer behaviours to the particle (true) or not (false).
 		 */
-		public function addExistingParticles( particles:Vector.<Particle>, applyInitializers:Boolean = false ):void
+		public function addParticles( particles:Vector.<Particle>, applyInitializers:Boolean = false ):void
 		{
 			var len:int = particles.length;
 			var i:int;
@@ -692,7 +714,7 @@
 				{
 					for ( i = 0; i < len; ++i )
 					{
-						Initializer( _initializers[j] ).initialize( this, particles[i] );
+						_initializers[j].initialize( this, particles[i] );
 					}
 				}
 			}
@@ -709,6 +731,29 @@
 				for ( i = 0; i < len; ++i )
 				{
 					_particles.push( particles[i] );
+				}
+			}
+		}
+
+		public function removeParticle( particle:Particle ):Boolean
+		{
+			var index:int = _particles.indexOf( particle );
+			if( index != -1 )
+			{
+				_particles.splice( index, 1 );
+				return true;
+			}
+			return false;
+		}
+
+		public function removeParticles( particles:Vector.<Particle> ):void
+		{
+			for( var i:int = 0, len:int = particles.length; i < len; ++i )
+			{
+				var index:int = _particles.indexOf( particles[i] );
+				if( index != -1 )
+				{
+					_particles.splice( index, 1 );
 				}
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 12733
Author:   smgilson@adobe.com
Date:     2009-12-09T18:19:48.608649Z

Log Message:
-----------
ASDoc l10n prep

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/treeClasses/MXTreeItemRenderer.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/framework/src/mx/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IRepeater.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/listClasses/MXItemRenderer.as</path>

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 8723
Author:   chaase@adobe.com
Date:     2009-07-21T23:19:39.441122Z

Log Message:
-----------
Fixed 2 areas of effects bugs (playheadTime and transform effects shared instances). Also fixed bug in GraphicElement.localToGlobal(). Fixes remaining transform effects bugs prior to feature signoff.

QE Notes: None
Doc Notes: None
Bugs: SDK-22315, sdk-22304, sdk-22302, sdk-21931, sdk-21068, sdk-20179, sdk-21069
Reviewer: Hans, Jason (GraphicElement), Glenn (SharedObjectDepot)
API Change: None
Is noteworthy for integration: No
tests: checkintests mustella spark/effects,mx/effects (run locally and in cyclone by Matt)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/CompositeEffectInstance.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/framework/src/mx/effects/EffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/SharedObjectDepot.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/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>

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

--- frameworks/projects/framework/src/mx/effects/Effect.as
+++ frameworks/projects/framework/src/mx/effects/Effect.as
@@ -935,14 +935,15 @@
     // playheadTime
     //----------------------------------

-    // FIXME (chaase): This property should be in an interface, to
-    // allow it to be called easily through an interface instead of
-    // having to import Effect just to call it
-    // FIXME (chaase): This property should be in an interface, to
-    // allow it to be called easily through an interface instead of
-    // having to import Effect just to call it. Maybe add to IEffect
-    // since it's unlikely that anyone implements that interface
-    // besides Effect.
+    /**
+     * @private
+     * Backing storage for the playheadTime property. Note that this
+     * value is just a backup, used if the effect is not currently running.
+     * A running effect will query its effect instance for the value
+     * instead.
+     */
+    private var _playheadTime:Number = 0;
+
     /**
      *  Current time position of the effect.
      *  This property has a value between 0 and the total duration,
@@ -961,7 +962,8 @@
             if (_instances[i])
                 return IEffectInstance(_instances[i]).playheadTime;
         }
-        return 0;
+        // Effect isn't running: return the cached value
+        return _playheadTime;
     }
     public function set playheadTime(value:Number):void
     {
@@ -985,6 +987,7 @@
         }
         if (started)
             pause();
+        _playheadTime = value;
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 3451
Author:   egreenfi@adobe.com
Date:     2008-10-02T05:10:18.410127Z

Log Message:
-----------
- UIComponents, GraphicElements's matrix used for layout calculations, and set by the parent layouts, is now decoupled from the actual layout used by the flash player for rendering.
- Both UIComponents an d GraphicElements can be handed a TransformOffset object. The transformOffset allows developers to specify adjustments to the transform as defined by the compoennts parent layout.
- 3D properties on components and graphic elements are now supported.  Setting a 3D property or a 3D matrix on a component or element will affect it visually, but the 2D layouts will continue to lay out as though only the 2D portion of their layout is applied.
- transformX,Y,Z now fully supported on components and elements.  For layouts that don't try and set the post transform bounds (i.e., absolute layout without constraints), the layout scale and rotation will be centered on this point.  The offset transform will also be centered around this point.
- layering is now decoupled from item order.  By default, components now render in order based on the value of their 'layer' property.  All components' layers default to 0.  components with the same layer render in the order they appear in their parent group's item list.
- setting transform.matrix on UIComponent is now supported, and is roughly the same as setting the convenience layout properties on the component.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/.flexProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/ITransformable.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/.actionScriptProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/LayoutItemUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/framework/.actionScriptProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4/.flexLibProperties</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom</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/flex4/src/flex/graphics/Parser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/framework/.flexLibProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4/.actionScriptProperties</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/geom/Transform.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/geom/Transform.as" copyfrom-rev="3342" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.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/flex4/src/flex/graphics/TransformUtil.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/TransformOffset.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/fxg-manifest.xml</path>

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

--- frameworks/projects/framework/src/mx/geom/Transform.as
+++ frameworks/projects/framework/src/mx/geom/Transform.as
@@ -1,4 +1,4 @@
-package flex.geom
+package mx.geom
 {
 	import flash.geom.ColorTransform;
 	import flash.geom.Matrix;
@@ -10,19 +10,19 @@
 	import flash.events.IEventDispatcher;

 	import mx.events.PropertyChangeEvent;
+	import flash.display.DisplayObject;

 	public class Transform extends flash.geom.Transform implements IEventDispatcher
 	{
 		private var dispatcher:EventDispatcher;
-		private var _shape:Shape;

-		public function Transform()
+		public function Transform(src:DisplayObject = null)
 		{
 			dispatcher = new EventDispatcher();

-			_shape = new Shape();
-			super(_shape);
-
+			if(src == null)
+				src = new Shape();
+			super(src);
 		}

 		[Bindable("propertyChange")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 18150
Author:   dloverin@adobe.com
Date:     2010-10-14T13:11:14.955602Z

Log Message:
-----------
Fix scrolling issues with item editors and add editorIndicator skin part.

The editorIndicator is a skin part that provides a background for an item renderer when it is being edited. It will cover the selection indicator for that cell which will allow the focus rectangle to be easily seen.

QE notes: Close, but still not ready for testing.
Doc notes: None.
Bugs:
Reviewer: Hans
Tests run: cyclone server
Is noteworthy for integration: No.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/DataGridEditor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/TextGridItemEditor.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/ComboBoxGridItemEditor.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -243,7 +243,7 @@
     public var selectionLayer:GridLayer;
     public var rendererLayer:GridLayer;
     public var overlayLayer:GridLayer;
-
+    public var editorIndicatorLayer:GridLayer;

     //--------------------------------------------------------------------------
     //
@@ -268,8 +268,9 @@
         selectionLayer = new GridLayer();
         rendererLayer = new GridLayer(this);
         overlayLayer = new GridLayer();
-
-        for each (var layer:GridLayer in [backgroundLayer, selectionLayer, overlayLayer])
+        editorIndicatorLayer = new GridLayer();
+
+        for each (var layer:GridLayer in [backgroundLayer, selectionLayer, editorIndicatorLayer, overlayLayer])
             addElement(layer.root);

         MouseEventUtil.addDownDragUpListeners(this,


Transferred from the Adobe Open Source Subversion Repository

Revision: 17165
Author:   cframpto@adobe.com
Date:     2010-08-03T14:10:22.792682Z

Log Message:
-----------
Fix pile of bugs.

- ASdoc is not happy if there is a private variable/getter and a mx_internal variable/getter with the same name in the same class because of bug ASC-4110.  Fix instances of this in UICompoments and Grid.
- SDK-27169. Update the metadata for DG selectionMode.
- SDK-26840.  Turn off the column resize icon until the resize functionality is implemented.
- SDK-26548.  When TI is disabled, also disable RET.
- SDK-26858.  Fix off-by-1 bug in RET.adjustContentBoundsForScroller().  Comment in header was correct, code was not.
- SDK-26951 - For cell mode, preserve selection when REFRESH collection change event.  There is the restriction that if the collection if filtered, the preservedSelection becomes whatever is selected in the filtered collection.  If the filter is then removed, the original selection is not preserved.

QE notes: see restriction on SDK-26951 above
Doc notes:
Bugs: SDK-27169, SDK-26840, SDK-26548, SDK-26868, SDK-26951
Reviewer: Hans
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ColumnHeaderBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -238,11 +238,6 @@
             return layout as GridLayout;
         }

-        private function get gridDimensions():GridDimensions
-        {
-            return gridLayout.gridDimensions;
-        }
-
         //--------------------------------------------------------------------------
         //
         //  Properties
@@ -442,6 +437,8 @@
             if (caretColumnIndex == value)
                 return;

+            // ToDo: why isn't there any validation being done on value?
+
             _caretColumnIndex = value;

             caretChanged = true;
@@ -497,6 +494,8 @@
             if (_caretRowIndex == value)
                 return;

+            // ToDo: why isn't there any validation being done on value?
+
             _caretRowIndex = value;

             caretChanged = true;
@@ -1620,7 +1619,7 @@
         //----------------------------------

         [Bindable("selectionModeChanged")]
-        [Inspectable(category="General", enumeration="none,row,multipleRows,cell,multipleCells", defaultValue="row")]
+        [Inspectable(category="General", enumeration="none,singleRow,multipleRows,singleCell,multipleCells", defaultValue="singleRow")]

         /**
          *  The selection mode of the control.  Possible values are:
@@ -2964,12 +2963,8 @@
             if (caretRowIndex != -1)
                 updateCaretForDataProviderChange(event);

-			// The following conditional block is written as a nested if due to ASC-4110
-            if (gridDimensions)
-			{
-				if(hoverRowIndex != -1)
-					updateHoverForDataProviderChange(event);
-			}
+            if (gridDimensions && hoverRowIndex != -1)
+		        updateHoverForDataProviderChange(event);

             invalidateSize();
             invalidateDisplayList();


Transferred from the Adobe Open Source Subversion Repository

Revision: 13763
Author:   smgilson@adobe.com
Date:     2010-01-25T20:53:28.454349Z

Log Message:
-----------
ASDoc bug fixes

QE notes:
Doc notes:
Bugs: FLEXDOCS-1207, FLEXDOCS-1199, FLEXDOCS-1215
Reviewer:
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManager.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/datavisualization/src/mx/olap/OLAPAttribute.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Animate.as
+++ frameworks/projects/spark/src/spark/effects/Animate.as
@@ -208,8 +208,7 @@
      * level and the Keyframe level (where Keyframes hold the values/times
      * used in the MotionPath structures).
      * These easing behaviors build on each other.
-     * The easer specified by easer
-     * controls the easing of the overall effect.
+     * The easer controls the easing of the overall effect.
      * The Keyframe controls the easing in any particular interval of the animation.
      * By default, the easing for Animate is non-linear (Sine(.5)).
      * The easing for Keyframes is linear. If you desire an effect with easing


Transferred from the Adobe Open Source Subversion Repository

Revision: 8628
Author:   dsubrama@adobe.com
Date:     2009-07-16T18:43:06.178684Z

Log Message:
-----------
Followup checkin to collapsing the path segments into Path: The data getter used to have to accommodate the case where the data property wasn't set but the segments property was. In that case, the data getter had to reconstruct the data value by parsing the segments to create the data string. Now we don't have to do that since the segments property is unsettable. _data is always just null (default) or whatever the current data value is.

QE notes: Regress
Doc notes: None
Bugs: None
Reviewer: Glenn
Tests run: Checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -383,48 +383,6 @@
      */
     public function get data():String
     {
-        if (!_data)
-        {
-            _data = "";
-
-            for (var i:int = 0; i < segments.length; i++)
-            {
-                var segment:PathSegment = segments[i];
-
-                if (segment is MoveSegment)
-                {
-                    _data += "M " + segment.x + " " + segment.y + " ";
-                }
-                else if (segment is LineSegment)
-                {
-                    _data += "L " + segment.x + " " + segment.y + " ";
-                }
-                else if (segment is CubicBezierSegment)
-                {
-                    var cSeg:CubicBezierSegment = segment as CubicBezierSegment;
-
-                    _data += "C " + cSeg.control1X + " " + cSeg.control1Y + " " +
-                            cSeg.control2X + " " + cSeg.control2Y + " " +
-                            cSeg.x + " " + cSeg.y + " ";
-                }
-                else if (segment is QuadraticBezierSegment)
-                {
-                    var qSeg:QuadraticBezierSegment = segment as QuadraticBezierSegment;
-
-                    _data += "Q " + qSeg.control1X + " " + qSeg.control1Y + " " +
-                            qSeg.x + " " + qSeg.y + " ";
-                }
-                else if (segment is CloseSegment)
-                {
-                    _data += "Z ";
-                }
-                else
-                {
-                    // unknown segment, throw error?
-                }
-            }
-        }
-
         return _data;
     }


:bug: Fix WY usage in RenderWindow

:bug: Fix WY usage in RenderWindow

--- gb/gpu.as
+++ gb/gpu.as
@@ -248,14 +248,14 @@
   }

   def RenderWindow(self) {
-    if self.LY > self.WY {
+    if self.LY >= self.WY {
       // Tile Map (Offset)
       let map: uint64 = 0x1C00 if self.WindowTileMapSelect else 0x1800;
       map += uint64((self.LY - self.WY) >> 3) << 5;

       let i = uint64(self.WX);
       let x: uint8 = 0;
-      let y = uint8(self.LY % 8);
+      let y = uint8((self.LY - self.WY) % 8);
       let offset = uint64(self.LY) * DISP_WIDTH;

       while i < DISP_WIDTH {


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

--- frameworks/projects/rpc/src/mx/rpc/AsyncToken.as
+++ frameworks/projects/rpc/src/mx/rpc/AsyncToken.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-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.rpc
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/Tree.as
+++ frameworks/projects/mx/src/mx/controls/Tree.as
@@ -81,6 +81,11 @@
  *  Dispatched when a branch is closed or collapsed.
  *
  *  @eventType mx.events.TreeEvent.ITEM_CLOSE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="itemClose", type="mx.events.TreeEvent")]

@@ -88,6 +93,11 @@
  *  Dispatched when a branch is opened or expanded.
  *
  *  @eventType mx.events.TreeEvent.ITEM_OPEN
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="itemOpen", type="mx.events.TreeEvent")]

@@ -95,6 +105,11 @@
  *  Dispatched when a branch open or close is initiated.
  *
  *  @eventType mx.events.TreeEvent.ITEM_OPENING
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="itemOpening", type="mx.events.TreeEvent")]

@@ -110,6 +125,11 @@
  *  Used only if the backgroundColor property is not specified.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="alternatingItemColors", type="Array", arrayType="uint", format="Color", inherit="yes")]

@@ -117,6 +137,11 @@
  *  Array of colors used in the Tree control, in descending order.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="depthColors", type="Array", arrayType="uint", format="Color", inherit="yes")]

@@ -126,6 +151,11 @@
  *  defaultLeafIcon="@Embed(source='c.jpg');"
  *
  *  The default value is the "TreeNodeIcon" symbol in the Assets.swf file.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="defaultLeafIcon", type="Class", format="EmbeddedFile", inherit="no")]

@@ -134,6 +164,11 @@
  *  children are displayed.
  *
  *  The default value is the "TreeDisclosureOpen" symbol in the Assets.swf file.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="disclosureOpenIcon", type="Class", format="EmbeddedFile", inherit="no")]

@@ -142,6 +177,11 @@
  *  children are not displayed (the subtree is collapsed).
  *
  *  The default value is the "TreeDisclosureClosed" symbol in the Assets.swf file.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="disclosureClosedIcon", type="Class", format="EmbeddedFile", inherit="no")]

@@ -151,6 +191,11 @@
  *  folderOpenIcon="@Embed(source='a.jpg');"
  *
  *  The default value is the "TreeFolderOpen" symbol in the Assets.swf file.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="folderOpenIcon", type="Class", format="EmbeddedFile", inherit="no")]

@@ -160,6 +205,11 @@
  *  folderClosedIcon="@Embed(source='b.jpg');"
  *
  *  The default value is the "TreeFolderClosed" symbol in the Assets.swf file.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="folderClosedIcon", type="Class", format="EmbeddedFile", inherit="no")]

@@ -167,6 +217,11 @@
  *  Indentation for each tree level, in pixels.
  *
  *  @default 17
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="indentation", type="Number", inherit="no")]

@@ -174,6 +229,11 @@
  *  Length of an open or close transition, in milliseconds.
  *
  *  @default 250
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="openDuration", type="Number", format="Time", inherit="no")]

@@ -181,6 +241,11 @@
  *  Easing function to control component tweening.
  *
  *
The default value is undefined.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="openEasingFunction", type="Function", inherit="no")]

@@ -188,6 +253,11 @@
  *  Color of the background when the user rolls over the link.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="rollOverColor", type="uint", format="Color", inherit="yes")]

@@ -195,6 +265,11 @@
  *  Color of the background when the user selects the link.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="selectionColor", type="uint", format="Color", inherit="yes")]

@@ -203,6 +278,11 @@
  *
  *  @default 0xDDDDDD
  *
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="selectionDisabledColor", type="uint", format="Color", inherit="yes")]

@@ -210,6 +290,11 @@
  *  Reference to an easingFunction function used for controlling programmatic tweening.
  *
  *
The default value is undefined.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="selectionEasingFunction", type="Function", inherit="no")]

@@ -217,6 +302,11 @@
  *  Color of the text when the user rolls over a row.
  *
  *  @default 0x2B333C
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="textRollOverColor", type="uint", format="Color", inherit="yes")]

@@ -224,6 +314,11 @@
  *  Color of the text when the user selects a row.
  *
  *  @default 0x2B333C
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="textSelectedColor", type="uint", format="Color", inherit="yes")]

@@ -338,6 +433,11 @@
  *  @see mx.controls.treeClasses.DefaultDataDescriptor
  *
  *  @includeExample examples/TreeExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Tree extends List implements IIMESupport
 {
@@ -383,6 +483,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function Tree()
     {
@@ -505,6 +610,11 @@
      *
      *  @see #setItemIcon()
      *  @default undefined
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var itemIcons:Object;

@@ -539,6 +649,11 @@

     /**
      *  A hook for accessibility
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     mx_internal var wrappedCollection:ICollectionView;

@@ -597,6 +712,11 @@
      *

      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function set dataProvider(value:Object):void
     {
@@ -681,6 +801,11 @@
      *
      *  @default 0
      *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function get maxHorizontalScrollPosition():Number
     {
@@ -717,6 +842,11 @@
      *  from the Tree control as part of a drag-and-drop operation.
      *
      *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function get dragMoveEnabled():Boolean
     {
@@ -758,6 +888,11 @@
      *  return an object of the same type as the data contained in the dataProvider.

      *
      *
The default value is the first item in the Tree control.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get firstVisibleItem():Object
     {
@@ -809,6 +944,11 @@
      *
The default value is an internal instance of the
      *  DefaultDataDescriptor class.

      *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function set dataDescriptor(value:ITreeDataDescriptor):void
     {
@@ -819,6 +959,11 @@
      *  Returns the current ITreeDataDescriptor.
      *
      *   @default DefaultDataDescriptor
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get dataDescriptor():ITreeDataDescriptor
     {
@@ -866,6 +1011,11 @@
      *
      *  @default true
      *  @see #hasRoot
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get showRoot():Boolean
     {
@@ -891,6 +1041,11 @@
      *  are examples of types that have a root. Lists and arrays do not.
      *
      *  @see #showRoot
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get hasRoot():Boolean
     {
@@ -916,6 +1071,11 @@
      *  The items that have been opened or set opened.
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get openItems():Object
     {
@@ -1154,6 +1314,11 @@
      *  @param rowNum The index of the item in the data provider.
      *
      *  @return A newly constructed ListData object.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function makeListData(data:Object, uid:String,
     	rowNum:int):BaseListData
@@ -1345,6 +1510,11 @@
      *  @param iconID Linkage ID for the closed (or leaf) icon.
      *  @param iconID2 Linkage ID for the open icon.
      *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function setItemIcon(item:Object, iconID:Class, iconID2:Class):void
     {
@@ -1467,6 +1637,11 @@
      *  @param item Item to inspect.
      *  @return True if open, false if not.
      *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function isItemOpen(item:Object):Boolean
     {
@@ -1518,6 +1693,11 @@
      *
      *  @param cause The event, if any, that initiated the item open action.
      *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function expandItem(item:Object, open:Boolean,
                               animate:Boolean = false,
@@ -2356,6 +2536,11 @@
      *
      *  @param open Toggles an open or close operation.
      *  Specify true to open the items, and false to close them.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function expandChildrenOf(item:Object, open:Boolean):void
     {
@@ -2403,6 +2588,11 @@
      *  @param The item for which to get the parent.
      *
      *  @return The parent of the item.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getParentItem(item:Object):*
     {
@@ -2645,6 +2835,11 @@
      *
      *  @param item The item to be rendered.
      *  @param treeListData The TreeListDataItem to use in rendering the item.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function initListData(item:Object, treeListData:TreeListData):void
     {
@@ -3107,6 +3302,11 @@
      *
      *  @see mx.utils.ObjectUtil
      *  @see mx.utils.UIDUtil
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function dragDropHandler(event:DragEvent):void
     {
@@ -3208,6 +3408,11 @@
      *  removes the item from the data provider.
      *
      *  @param event The DragEvent object.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function dragCompleteHandler(event:DragEvent):void
     {
@@ -3407,6 +3612,11 @@

     /**
      *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     mx_internal function expandItemHandler(event:TreeEvent):void
     {
@@ -3421,6 +3631,11 @@

     /**
      *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override mx_internal function selectionDataPendingResultHandler(
                                     data:Object,


Transferred from the Adobe Open Source Subversion Repository

Revision: 19275
Author:   gruehle@adobe.com
Date:     2010-12-10T19:23:36.603272Z

Log Message:
-----------
Two on-screen keyboard fixes:
1. Always show the on-screen keyboard when StyleableTextField gets focus. The runtime behavior only shows the keyboard if the user tapped on the text.
2. Removed scroll disabling hack from SkinnableTextBase and replace it with code that prevents the on-screen keyboard from appearing when a scroll gesture occurs.

QE notes:
Doc notes:
Bugs: SDK-28244, SDK-28051, SDK-28208
Reviewer: Ryan
Tests run: cyclone server
Is noteworthy for integration: no

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as
@@ -680,6 +680,9 @@
     public function setFocus():void
     {
         stage.focus = this;
+
+		if (editable)
+			requestSoftKeyboard();
     }

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


UNDO FIX - FLEX-24502 Mobile optimized skins and item renderers don't show text when mirrored

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as
@@ -49,7 +49,6 @@
 import mx.core.FlexTextField;
 import mx.core.IInvalidating;
 import mx.core.IVisualElement;
-import mx.core.LayoutDirection;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
@@ -215,66 +214,6 @@
             invalidateTightTextHeight = true;
             invalidateTextSizeFlag = true;
         }
-        validateTransformMatrix();
-    }
-
-    /**
-     *  @private
-     *  True if we've inherited layoutDirection="rtl".
-     *  (implementation largely inspired from UITextField)
-     */
-    private var mirror: Boolean = false;
-
-    //----------------------------------
-    //  x
-    //----------------------------------
-
-    private var _x: Number = 0;
-
-    /**
-     *  @private
-     */
-    override public function set x(value: Number): void
-    {
-        _x = value;
-        super.x = value;
-        validateTransformMatrix();
-    }
-
-    /**
-     *  @private
-     */
-    override public function get x(): Number
-    {
-           return (mirror) ? _x : super.x;
-    }
-
-    /**
-     *  @private
-     *  Update the transform.matrix based on the mirror flag.  This method must be
-     *  called when x, width, or layoutDirection changes.
-     */
-    private function validateTransformMatrix(): void
-    {
-        if (mirror) {
-            var mirrorMatrix: Matrix = this.transform.matrix;
-            // matrix a must be negative
-            if (mirrorMatrix.a > 0){
-                mirrorMatrix.a = -mirrorMatrix.a;
-            }
-            mirrorMatrix.tx = _x + width;
-            transform.matrix = mirrorMatrix;
-        }
-        else // layoutDirection changed, mirror=false, reset transform.matrix to its default
-        {
-            var defaultMatrix: Matrix = this.transform.matrix;
-            if (defaultMatrix.a < 0) {
-                defaultMatrix.a = -defaultMatrix.a;
-            }
-            defaultMatrix.tx = _x;
-            defaultMatrix.ty = y;
-            transform.matrix = defaultMatrix;
-        }
     }

     /**
@@ -1112,25 +1051,11 @@
     {
         if (invalidateStyleFlag)
         {
-            // compute mirror
-            const oldMirror: Boolean = mirror;
-            if (parent is IVisualElement)
-                mirror = IVisualElement(parent).layoutDirection == LayoutDirection.RTL;
-            if (mirror || oldMirror)
-                validateTransformMatrix();
-
             var align:String = getStyle("textAlign");
             if (align == "start")
                 align = TextFormatAlign.LEFT;
             if (align == "end")
                 align = TextFormatAlign.RIGHT;
-            // textalign must be mirrored as well
-            if (mirror){
-                if (align == TextFormatAlign.LEFT)
-                   align =TextFormatAlign.RIGHT;
-                else if (align == TextFormatAlign.RIGHT )
-                  align = TextFormatAlign.LEFT;
-            }
             textFormat.align = align;
             textFormat.font = getStyle("fontFamily");
             textFormat.bold = getStyle("fontWeight") == "bold";
@@ -1188,7 +1113,7 @@
             invalidateTightTextHeight = true;
         }
     }
-
+
     /**
      *  @copy mx.core.UIComponent#getStyle()
      *
@@ -2239,7 +2164,7 @@
     mx_internal var leftMargin:Object;
     mx_internal var rightMargin:Object;

-    private static const supportedStyles:Vector.<String> = new <String>["textAlign", "fontFamily", "fontWeight", "fontStyle", "color", "fontSize"    , "textDecoration","textIndent" ,"leading" ,"letterSpacing" ,"layoutDirection"];
+    private static var supportedStyles:String = "textAlign fontFamily fontWeight fontStyle color fontSize textDecoration textIndent leading letterSpacing"

     private var invalidateStyleFlag:Boolean = true;