Transferred from the Adobe Open Source Subversion Repository

Revision: 18012
Author:   klin@adobe.com
Date:     2010-10-05T00:00:22.476120Z

Log Message:
-----------
First pass for implementing column visibility. GridColumn's visible property works now except when toggling at run time. I've also changed the way we determine a column's width. Now, we first look at the explicit width, then the typical width, and finally, the default width of 150.

Grid.as
-Added two internal methods that calculate the next and previous column.visible==true column index.

GridLayout.as
-Modified the loops to loop through column.visible==true columns instead of all the columns.

GridDimensions.as
-Fixed getColumnWidth() and other methods to fall back on the typical cell width.
-The methods will now skip columns with a typical cell width of 0 (meaning they are column.visible==false).

ColumnHeaderBarLayout.as
-Modified updateDisplayList to only create renderers for the column.visible==true columns.

QE notes: No
Doc notes: No
Bugs: No
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/supportClasses/GridDimensions.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ColumnHeaderBarLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as
@@ -455,30 +455,31 @@
     /**
      *  Returns the width of the column at the given index. Returns
      *  the width specified by setColumnWidth. If no width has been
-     *  specified, returns the defaultColumnWidth.
+     *  specified, returns the typical width. If no typical width has
+     *  been set, it returns the defaultColumnWidth.
      */
     public function getColumnWidth(col:int):Number
     {
         var w:Number = NaN;
-
+
+        w = _columnWidths[col];
+
+        if (isNaN(w))
+            w = typicalCellWidths[col];
+
+        if (isNaN(w))
+            w = this.defaultColumnWidth;
+
+        return w;
+    }
+
+    /**
+     *  Sets the width of a given column.
+     */
+    public function setColumnWidth(col:int, width:Number):void
+    {
         // out of bounds col will throw an error..should we handle it?
-        if (_columnWidths)
-            w = _columnWidths[col];
-
-        if (!isNaN(w))
-            return w;
-
-        return this.defaultColumnWidth;
-    }
-
-    /**
-     *  Sets the width of a given column.
-     */
-    public function setColumnWidth(col:int, width:Number):void
-    {
-        // out of bounds col will throw an error..should we handle it?
-        if (_columnWidths)
-            _columnWidths[col] = width;
+        _columnWidths[col] = width;
     }

     /**
@@ -545,20 +546,12 @@
      *  Returns the X coordinate of the origin of the specified cell.
      */
     public function getCellX(row:int, col:int):Number
-    {
-        if (!_columnWidths)
-            return col * (defaultColumnWidth + columnGap);
-
+    {
         var x:Number = 0;

         for (var i:int = 0; i < col; i++)
         {
-            var temp:Number = _columnWidths[i];
-
-            if (isNaN(temp))
-                x += defaultColumnWidth + columnGap;
-            else
-                x += temp + columnGap;
+            x += getColumnWidth(i) + columnGap;
         }

         return x;
@@ -973,9 +966,6 @@
      */
     public function getColumnIndexAt(x:Number, y:Number):int
     {
-        if (!_columnWidths)
-            return x / (defaultColumnWidth + columnGap);
-
         var cur:Number = x;
         var i:int;

@@ -983,11 +973,20 @@
         {
             var temp:Number = _columnWidths[i];

+            // fall back on typical widths if the actual width isn't set.
             if (isNaN(temp))
-                cur -= defaultColumnWidth + columnGap;
-            else
-                cur -= temp + columnGap;
-
+            {
+                temp = typicalCellWidths[i];
+                if (temp == 0) // invisible column
+                    continue;
+            }
+
+            // fall back on defaultColumnWidth
+            if (isNaN(temp))
+                temp = defaultColumnWidth;
+
+            cur -= temp + columnGap;
+
             if (cur <= 0)
                 return i;
         }
@@ -1002,23 +1001,41 @@
      */
     public function getContentWidth(columnCountOverride:int = -1):Number
     {
-		const nCols:int = (columnCountOverride == -1) ? columnCount : columnCountOverride;
+		const nCols:int = (columnCountOverride == -1) ? _columnCount : columnCountOverride;
         var contentWidth:Number = 0;
+        var width:Number;
+        var measuredColCount:int = 0;
+
+        for (var i:int = 0; (i < _columnCount) && (measuredColCount < nCols); i++)
+        {
+            if (i >= _columnWidths.length)
+            {
+                contentWidth += defaultColumnWidth;
+                measuredColCount++;
+                continue;
+            }
+
+            width = _columnWidths[i];
+
+            // fall back on typical width
+            if (isNaN(width))
+            {
+                width = typicalCellWidths[i];
+                // column.visible==false, skip this column.
+                if (width == 0)
+                    continue;
+            }
+
+            // fall back on defaultColumnWidth
+            if (isNaN(width))
+                width = defaultColumnWidth;
+
+            contentWidth += width;
+            measuredColCount++;
+        }

         if (nCols > 1)
             contentWidth += (nCols - 1) * columnGap;
-
-        // short circuit for no column widths set yet.
-        if (!_columnWidths)
-            return contentWidth + nCols * defaultColumnWidth;
-
-        for (var i:int = 0; i < nCols; i++)
-        {
-            if ((i >= _columnWidths.length) || isNaN(_columnWidths[i]))
-                contentWidth += defaultColumnWidth;
-            else
-                contentWidth += _columnWidths[i];
-        }

         return contentWidth;
     }
@@ -1063,15 +1080,24 @@
     {
         const nCols:int = (columnCountOverride == -1) ? _columnCount : columnCountOverride;
         var contentWidth:Number = 0;
-
-        for (var columnIndex:int = 0; columnIndex < nCols; columnIndex++)
-        {
+        var measuredColCount:int = 0;
+
+        for (var columnIndex:int = 0; (columnIndex < _columnCount) && (measuredColCount < nCols); columnIndex++)
+        {
+            // column.visible==false columns will have a typicalCellWidth of 0, so skip them.
             var width:Number = columnIndex < _columnCount ? typicalCellWidths[columnIndex] : NaN;
-            contentWidth += isNaN(width) ? 0 : width;
+            if (width == 0)
+                continue;
+
+            if (isNaN(width))
+                width = defaultColumnWidth;
+
+            contentWidth += width;
+            measuredColCount++;
         }

         if (nCols > 1)
-            contentWidth += (nCols - 1) * columnGap;
+            contentWidth += (measuredColCount - 1) * columnGap;

         return contentWidth;
     }
@@ -1241,9 +1267,8 @@

         rowList.clearColumns(startColumn, count);

+        clearTypicalCellWidthsAndHeights();
         clearVector(_columnWidths, NaN, startColumn, count);
-        clearVector(typicalCellWidths, NaN, startColumn, count);
-        clearVector(typicalCellHeights, NaN, startColumn, count);

         // cache is invalid because node values might have changed
         recentNode = null;
@@ -1427,7 +1452,7 @@
         recentNode = null;
         recentNode2 = null;
     }
-
+
     /**
      *  Handles changes in the dataProvider.
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 3509
Author:   jimurphy@adobe.com
Date:     2008-10-07T18:19:17.646255Z

Log Message:
-----------
Rename of flex -> mx.

For compatibility reasons it was decided that the new functionality remain integrated with the old framework, although we will continue to build two separate SWCs, one with primarily existing framework classes, and one with new Flex 4 classes. This change removes duplicate names from the Flex 4 framework to avoid class name overlapping with the old framework code.  The naming overlap consists of two major areas:  New Components, and New Effects

Modified Paths:
--------------
386 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/ResizeInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/ResizeInstance.as
@@ -8,27 +8,27 @@
 //  in accordance with the terms of the license agreement accompanying it.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package flex.effects.effectClasses
+package mx.effects.effectClasses
 {
 import flash.events.Event;

-import flex.effects.Animation;
-import flex.effects.PropertyValuesHolder;
-import flex.events.AnimationEvent;
-import flex.graphics.IGraphicElement;
-
-import mx.core.Application;
+import mx.effects.Animation;
+import mx.effects.PropertyValuesHolder;
+import mx.events.AnimationEvent;
+import mx.graphics.IGraphicElement;
+
+import mx.components.FxApplication;
 import mx.core.Container;
 import mx.core.IUIComponent;
 import mx.events.EffectEvent;
 import mx.events.TweenEvent;
 import mx.styles.IStyleClient;

-public class ResizeInstance extends AnimateInstance
+public class FxResizeInstance extends FxAnimateInstance
 {
     include "../../core/Version.as";

-    public function ResizeInstance(target:Object)
+    public function FxResizeInstance(target:Object)
     {
         super(target);


Fixed XML setAttribute()

Fixed XML setAttribute()

--- frameworks/projects/XML/src/main/flex/XML.as
+++ frameworks/projects/XML/src/main/flex/XML.as
@@ -1762,7 +1762,21 @@
 			{
 				//it's a regular attribute string
 				//TODO use toXMLName or toAttributeName to convert attr and assing it
-
+				var qname:QName = toAttributeName(attr);
+				var attrXML:XML = new XML();
+				attrXML.setNodeKind("attribute");
+				attrXML.setName(toAttributeName(attr));
+				attrXML.setValue(value);
+				for(i=0;i<_attributes.length;i++)
+				{
+					if(_attributes[i].name().equals(attrXML.name()))
+					{
+						_attributes[i].setValue(value);
+						return;
+					}
+					//addChild(_att)
+				}
+				addChild(attrXML);
 			}

 		}


sometime target hasn't finished loading?

--- mustella/as3/src/mustella/CompareBitmap.as
+++ mustella/as3/src/mustella/CompareBitmap.as
@@ -396,7 +396,10 @@
         trace("getTargetSize: height: ", target.height);
         trace("getTargetSize: root.height: ", target.root.height);
         trace("getTargetSize: stageHeight: ", target.stage.stageHeight);
+        try {
         trace("getTargetSize: loaderInfo.height: ", target.loaderInfo.height);
+        } catch (e:Error) {};
+
 		return new Point(width, height);
 	}


optimized dependency recursion by pulling it out into a class method

--- fp9/src/as3isolib/display/renderers/DefaultSceneLayoutRenderer.as
+++ fp9/src/as3isolib/display/renderers/DefaultSceneLayoutRenderer.as
@@ -53,20 +53,21 @@
 		 */
 		public function renderScene (scene:IIsoScene):void
 		{
+			this.scene = scene;
 			var startTime:uint = getTimer();
-
+
 			// Rewrite #2 by David Holz, dependency version (naive for now)

-			// TODO - screen space subdivision to limit dependency scan
+
 			// TODO - cache dependencies between frames, only adjust invalidated objects, keeping old ordering as best as possible
-
 			// IIsoDisplayObject -> [obj that should be behind the key]
-			var dependency:Dictionary = new Dictionary();
+			dependency = new Dictionary();

 			// For now, use the non-rearranging display list so that the dependency sort will tend to create similar output each pass
 			var children:Array = scene.displayListChildren;

 			// Full naive cartesian scan, see what objects are behind child[i]
+			// TODO - screen space subdivision to limit dependency scan
 			var max:uint = children.length;
 			for (var i:uint = 0; i < max; ++i)
 			{
@@ -109,25 +110,14 @@
 			// TODO - set the invalidated children first, then do a rescan to make sure everything else is where it needs to be, too?  probably need to order the invalidated children sets from low to high index

 			// Set the childrens' depth, using dependency ordering
-			var depth:uint = 0;
-			var visited:Dictionary = new Dictionary();
-			var place:Function = function(obj:IsoDisplayObject):void
-			{
-				if (visited[obj])
-					return;
-				visited[obj] = true;
-
-				for each(var inner:IsoDisplayObject in dependency[obj])
-					place(inner);
-
-				scene.setChildIndex(obj, depth);
-				++depth;
-			};
-
+			depth = 0;
 			for each(var obj:IsoDisplayObject in children)
 			{
 				place(obj);
 			}
+
+			// Clear out temporary dictionary so we're not retaining memory between calls
+			visited = new Dictionary();

 			// DEBUG OUTPUT

@@ -138,6 +128,28 @@
 			trace("scene layout render time", getTimer() - startTime, "ms (manual sort)");
 		}

+		// It's faster to make class variables & a method, rather than to do a local function closure
+		private var depth:uint;
+		private var visited:Dictionary = new Dictionary();
+		private var scene:IIsoScene;
+		private var dependency:Dictionary;
+
+		/**
+		 * Dependency-ordered depth placement of the given objects and its dependencies.
+		 */
+		private function place(obj:IsoDisplayObject):void
+		{
+			if (visited[obj])
+				return;
+			visited[obj] = true;
+
+			for each(var inner:IsoDisplayObject in dependency[obj])
+				place(inner);
+
+			scene.setChildIndex(obj, depth);
+			++depth;
+		};
+
 		//static private function dumpBounds(b:IBounds):String { return "[" + b.left + ".." + b.right + "," + b.back + ".." + b.front + "," + b.bottom + ".." + b.top + "]"; }
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


FLEX-33189: Allow for better PopUpManager centering of RTL layouts.

--- frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
+++ frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
@@ -598,13 +598,22 @@
                 const popUpLDE:ILayoutDirectionElement = popUp as ILayoutDirectionElement;
                 const parentLDE:ILayoutDirectionElement = popUpParent as ILayoutDirectionElement;

-                if (popUpLDE &&
-                    ((parentLDE && parentLDE.layoutDirection != popUpLDE.layoutDirection) ||
-                        (!parentLDE && popUpLDE.layoutDirection == LayoutDirection.RTL)))
-                 {
-                        x = -x /* to flip it on the other side of the x axis*/
-                            -popUp.width /* because 0 is the right edge */;
-                 }
+                if (popUpLDE)
+                {
+                    if ((parentLDE && parentLDE.layoutDirection != popUpLDE.layoutDirection) ||
+                       (!parentLDE && popUpLDE.layoutDirection == LayoutDirection.RTL))
+                    {
+                        //(x = -x)  to flip it on the other side of the x axis.
+                        //(-popUp.width)  because 0 is the right edge.
+                        x = -x -popUp.width;
+                    }
+
+                    if (popUpLDE.layoutDirection == LayoutDirection.RTL)
+                    {
+                        //Corrects the x offset for RTL.
+                        clippingOffset.x += popUpParent.width;
+                    }
+                }
             }

             pt = new Point(clippingOffset.x, clippingOffset.y);


UPDATED parsing of the JSON response to unify response object across iOS and Android (ref #6)

--- actionscript/src/com/marpies/ane/vk/VK.as
+++ actionscript/src/com/marpies/ane/vk/VK.as
@@ -416,7 +416,11 @@
                         /* Delete 'requestId' from the response JSON (it's manually inserted in
                          * native library for us to retrieve the correct VKRequest here in AS3) */
                         delete responseJSON.listenerID;
-                        request.responseCallback( responseJSON, request );
+                        var response:Object = responseJSON.response;
+                        if( response is String ) {
+                            response = JSON.parse( response as String );
+                        }
+                        request.responseCallback( response, request );
                         unregisterRequest( requestId );
                     }
                     return;


Fix minor bug in Shader

Fix minor bug in Shader

--- src/aerys/minko/render/shader/Shader.as
+++ src/aerys/minko/render/shader/Shader.as
@@ -63,6 +63,7 @@
 							   vertexParameters			: Vector.<ParameterAllocation>,
 							   fragmentParameters		: Vector.<ParameterAllocation>)
 		{
+			_lastFrameId			= uint.MAX_VALUE;
 			_lastStyleStackVersion	= uint.MAX_VALUE;
 			_lastTransformVersion	= uint.MAX_VALUE;

@@ -87,13 +88,13 @@
 				_lastTransformVersion	= uint.MAX_VALUE;
 			}

+
 			setTextures(state, styleStack, local, world);
 			setConstants(state, styleStack, local, world);

 			state.shader = _resource;
-
 			_lastStyleStackVersion	= styleStack.version;
-			_lastTransformVersion	= styleStack.version;
+			_lastTransformVersion	= local.version;

 			return true;
 		}
@@ -141,12 +142,12 @@
 				var paramAlloc	: ParameterAllocation	= paramsAllocs[i];
 				var param		: AbstractParameter		= paramAlloc._parameter;

+
 				if ((param is StyleParameter && styleStack.version == _lastStyleStackVersion) ||
 					(param is TransformParameter && local.version == _lastTransformVersion))
 					continue;

 				var data : Object = getParameterData(param, styleStack, local, world);
-
 				loadParameterData(paramAlloc, constData, data);
 			}
 		}


Removing until Mike has a chance to fix.

--- test/acceptance/as3/sampling/StringMaster.as
+++ test/acceptance/as3/sampling/StringMaster.as
@@ -1,68 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is [Open Source Virtual Machine.].
- *
- * The Initial Developer of the Original Code is
- * Adobe System Incorporated.
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Adobe AS3 Team
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/* testcases:
- *   master string exposed to heap graph
- */
-
-package {
-
-    import flash.sampler.*
-    import avmplus.*
-
-    var SECTION = "Sampling";
-    var VERSION = "AS3";
-    var TITLE   = "Master String";
-
-    startTest();
-    writeHeaderToLog("Sampling master string test");
-
-    var isdebugger=System.isDebugger();
-
-    var helloWorld = "hello, world";
-    var hello = helloWorld.substr(0, 5);
-
-    AddTestCase("assert that static string constant does not have a master string",
-        null,
-        getMasterString(helloWorld));
-
-    AddTestCase("assert that substring has a master string",
-        isdebugger ? helloWorld : null,
-        getMasterString(hello));
-
-    test();
-}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20631
Author:   deeptika@adobe.com
Date:     2011-03-07T08:27:55.418185Z

Log Message:
-----------
Instead of checking for existence of MarshallingSupport class, we should see whether current systemManager is sandbox root to identify marshalled applications. When loaded as RSL, MarshallingSupport class is always loaded and hence cannot be used to identify marshalling scenarios.

Also added null check for existence of spark label class in order to enable barcharts with labels to show up fine when compiled in compatibility mode.

QE notes:
Doc notes:
Bugs: FLEXDMV-2573 (Datatips and Labels are not rendered fine when layoutDirection = rtl )
Reviewer:
Tests run: Checkintests, cyclone test, Also cyclone tested by Sudhir M
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/series/BarSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as</path>

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

--- frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as
@@ -3787,38 +3787,24 @@

             if (tipInstance is ILayoutManagerClient)
                 ILayoutManagerClient (tipInstance).validateSize();
-			try					//if mx.managers.systemClasses.MarshallingSupport class is found,
-								// marshalling support is enabled and localToGlobal does not give
-								// expected result because current sub application becomes top level
-								// In such cases, sub-application's offset needs to be subtracted
-								// from obtained localToGlobal values.
-								// http://bugs.adobe.com/jira/browse/FLEXDMV-2536
+
+			//if current systemManager is not sandbox root,
+			// marshalling support is enabled and localToGlobal does not give
+			// expected result because current sub application becomes top level
+			// In such cases, sub-application's offset needs to be subtracted
+			// from obtained localToGlobal values.
+			// http://bugs.adobe.com/jira/browse/FLEXDMV-2536
+			if(systemManager != systemManager.topLevelSystemManager.getSandboxRoot())
 			{
-				var marshallingClass:Class;
-				var sm:ISystemManager = this.systemManager;
-				if(sm)
-					marshallingClass = Class(sm.getDefinitionByName("mx.managers.systemClasses.MarshallingSupport"));
-				else
-					marshallingClass = Class(getDefinitionByName("mx.managers.systemClasses.MarshallingSupport"));
-
-				if(marshallingClass)
-				{
-					var appOffset:Point = FlexGlobals.topLevelApplication.localToGlobal(new Point(0,0));
-					data = new TipPositionData(tipInstance, hitData,
-						localPts.x, localPts.y, pts.x - appOffset.x, pts.y - appOffset.y);
-				}
-				else
-				{
-					data = new TipPositionData(tipInstance, hitData,
-						localPts.x, localPts.y, pts.x, pts.y);
-				}
+				var appOffset:Point = FlexGlobals.topLevelApplication.localToGlobal(new Point(0,0));
+				data = new TipPositionData(tipInstance, hitData,
+					localPts.x, localPts.y, pts.x - appOffset.x, pts.y - appOffset.y);
 			}
-			catch (e:Error)			//mx.managers.systemClasses.MarshallingSupport class is not found
-									// means marshalling is not enabled and so we revert to normal logic.
+			else
 			{
 				data = new TipPositionData(tipInstance, hitData,
 					localPts.x, localPts.y, pts.x, pts.y);
-			}
+			}

             if (data.gy - dataTipVOffset - tipInstance.measuredHeight > 0)
                 data.py = data.gy - dataTipVOffset - tipInstance.measuredHeight;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12625
Author:   mhorn@adobe.com
Date:     2009-12-07T21:50:25.279856Z

Log Message:
-----------
asdoc updates for l10n; add examples

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

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

--- frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
+++ frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
@@ -72,9 +72,12 @@
  * @playerversion AIR 1.5
  * @productversion Flex 4
  *
+ * @includeExample examples/GradientBevelFilterExample.mxml
+ *
+ * @see spark.filters.BevelFilter
+ * @see flash.filters.GradientBevelFilter
  * @see #ratios GradientBevelFilter.ratios
  * @see flash.display.BitmapData#applyFilter()
- * @see flash.filters.BevelFilter BevelFilter
  * @see flash.display.DisplayObject#filters
  * @see flash.display.DisplayObject#cacheAsBitmap
  */


fixed display bugs and labels now use the column's formatting function

Change-Id: I580673d1c0202af6b3e4914de1edc6a04a86eece

--- WeaveUISpark/src/weave/visualization/plotters/SizeBinLegendPlotter.as
+++ WeaveUISpark/src/weave/visualization/plotters/SizeBinLegendPlotter.as
@@ -20,16 +20,15 @@
 package weave.visualization.plotters
 {
 	import flash.display.BitmapData;
-	import flash.display.Graphics;
 	import flash.geom.Point;

 	import mx.utils.ObjectUtil;

 	import weave.api.WeaveAPI;
+	import weave.api.newLinkableChild;
+	import weave.api.registerLinkableChild;
 	import weave.api.data.IColumnStatistics;
-	import weave.api.newLinkableChild;
 	import weave.api.primitives.IBounds2D;
-	import weave.api.registerLinkableChild;
 	import weave.api.ui.ITextPlotter;
 	import weave.compiler.StandardLib;
 	import weave.core.LinkableBoolean;
@@ -39,8 +38,8 @@
 	import weave.primitives.Bounds2D;
 	import weave.utils.AsyncSort;
 	import weave.utils.BitmapText;
+	import weave.utils.ColumnUtils;
 	import weave.utils.LinkableTextFormat;
-	import weave.utils.TickMarkUtils;
 	import weave.visualization.plotters.styles.SolidLineStyle;

 	/**
@@ -103,7 +102,7 @@
 		private var xMargin:int = 5;
 		private var xMin:Number;
 		private var yPosition:Number;
-		private var g:Graphics;
+		private var fillColor:Number;
 		override public function drawBackground(dataBounds:IBounds2D, screenBounds:IBounds2D, destination:BitmapData):void
 		{
 			var i:int;
@@ -171,9 +170,7 @@
 			// Draw size legend
 			xMin = screenBounds.getXNumericMin();
 			yPosition = screenBounds.getYNumericMin() + yInterval / 2; // First y position
-			g = tempShape.graphics;
-			g.clear();
-			lineStyle.beginLineStyle(null, g);
+			fillColor = NaN;

 			for (i = 0; i < normalizedCircleRadiuses.length; i++)
 			{
@@ -184,11 +181,11 @@
 					// Draw large circle befroe small circle for both negative (top down direction) and positive (bottom up direction)
 					if (circleRadiuses[i] < 0)
 					{
-						g.beginFill(absoluteValueColorMin.value, 1.0);
+						fillColor = absoluteValueColorMin.value;
 					}
 					else
 					{
-						g.beginFill(absoluteValueColorMax.value, 1.0);
+						fillColor = absoluteValueColorMax.value;
 						yPosition = screenBounds.getYNumericMax() - yInterval / 2; // First y position from bottom
 						for (j = normalizedCircleRadiuses.length - 1; j >= i; j--)
 						{
@@ -207,12 +204,24 @@

 		private function drawLegend(destination:BitmapData, index:int):void
 		{
+			// draw circle
+			tempShape.graphics.clear();
+			lineStyle.beginLineStyle(null, tempShape.graphics);
+			if (isFinite(fillColor))
+				tempShape.graphics.beginFill(fillColor);
+			else
+				tempShape.graphics.endFill();
+
 			tempShape.graphics.drawCircle(xMin + xMargin + maxCustomRadius, tempPoint.y, normalizedCircleRadiuses[index]);
+
+			tempShape.graphics.endFill();
 			destination.draw(tempShape);

 			// set up BitmapText
 			LinkableTextFormat.defaultTextFormat.copyTo(bitmapText.textFormat);
-			bitmapText.text = circleRadiuses[index].toString();
+			bitmapText.text = ColumnUtils.deriveStringFromNumber(radiusColumn, circleRadiuses[index]);
+			if (bitmapText.text == null)
+				bitmapText.text = StandardLib.formatNumber(circleRadiuses[index]);
 			bitmapText.verticalAlign = BitmapText.VERTICAL_ALIGN_MIDDLE;
 			bitmapText.x = xMin + xMargin + maxCustomRadius * 2 + xMargin;
 			bitmapText.y = tempPoint.y;


Reverse the map drawing order to make sure the first ledge is always accessible.

--- src/Platform.as
+++ src/Platform.as
@@ -25,6 +25,7 @@
     public const SIDE_TO_SIDE:uint = 1;

     public var tilingMode:uint;
+    public var tilingStart:uint;

     public var hasCeiling:Boolean;
     public var hasFloor:Boolean;
@@ -34,7 +35,10 @@
     public function Platform()
     {
       super();
+      this.structureMode = this.SIDE_TO_SIDE;
       this.tilingMode = FlxTilemap.AUTO;
+      this.tilingStart = FlxObject.FLOOR;
+      this.hasFloor = true;
     }

     public function generateData():void
@@ -42,16 +46,29 @@
       var rows:int = Math.floor(this.bounds.height / this.tileWidth);
       var cols:int = Math.floor(this.bounds.width / this.tileHeight);
       // Smarts of our algo.
-      var cStart:uint, cEnd:uint, facing:uint, rSize:int, rSpacing:int, sizeRange:uint, spacingRange:uint, inverse:Boolean;
+      var cStart:uint, cEnd:uint, facing:uint, rSize:int, rSpacing:int,
+          sizeRange:uint, spacingRange:uint, inverse:Boolean,
+          rStart:int, rEnd:int;
       // Grunts of our algo.
       var r:int, c:int, l:int, col:Array;
       // Subroutines.
-      var addRow:Function, setupEmptyRow:Function, setupFloorRow:Function, setupLedgeRow:Function, setupEachRow:Function;
+      var addRow:Function, setupEmptyRow:Function, setupFloorRow:Function,
+          setupLedgeRow:Function, setupEachRow:Function;

       mapData = '';
       sizeRange = (this.maxLedgeSize - this.minLedgeSize);
       spacingRange = (this.maxLedgeSpacing.y - this.minLedgeSpacing.y);
       facing = FlxObject.RIGHT;
+      if (this.tilingStart == FlxObject.FLOOR)
+      {
+        rStart = rows-1;
+        rEnd = 0;
+      }
+      else
+      {
+        rEnd = rows-1;
+        rStart = 0;
+      }

       addRow = function():void
       {
@@ -70,7 +87,14 @@
             col.push(inverse ? '1' : '0');
           }
         }
-        mapData += col.join(',')+"\n";
+        if (this.tilingStart == FlxObject.FLOOR)
+        {
+          mapData = col.join(',')+"\n" + mapData;
+        }
+        else
+        {
+          mapData += col.join(',')+"\n";
+        }
       };
       setupEmptyRow = function():void
       {
@@ -108,12 +132,14 @@
           col = [];
         }
       };
-
-      for (r = 0; r < rows; r++) // For each row.
+      for (r = rStart;
+           (rStart < rEnd && r < rEnd) || (rStart > rEnd && r >= rEnd);
+           (rEnd != 0) ? r++ : r--) // For each row. // TODO - Optimize throughout.
       {
-        if (r == rows-1)
+        if (r == rStart && this.tilingStart == FlxObject.FLOOR && this.hasFloor)
         {
           setupFloorRow.call(this);
+          rSpacing = this.minLedgeSpacing.y;
         }
         else
         {


* 清理注释

* 清理注释

--- age/src/age/renderers/Image3D.as
+++ age/src/age/renderers/Image3D.as
@@ -45,7 +45,6 @@
 		{
 			_direction = value;
 			scaleX = Math.abs(scaleX) * (value == Direction.RIGHT ? 1 : -1);
-			// scaleX = (value == Direction.RIGHT ? 1 : -1);
 		}

 		/**


Transferred from the Adobe Open Source Subversion Repository

Revision: 3845
Author:   egeorgie@adobe.com
Date:     2008-10-23T16:49:42.964719Z

Log Message:
-----------
Fix a bug where FxRotate doesn't adjust horizontalCenter/verticalCenter constraints on animation end.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Chet
tests: checkintests, Mustella (Effects)

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
@@ -272,8 +272,8 @@
         }
         else
         {
-            play();
-        }
+        play();
+    }
     }

     private function delayedPlay(event:AnimationEvent):void
@@ -595,13 +595,27 @@
                 var layoutItem:ILayoutItem = LayoutItemFactory.getLayoutItemFor(target);
                 var location:Point = layoutItem.actualPosition;
                 var size:Point = layoutItem.actualSize;
-                if (constraintsHolder["left"] !== undefined)
-                    constraintsHolder["left"] = Math.round(location.x);
-                if (constraintsHolder["top"] !== undefined)
-                    constraintsHolder["top"] = Math.round(location.y);
-                if (constraintsHolder["right"] !== undefined)
+                var parentW:int = 0;
+                var parentH:int = 0;
+
+                // For 'bottom' or 'verticalCenter' we need the parent height
+                if (constraintsHolder["bottom"] !== undefined ||
+                    constraintsHolder["verticalCenter"] !== undefined)
                 {
-                    var parentW:int = 0;
+                    if ("parent" in target && target.parent)
+                    {
+                        parentH = target.parent.height;
+                    }
+                    else if ("elementHost" in target && target.elementHost)
+                    {
+                        parentH = target.elementHost.height;
+                    }
+                }
+
+                // For 'right' or 'horizontalCenter' we need the parent width
+                if (constraintsHolder["right"] !== undefined ||
+                    constraintsHolder["horizontalCenter"] !== undefined)
+                {
                     if ("parent" in target && target.parent)
                     {
                         parentW = target.parent.width;
@@ -610,31 +624,42 @@
                     {
                         parentW = target.elementHost.width;
                     }
-                    if (parentW > 0)
-                    {
-                        // Only bother adjusting 'right' if our target is
-                        // parented to an object with a positive width
-                        constraintsHolder["right"] = parentW - location.x - size.x;
-                    }
-                }
-                if (constraintsHolder["bottom"] !== undefined)
+                }
+
+                if (constraintsHolder["left"] !== undefined)
+                    constraintsHolder["left"] = Math.round(location.x);
+                if (constraintsHolder["top"] !== undefined)
+                    constraintsHolder["top"] = Math.round(location.y);
+
+                // Only bother adjusting 'right' if our target is
+                // parented to an object with a positive width
+                if (parentW > 0 && constraintsHolder["right"] !== undefined)
+                    constraintsHolder["right"] = parentW - location.x - size.x;
+
+                // Only bother adjusting 'bottom' if our target is
+                // parented to an object with a positive height
+                if (parentH > 0 && constraintsHolder["bottom"] !== undefined)
+                    constraintsHolder["bottom"] = parentH - location.y - size.y;
+
+                // Only bother adjusting 'horizontalCenter' if our target is
+                // parented to an object with a positive width
+                if (parentW > 0 && constraintsHolder["horizontalCenter"] !== undefined)
                 {
-                    var parentH:int = 0;
-                    if ("parent" in target && target.parent)
-                    {
-                        parentH = target.parent.height;
-                    }
-                    else if ("elementHost" in target && target.elementHost)
-                    {
-                        parentH = target.elementHost.height;
-                    }
-                    if (parentH > 0)
-                    {
-                        // Only bother adjusting 'bottom' if our target is
-                        // parented to an object with a positive height
-                        constraintsHolder["bottom"] = parentH - location.y - size.y;
-                    }
-                }
+                    // Layout uses horizontalCenter to calculate position this way
+                    // location.x = parentW / 2 - size.x / 2 + horizontalCenter
+                    constraintsHolder["horizontalCenter"] = location.x + size.x / 2 - parentW / 2;
+                }
+
+                // Only bother adjusting 'verticalCenter' if our target is
+                // parented to an object with a positive height
+                if (parentH > 0 && constraintsHolder["verticalCenter"] !== undefined)
+                {
+                    // Layout uses verticalCenter to calculate position this way
+                    // location.y = parentH / 2 - size.y / 2 + verticalCenter
+                    constraintsHolder["verticalCenter"] = location.y + size.y / 2 - parentH / 2;
+                }
+
+                // TODO EGeorgie: add support for 'baseline' constraint, when the new layouts support it.
             }
             reenableConstraint("left");
             reenableConstraint("right");
@@ -773,4 +798,4 @@
         }
     }
 }
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 7448
Author:   jszeto@adobe.com
Date:     2009-05-29T21:11:34.571514Z

Log Message:
-----------
http://bugs.adobe.com/jira/browse/SDK-18373 - Defaults for some properties of Flex graphics classes do not match defaults in FXG xsd

Updated SolidColorStroke, GradientStroke, LinearGradientStroke and RadialGradientStroke with new default values. This shouldn't change the default behavior for caps and joints because the Player defaults to "round" if the value is null.

Updated GlowFilter and GradientGlowFilter

http://bugs.adobe.com/jira/browse/SDK-21493 - BitmapImage resizeMode default value is repeat should be normal

Updated the ASDoc comments to set default to "repeat"

QE Notes: None
Doc Notes: I made lots of small ASDoc changes
Bugs: SDK-18373, SDK-21493
Reviewer: Deepa

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/GlowFilter.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as
+++ frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as
@@ -81,16 +81,16 @@
      *  A null value is equivalent to
      *  CapsStyle.ROUND.
      *  This parameter is optional,
-     *  with a default value of null.
+     *  with a default value of CapsStyle.ROUND.
      *
      *  @param joints A value from the JointStyle class
      *  that specifies the type of joint appearance used at angles.
      *  Valid values are JointStyle.BEVEL,
      *  JointStyle.MITER, and JointStyle.ROUND.
      *  A null value is equivalent to
-     *  JoinStyle.ROUND.
-     *  This parameter is optional,
-     *  with a default value of null.
+     *  JointStyle.ROUND.
+     *  This parameter is optional,
+     *  with a default value of JointStyle.ROUND.
      *
      *  @param miterLimit A number that indicates the limit
      *  at which a miter is cut off.
@@ -104,7 +104,7 @@
      *  For example, with a miterLimit factor of 2.5 and a
      *  thickness of 10 pixels, the miter is cut off at 25 pixels.
      *  This parameter is optional,
-     *  with a default value of 0.
+     *  with a default value of 3.
      *
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -114,9 +114,9 @@
     public function LinearGradientStroke(weight:Number = 1,
                                          pixelHinting:Boolean = false,
                                          scaleMode:String = "normal",
-                                         caps:String = null,
-                                         joints:String = null,
-                                         miterLimit:Number = 0)
+                                         caps:String = "round",
+                                         joints:String = "round",
+                                         miterLimit:Number = 3)
     {
         super(weight, pixelHinting, scaleMode, caps, joints, miterLimit);
     }


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

--- frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as
+++ frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as
@@ -19,6 +19,11 @@
 	 * to be infrequent.  When a class extends OnDemandEventDispatcher instead of the standard EventDispatcher,
 	 * it is trading off a small overhead on every single instance for a slightly larger overhead on only the instances
 	 * that actually have listeners attached to them.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public class OnDemandEventDispatcher implements IEventDispatcher
     {
@@ -36,6 +41,11 @@

     /**
      *  @copy flash.events.EventDispatcher#addEventListener
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
         public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
         {
@@ -49,6 +59,11 @@

     /**
      *  @copy flash.events.EventDispatcher#dispatchEvent
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
         public function dispatchEvent(event:Event):Boolean
         {
@@ -59,6 +74,11 @@

     /**
      *  @copy flash.events.EventDispatcher#hasEventListener
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
         public function hasEventListener(type:String):Boolean
         {
@@ -69,6 +89,11 @@

     /**
      *  @copy flash.events.EventDispatcher#removeEventListener
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
         public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
         {
@@ -78,6 +103,11 @@

     /**
      *  @copy flash.events.EventDispatcher#willTrigger
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
         public function willTrigger(type:String):Boolean
         {


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

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

 package mx.accessibility
 {


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/mx/src/mx/accessibility/AccordionHeaderAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/AccordionHeaderAccImpl.as
@@ -26,6 +26,11 @@
 /**
  *  AccordionHeaderAccImpl is a subclass of AccessibilityImplementation
  *  which implements accessibility for the AccordionHeader class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class AccordionHeaderAccImpl extends AccImpl
 {
@@ -81,6 +86,11 @@
 	 *  Afterwards, when instances of AccordionHeader are initialized,
 	 *  their accessibilityImplementation property
 	 *  will be set to an instance of this class.

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static function enableAccessibility():void
 	{
@@ -112,6 +122,11 @@
 	 *
 	 *  @param master The UIComponent instance that this AccImpl instance
 	 *  is making accessible.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function AccordionHeaderAccImpl(master:UIComponent)
 	{


Added option to show debug regions in client.

git-svn-id: 41360ad359616a519dfba9f2f48af1afe653c9f7@90 be230a1c-449f-4488-b524-6273046f66f0

--- src/as/client/ClientApp.as
+++ src/as/client/ClientApp.as
@@ -5,6 +5,7 @@

 import flash.display.Bitmap;
 import flash.display.BitmapData;
+import flash.display.Shape;
 import flash.display.SimpleButton;
 import flash.display.Sprite;

@@ -17,6 +18,7 @@
 import flash.events.MouseEvent;
 import flash.events.ProgressEvent;
 import flash.events.SecurityErrorEvent;
+import flash.events.TimerEvent;

 import flash.external.ExternalInterface;

@@ -41,6 +43,7 @@
 import flash.utils.ByteArray;
 import flash.utils.IDataInput;
 import flash.utils.IDataOutput;
+import flash.utils.Timer;

 import com.hurlant.crypto.prng.Random;
 import com.hurlant.crypto.rsa.RSAKey;
@@ -134,6 +137,15 @@
         });
         setColors(getForeground(), getBackground());

+        // add the debug regions toggle if we're in development
+        if (DEBUG) {
+            contextMenu.customItems[1] = new ContextMenuItem("Toggle Debug Regions");
+            contextMenu.customItems[1].addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,
+                    function (event :ContextMenuEvent) :void {
+                _debugRegions = !_debugRegions;
+            });
+        }
+
         // listen for mouse and key events
         _field.addEventListener(MouseEvent.MOUSE_DOWN, sendMouseMessage);
         _field.addEventListener(MouseEvent.MOUSE_UP, sendMouseMessage);
@@ -729,7 +741,7 @@
         var window :Window = getWindow(id);
         if (window != null) {
             addDirtyRegion(new Rectangle(window.bounds.x + bounds.x, window.bounds.y + bounds.y,
-                bounds.width, bounds.height));
+                bounds.width, bounds.height), 0x0000FF);
             window.setContents(bounds, contents);
         }
     }
@@ -743,9 +755,9 @@
         var window :Window = getWindow(id);
         if (window != null) {
             addDirtyRegion(new Rectangle(window.bounds.x + source.x, window.bounds.y + source.y,
-                source.width, source.height));
+                source.width, source.height), 0xFF0000);
             addDirtyRegion(new Rectangle(window.bounds.x + dest.x, window.bounds.y + dest.y,
-                source.width, source.height));
+                source.width, source.height), 0x00FF00);
             window.moveContents(source, dest, fill);
         }
     }
@@ -780,9 +792,31 @@
     /**
      * Adds a region to the rectangle that will need updating.
      */
-    protected function addDirtyRegion (region :Rectangle) :void
+    protected function addDirtyRegion (region :Rectangle, color :uint = 0xFFFFFF) :void
     {
         _dirty = _dirty.union(region);
+
+        if (_debugRegions) {
+            var cbounds :Rectangle = _field.getCharBoundaries(0);
+
+            // add the outline of the region
+            var shape :Shape = new Shape();
+            shape.graphics.lineStyle(1, color);
+            shape.graphics.drawRect(0, 0, cbounds.width*region.width,
+                cbounds.height*region.height);
+            shape.x = _field.x + cbounds.width*region.x +
+                (_field.width - cbounds.width*_width)/2;
+            shape.y = _field.y + cbounds.height*region.y +
+                (_field.height - cbounds.height*_height)/2;
+            addChild(shape);
+
+            // remove it after a second
+            var timer :Timer = new Timer(1000, 1);
+            timer.addEventListener(TimerEvent.TIMER_COMPLETE, function (event :TimerEvent) :void {
+                removeChild(shape);
+            });
+            timer.start();
+        }
     }

     /**
@@ -1021,6 +1055,12 @@
     /** The current dirty region. */
     protected var _dirty :Rectangle = new Rectangle();

+    /** Whether or not to show the redraw regions. */
+    protected var _debugRegions :Boolean = false;
+
+    /** Whether or not we're running in debug mode. */
+    protected static var DEBUG :Boolean = true;
+
     /** Flag indicating that the character should be displayed in reverse. */
     protected static var REVERSE_FLAG :int = 0x10000;


Bugfix.

Bugfix.

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@4305 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/presents/dobj/InvocationNotificationEvent.as
+++ src/as/com/threerings/presents/dobj/InvocationNotificationEvent.as
@@ -23,6 +23,7 @@

 import com.threerings.io.ObjectInputStream;
 import com.threerings.io.ObjectOutputStream;
+import com.threerings.io.TypedArray;

 import com.threerings.util.StringBuilder;

@@ -113,7 +114,7 @@
         super.writeObject(out);
         out.writeShort(_receiverId);
         out.writeByte(_methodId);
-        out.writeObject(_args);
+        out.writeField(_args);
     }

     // documentation inherited
@@ -122,7 +123,7 @@
         super.readObject(ins);
         _receiverId = ins.readShort();
         _methodId = ins.readByte();
-        _args = (ins.readObject() as Array);
+        _args = (ins.readField(Array) as Array);
     }

     /** Identifies the receiver to which this notification is being


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

--- frameworks/projects/framework/src/mx/effects/effectClasses/DissolveInstance.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/DissolveInstance.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.effects.effectClasses
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 11163
Author:   dloverin@adobe.com
Date:     2009-10-26T20:35:33.260693Z

Log Message:
-----------
Changes to turn on the per-module style feature by default.

The feature can be turned off by compiling with -isolateStyles=false.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex, Paul
Tests run: checkintests, all mustella
Is noteworthy for integration: Yes.

Summary of changes:

frameworks/projects/flash-integration/src/mx/flash/FlexContentHolder.as
Propagate the module factory in setFlexContent.

frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
Implement IFlexModule

frameworks/projects/framework/src/mx/containers/ApplicationControlBar.as
Move getting style declaration from the constructor to the override of the module factory setter.

frameworks/projects/framework/src/mx/controls/Alert.as
Set moduleFactory to parent if parent is an IFlexModuleFactory.

frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as
Pass styleManager in CSSStyleDeclaration.

frameworks/projects/framework/src/mx/controls/menuClasses/MenuBarItem.as
Pass styleManager in CSSStyleDeclaration.

frameworks/projects/framework/src/mx/controls/RadioButton.as
Move getting style declaration from the constructor to the override of the module factory setter.

frameworks/projects/framework/src/mx/controls/SWFLoader.as
Handle the “get parent module factory” request from an embedded swf.

frameworks/projects/framework/src/mx/core/Container.as
Pass styleManager in CSSStyleDeclaration.

frameworks/projects/framework/src/mx/core/UIComponent.as
Defer setting styles until a module factory is set.

frameworks/projects/framework/src/mx/managers/systemClasses/ChildManager.as
Set the module factory of an added child.

frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as
Set the module factory of the tooltip to be the same as the target.

frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as
Rename parameter based on PARB feedback.

frameworks/projects/framework/src/mx/styles/IStyleModule.as
Add setStyleDeclarations per spec.

frameworks/projects/framework/src/mx/styles/StyleManager.as
Deprecate old static StyleManager API.

frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
Use IStyleModule.setStyleDeclarations.

frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
A fix to get the correct style manager and pass styleManager in CSSStyleDeclaration.

frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as
Pass styleManager in CSSStyleDeclaration.

frameworks/projects/spark/src/spark/components/Group.as
Propagate moduleFactory in elementAdded().

modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java
Rename –create-style-manager option to –isloateStyles. The option has been changed from hidden to advanced.

modules/compiler/src/java/flex2/compiler/css/StyleDef.vm
Fix bug to not add a default factory that is not needed.

modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDef.vm
Initialize styles in a module factory setter override.

modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm
Changed emitComponentInitializers_1 to not emit style related code if the document implements IFlexModule. Created emitComponentStyleInitializers to emit those styles.

modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java
Generate code to match ClassDef.vm and ClassDefLib.vm changes.

modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java
Add IFlexModuleFactory to standard imports.

modules/compiler/src/java/flex2/configuration_en.properties
Rename –create-style-manager option to –isloateStyles.

modules/compiler/src/java/flex2/tools/PreLink.java
Rename –create-style-manager option to –isloateStyles.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDef.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuBarItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ApplicationControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleModule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/FlexContentHolder.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/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/configuration_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ChildManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as
@@ -375,7 +375,7 @@

             if (!styleDeclaration)
             {
-                styleDeclaration = new CSSStyleDeclaration();
+                styleDeclaration = new CSSStyleDeclaration(null, styleManager);
                 styleDeclaration.setLocalStyle(styleProp, newValue);

                 // If inheritingStyles is undefined, then this object is being
@@ -396,7 +396,7 @@

             if (!styleDeclaration)
             {
-                styleDeclaration = new CSSStyleDeclaration();
+                styleDeclaration = new CSSStyleDeclaration(null, styleManager);
                 styleDeclaration.setLocalStyle(styleProp, newValue);

                 // If nonInheritingStyles is undefined, then this object is being


Transferred from the Adobe Open Source Subversion Repository

Revision: 20149
Author:   klin@adobe.com
Date:     2011-02-04T21:39:31.000080Z

Log Message:
-----------
Add and update [Inspectable] metadata across spark components.

QE notes: No
Doc notes: No
Bugs: SDK-28942
Reviewer: Carol
Tests run: cyclone server, checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TileGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Spinner.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/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.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/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/modules/ModuleLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as
@@ -193,6 +193,8 @@
     //  dataProvider
     //----------------------------------

+    [Inspectable(category="Data")]
+
     /**
      *  @private
      */
@@ -313,6 +315,8 @@
     //----------------------------------

     private var requireSelectionChanged:Boolean;
+
+    [Inspectable(category="General", defaultValue="false")]

     /**
      *  @private


Transferred from the Adobe Open Source Subversion Repository

Revision: 3237
Author:   hmuller@adobe.com
Date:     2008-09-16T22:57:19.486417Z

Log Message:
-----------
- Added HGroup and VGroup wrappers for Group+Horizontal,VerticalLayout.

- Removed the provisional support for specifying layout with a
classname string.  The type of the layout property in Group
and in ItemsComponent is now ILayout.

More about the rationale for this change here:
https://zerowing.corp.adobe.com/display/flex/Shorthand+MXML+syntax+for+object+values

Now, one must either use HGroup,VGroup or an explicit layout tag.
This change will affect most MXML files.  Upgrading is pretty easy.
For example, change

  <Group layout="flex.layout.VerticalLayout"/>

to this:

  <Group>
      <layout> <VerticalLayout/> </layout>
  </Group>

or this:

  <VGroup/>

The Panel and Application classes, whose default layout is BasicLayout,
have to be upgraded with an additional layout element, as in the
first example.

Substantially revised ScrollerSkin's measure and updateDisplayList
methods. The latter now calls invalidateSize (on itself!) if the
visibility of either scrollbar changes.  This causes the measure
method to compute new values for measuredWidth,Height based on the new
visibility state for the scrollbars.  When the scroll policy is "auto"
the Scroller's measured size includes space for the visible
scrollbars.

Note also: the logic for calling updateDisplayList and then restarting
the process if the component has become invalid is in
mx.managers.LayoutManager::validateDisplayList.

- Removed the protected Group invalidateSizeAndLayout() method.
It wasn't being used.

QE: This change will break many existing tests
Doc: No
Checkintests: Pass
Reviewer: Evtim
Bugs:
  SDK-16782 -  ScrollBars overlap content in Scroller

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/states/statefulNodes.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/AddItemsTest.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/RemoveItemsTest.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ItemsComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/ItemsComponentSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/DefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/states/statefulAttributes.mxml</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/flex4/src/flex/skin/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/SelectorSkin.mxml</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/flex4/src/flex/component/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/ScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/flex4test.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -17,6 +17,7 @@
 import flex.core.SkinnableComponent;
 import flex.events.FlexEvent;
 import flex.events.ItemExistenceChangedEvent;
+import flex.intf.ILayout;

 import mx.collections.IList;
 import mx.core.ContainerCreationPolicy;
@@ -233,27 +234,27 @@
     //  layout
     //----------------------------------

+    private var _layout:ILayout = null;
+
     /**
      *  @copy flex.core.Group#layout
      */
-
-    private var _layout:Object;
-
-    public function get layout():Object
+    public function get layout():ILayout
     {
         return (contentGroup) ? contentGroup.layout : _layout;
     }
-
-    public function set layout(value:Object):void
-    {
-        if (value != _layout) {
-            _layout = value;
-            if (contentGroup) {
-                contentGroup.layout = _layout;
-            }
-        }
-    }
-
+
+    /**
+     * @private
+     */
+    public function set layout(value:ILayout):void
+    {
+        _layout = value;
+        if (contentGroup)
+            contentGroup.layout = _layout;
+
+    }
+
     //----------------------------------
     //  itemRenderer
     //----------------------------------


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

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

 package mx.preloaders
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5545
Author:   jimurphy@adobe.com
Date:     2009-03-25T19:00:52.330680Z

Log Message:
-----------
1st pass of rename according to the spec http://opensource.adobe.com/wiki/display/flexsdk/Dropping+the+Fx+Prefix

Flex now requires CSS Style declarations to declare @namespace rules and disambiguate between halo and spark components using CSS 3 namespace prefixes on type selectors. At compile time, this namespace information will be used to map type names to qualified ActionScript class names. At runtime, type selectors are matched on qualified ActionScript class name (for example mx.controls.Button rather than just Button). Flex 3 applications must be compiled with -compatibility-version=3.0.0 to get unqualified CSS type selector behavior.

QE: Yes, this build may help in updating test cases to use the new namespaces and class names.
Dev: Not yet
Doc: Not yet

Modified Paths:
--------------
748 paths were modified

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

--- frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as
+++ frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as
@@ -11,25 +11,25 @@

 -->

-<ItemRenderer focusEnabled="false" xmlns="http://ns.adobe.com/mxml/2009">
+<s:ItemRenderer focusEnabled="false" xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">

-    <states>
-		<State name="normal"/>
-		<State name="hovered"/>
-		<State name="selected"/>
-	</states>
+    <s:states>
+		<s:State name="normal"/>
+		<s:State name="hovered"/>
+		<s:State name="selected"/>
+	</s:states>

-	<Rect left="0" right="0" top="0" bottom="0">
-		<fill>
-			<SolidColor color="{contentBackgroundColor}" />
-		</fill>
-		<fill.hovered>
-		    <SolidColor color="{rollOverColor}" />
-		</fill.hovered>
-		<fill.selected>
-		    <SolidColor color="{selectionColor}" />
-		</fill.selected>
-	</Rect>
-	<TextBox id="labelElement" verticalCenter="0" left="3" right="3" top="6" bottom="4"/>
+	<s:Rect left="0" right="0" top="0" bottom="0">
+		<s:fill>
+			<s:SolidColor color="{contentBackgroundColor}" />
+		</s:fill>
+		<s:fill.hovered>
+		    <s:SolidColor color="{rollOverColor}" />
+		</s:fill.hovered>
+		<s:fill.selected>
+		    <s:SolidColor color="{selectionColor}" />
+		</s:fill.selected>
+	</s:Rect>
+	<s:SimpleText id="labelElement" verticalCenter="0" left="3" right="3" top="6" bottom="4"/>

-</ItemRenderer>
+</s:ItemRenderer>


start at round 1 so that there's something to look at

--- src/battlecode/client/viewer/GameCanvas.as
+++ src/battlecode/client/viewer/GameCanvas.as
@@ -117,6 +117,7 @@

         private function onMatchChange(e:MatchEvent):void {
             centerMap();
+            controller.currentRound += 1;
         }

         // listens for width/height changes to recenter map