Now all Cell graphics are preloaded.

Now all Cell graphics are preloaded.

--- src/Cell.as
+++ src/Cell.as
@@ -31,6 +31,11 @@
 		public static var FieldOffset:Point = new Point(34, 60);

 		private static var EmptyCellGraphics:Array = CreateNumberedCells();
+		private static var CellGraphic:Image = new Image(Assets.CELL_GRAPHIC);
+		private static var CellHoverGraphic:Image = new Image(Assets.CELL_OVER_GRAPHIC);
+		private static var CellDownGraphic:Image = new Image(Assets.CELL_DOWN_GRAPHIC);
+		private static var ExplodedMineCellGraphic:Image = new Image(Assets.EXPLODED_MINE_CELL_GRAPHIC);
+		private static var RevealedMineCellGraphic:Image = new Image(Assets.REVEALED_MINE_CELL_GRAPHIC);

 		private var rowIndex:int;
 		private var columnIndex:int;
@@ -44,9 +49,9 @@
 		public function Cell(rowIndex:int, columnIndex:int, clickHandler:Function):void
 		{
 			super(columnIndex * CellSize + FieldOffset.x, rowIndex * CellSize + FieldOffset.y, CellSize, CellSize, "", onClick);
-			normal = new Image(Assets.CELL_GRAPHIC);
-			hover = new Image(Assets.CELL_OVER_GRAPHIC);
-			down = new Image(Assets.CELL_DOWN_GRAPHIC);
+			normal = CellGraphic;
+			hover = CellHoverGraphic;
+			down = CellDownGraphic;

 			this.rowIndex = rowIndex;
 			this.columnIndex = columnIndex;
@@ -61,9 +66,38 @@
 			return emptyCellGraphics;
 		}

+		/**
+		 * Creates a new empty cell image with the specified number
+		 * @param number The number to draw on the image.
+		 * @return The image with the associated number drawn on it.
+		 */
+		private static function CreateNumberedCell(number:int):Image
+		{
+			if (number == 0)
+				return new Image(Assets.EMPTY_CELL_GRAPHIC);
+
+			var emptyCell:Image = new Image(Assets.EMPTY_CELL_GRAPHIC);
+			var cellWithText:BitmapData = new BitmapData(CellSize, CellSize, false, 0xFFFFFF);
+			Text.font = "default";
+			var textImage:Text = new Text(String(number), 6, 3, CellSize, CellSize);
+			// Lighten the text slightly, giving it a more pastellish look
+			textImage.alpha = .8;
+			// Adjustment for the font being used, make the "1" be centered with the other numbers
+			if (number == 1)
+				++textImage.x;
+			// Use the appropriate color, as defined above
+			textImage.color = Colors[number];
+
+			emptyCell.render(cellWithText, new Point(0, 0), new Point(0, 0));
+			textImage.render(cellWithText, new Point(0, 0), new Point(0, 0));
+
+			return new Image(cellWithText);
+		}
+
 		private function onClick():void
 		{
-			clickHandler(this);
+			if (clickHandler != null)
+				clickHandler(this);
 		}

 		public function get RowIndex():int
@@ -109,6 +143,9 @@
 			++adjacentMineCount;
 		}

+		/**
+		 * Deactivates the cell so it no longer responds to the player.
+		 */
 		public function Deactivate():void
 		{
 			callback = null;
@@ -117,17 +154,20 @@
 			down = normal;
 		}

-		public function Reveal(byUser:Boolean = true):void
+		/**
+		 * Reveals the cell's contents.
+		 * @param byPlayer Whether or not the player caused the revealing.
+		 */
+		public function Reveal(byPlayer:Boolean = true):void
 		{
 			callback = null;
 			isRevealed = true;

 			if (isMine)
 			{
-				if (byUser)
-					normal = new Image(Assets.EXPLODED_MINE_CELL_GRAPHIC);
-				else
-					normal = new Image(Assets.REVEALED_MINE_CELL_GRAPHIC);
+				normal = byPlayer
+					? ExplodedMineCellGraphic
+					: RevealedMineCellGraphic;
 			}
 			else
 			{
@@ -137,31 +177,12 @@
 			down = normal;
 		}

+		/**
+		 * Puts a flag on the cell.
+		 */
 		public function Flag():void
 		{
 			// TODO: implement
 		}
-
-		private static function CreateNumberedCell(value:int):Image
-		{
-			if (value == 0)
-				return new Image(Assets.EMPTY_CELL_GRAPHIC);
-
-			var emptyCell:Image = new Image(Assets.EMPTY_CELL_GRAPHIC);
-			var cellWithText:BitmapData = new BitmapData(CellSize, CellSize, false, 0xFFFFFF);
-			Text.font = "default";
-			//Text.size = 12;
-			//var textImage:Text = new Text(String(value), 7, 5, CellSize, CellSize);
-			var textImage:Text = new Text(String(value), 6, 3, CellSize, CellSize);
-			textImage.alpha = .8;
-			if (value == 1)
-				++textImage.x;
-			textImage.color = Colors[value];
-
-			emptyCell.render(cellWithText, new Point(0, 0), new Point(0, 0));
-			textImage.render(cellWithText, new Point(0, 0), new Point(0, 0));
-
-			return new Image(cellWithText);
-		}
 	}
 }


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

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

 package mx.collections
 {


Add null value check requested in https://issues.apache.org/jira/browse/FLEX-29002.

git-svn-id: 7d913817b0a978d84de757191e4bce372605a781@1398487 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
+++ frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
@@ -1443,9 +1443,9 @@
 				for (var i:int = 0; i < n; i++)
 				{
 					var o:PopUpData = popupInfo[i];
-					if (o && o != p)
+					if (o && o != p && o.owner.accessibilityProperties)
 					{
-						o.owner.accessibilityProperties.silent	= true;
+						o.owner.accessibilityProperties.silent = true;
 					}
 				}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/mx/src/mx/accessibility/ColorPickerAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/ColorPickerAccImpl.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 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: 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@1268983 13f79535-47bb-0310-9956-ffa450edef68

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 10203
Author:   klin@adobe.com
Date:     2009-09-12T23:14:39.753219Z

Log Message:
-----------
http://bugs.adobe.com/jira/browse/SDK-23113 - Bug where backgroundColor and backgroundAlpha would show up twice in the ASDocs.

I pulled out the two styles into separate style files that distinguish between having just the halo theme (some components) or both halo and spark (Container and container subclasses). Updated other components to include the right style files.

QE notes: None
Doc notes: Check to make sure duplicates are not there.
Bugs: SDK-23113
Reviewer: Glenn
Tests run: local asdoc
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BackgroundStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/ContainerBackgroundStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/mx/src/mx/styles/metadata/BackgroundStyles.as
+++ frameworks/projects/mx/src/mx/styles/metadata/BackgroundStyles.as
@@ -0,0 +1,57 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Alpha level of the color defined by the backgroundColor
+ *  property, of the image or SWF file defined by the backgroundImage
+ *  style.
+ *  Valid values range from 0.0 to 1.0. For most controls, the default value is 1.0,
+ *  but for ToolTip controls, the default value is 0.95 and for Alert controls, the default value is 0.9.
+ *
+ *  @default 1.0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="backgroundAlpha", type="Number", inherit="no", theme="halo")]
+
+/**
+ *  Background color of a component.
+ *  You can have both a backgroundColor and a
+ *  backgroundImage set.
+ *  Some components do not have a background.
+ *  The DataGrid control ignores this style.
+ *  The default value is undefined, which means it is not set.
+ *  If both this style and the backgroundImage style
+ *  are undefined, the component has a transparent background.
+ *
+ *
For the Application container, this style specifies the background color
+ *  while the application loads, and a background gradient while it is running.
+ *  Flex calculates the gradient pattern between a color slightly darker than
+ *  the specified color, and a color slightly lighter than the specified color.

+ *
+ *
The default skins of most Flex controls are partially transparent. As a result, the background color of
+ *  a container partially "bleeds through" to controls that are in that container. You can avoid this by setting the
+ *  alpha values of the control's fillAlphas property to 1, as the following example shows:
+ *

+ *  <mx:Container backgroundColor="0x66CC66"/>
+ *      <mx:ControlName ... fillAlphas="[1,1]"/>
+ *  </mx:Container>

+ *

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="backgroundColor", type="uint", format="Color", inherit="no", theme="halo")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 18323
Author:   smgilson@adobe.com
Date:     2010-10-26T17:50:12.524532Z

Log Message:
-----------
Fix invalid HTML in ASDoc comments for the [DiscouragedForProfile] metadata tag

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

Modified Paths:
--------------
<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/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ToggleButton.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/BorderContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.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/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBarButton.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/components/ButtonBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Form.as</path>

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

--- frameworks/projects/spark/src/spark/components/BorderContainer.as
+++ frameworks/projects/spark/src/spark/components/BorderContainer.as
@@ -156,7 +156,7 @@
  * Because this component does not define a skin for the mobile theme, Adobe
  * recommends that you not use it in a mobile application. Alternatively, you
  * can define your own mobile skin for the component. For more information,
- * see Spark Skinning.
+ * see Spark Skinning.
  */
 [DiscouragedForProfile("mobileDevice")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 10461
Author:   gruehle@adobe.com
Date:     2009-09-21T16:55:01.374911Z

Log Message:
-----------
Temporarily revert 10435. It broke too many mustella bitmap comparisons.

Checkintests pass.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ApplicationBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SkinnableContainerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/BorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Border.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SkinnableDataContainerSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/BorderContainer.as
+++ frameworks/projects/spark/src/spark/components/BorderContainer.as
@@ -15,6 +15,35 @@
 import mx.graphics.IStroke;

 import spark.components.SkinnableContainer;
+
+/**
+ *  Alpha level of the color defined by the backgroundColor
+ *  property, or the image file defined by the backgroundImage
+ *  style.
+ *  Valid values range from 0.0 to 1.0.
+ *
+ *  @default 1.0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="backgroundAlpha", type="Number", inherit="no")]
+
+/**
+ *  Background color of the container.
+ *
+ *  The default value is undefined, which means it is not set.
+ *  If both this style and the backgroundImage style
+ *  are undefined, the component has a transparent background.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="backgroundColor", type="uint", format="Color", inherit="no")]

 /**
  *  Background image of a container.  This can be an absolute or relative


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.effects.animation
 {


Removed unused class

Removed unused class

--- src/Modi/ManagedObject.as
+++ src/Modi/ManagedObject.as
@@ -26,8 +26,8 @@
         public function ManagedObject()
         {
             _attributeObservers = new Dictionary();
-            _registeredAttributes = new Array();
-            _registeredAttributeTypes = new Array();
+//            _registeredAttributes = new Array();
+//            _registeredAttributeTypes = new Array();
         }

         public function set contextId(contextId:ManagedObjectId):void
@@ -81,26 +81,21 @@

         protected function registerAttributes(attributes:Array, attributeTypes:Array):void
         {
-            _registeredAttributes = _registeredAttributes.concat(attributes);
-            _registeredAttributeTypes = _registeredAttributeTypes.concat(attributeTypes);
+            _registeredAttributes = !_registeredAttributes ? attributes : _registeredAttributes.concat(attributes);
+            _registeredAttributeTypes = !_registeredAttributeTypes ? attributeTypes : _registeredAttributeTypes.concat(attributeTypes);
         }

         public function allowChange(attribute:String, oldValue:*, newValue:*):Boolean
         {
             /// Ako ne postoje observeri na ovaj atribut, odma vraca true
-            if (_attributeObservers[attribute] === undefined)
-            {
-                return true;
-            }
+            if (_attributeObservers[attribute] === undefined) return true;

             var targetObservers:Vector.<IObserver> = _attributeObservers[attribute];
             var length:int = targetObservers.length;
-            var observer:IObserver;
-            var i:int;
-
-            for (i = 0; i < length; i++)
-            {
-                observer = targetObservers[i];
+
+            for (var i:int = 0; i < length; i++)
+            {
+                var observer:IObserver = targetObservers[i];
                 if (observer.observedEvent == ManagedObjectEvent.ALLOW_CHANGE)
                 {
                     var observerEvent:ManagedObjectEvent = new ManagedObjectEvent(this, attribute, ManagedObjectEvent.ALLOW_CHANGE, oldValue, newValue);
@@ -159,12 +154,8 @@
                 writeUnindentified(attributeName, this[attributeName], attributeType, serializator);
             }

-            if (contextId)
-            {
-                writeUnindentified("id", contextId.objectId, "String", serializator);
-            }
-        }
-
+            if (contextId) writeUnindentified("id", contextId.objectId, "String", serializator);
+        }

         public function deserialize(deserializator:IDeserializator):void
         {
@@ -213,34 +204,13 @@
         {
             var pass: Boolean = true;

-            if (type == "String")
-            {
-                object[name] = deserializator.readString(name);
-            }
-            else if (type == "int")
-            {
-                object[name] = deserializator.readInt(name);
-            }
-            else if (type == "uint")
-            {
-                object[name] = deserializator.readUInt(name);
-            }
-            else if (type == "Number")
-            {
-                object[name] = deserializator.readNumber(name);
-            }
-            else if (type == "Boolean")
-            {
-                object[name] = deserializator.readBoolean(name);
-            }
-            else if (type == "Dictionary")
-            {
-                object[name] = deserializator.readDictionary(name);
-            }
-            else if (type == "Array")
-            {
-                object[name] = deserializator.readArray(name);
-            }
+            if (type == "String")             object[name] = deserializator.readString(name);
+            else if (type == "int")           object[name] = deserializator.readInt(name);
+            else if (type == "uint")          object[name] = deserializator.readUInt(name);
+            else if (type == "Number")        object[name] = deserializator.readNumber(name);
+            else if (type == "Boolean")       object[name] = deserializator.readBoolean(name);
+            else if (type == "Dictionary")    object[name] = deserializator.readDictionary(name);
+            else if (type == "Array")         object[name] = deserializator.readArray(name);
             else if (type == "ManagedValue")
             {
                 var managedValue:String = deserializator.readString(name);


Implement BitmapData()

Implement BitmapData()

--- src/flash/display/BitmapData.as
+++ src/flash/display/BitmapData.as
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2014 Mozilla Foundation
+ *
+ * Licensed 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
+ *totalMemory
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package flash.display {
   import Object;
   import flash.display.IBitmapDrawable;
@@ -8,13 +24,15 @@
   import flash.utils.ByteArray;
   import flash.geom.ColorTransform;
   import flash.geom.Rectangle;
+
+  [native(cls='BitmapData')]
   public class BitmapData implements IBitmapDrawable {
     public function BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 4294967295) {}
     public native function clone():BitmapData;
     public native function get width():int;
     public native function get height():int;
     public native function get transparent():Boolean;
-    public function get rect():Rectangle { notImplemented("rect"); }
+    public function get rect():Rectangle { return new Rectangle (0, 0, width(), height()); }
     public native function getPixel(x:int, y:int):uint;
     public native function getPixel32(x:int, y:int):uint;
     public native function setPixel(x:int, y:int, color:uint):void;


新增參數設定

新增參數設定

外框線 寬
外框線 顏色
MAX SIZE
MIN SIZE

--- flash/src/lambmei/starling/display/HandleSheet.as
+++ flash/src/lambmei/starling/display/HandleSheet.as
@@ -20,9 +20,30 @@

 	public class HandleSheet extends Sprite
 	{
+		//var
+
+		/**外框線寬度**/
+		protected var _thickness:Number = 2
+		public function get thickness():Number { return _thickness; }
+		public function set thickness(value:Number):void{_thickness = value;}
+
+		/**外框線顏色**/
+		protected var _lineColor:uint = 0xffffff
+		public function get lineColor():uint { return _lineColor;}
+		public function set lineColor(value:uint):void { _lineColor = value;}
+
+		/** 最小SIZE **/
+		protected var _minSize:Number	//預設 NaN
+		public function get minSize():Number{ return _minSize;}
+		public function set minSize(value:Number):void{_minSize = value;}
+
+		/** 最大可縮放的SIZE **/
+		protected var _maxSize:Number	//預設 NaN
+		public function get maxSize():Number{return _maxSize;}
+		public function set maxSize(value:Number):void { _maxSize = value; }

 		/** 點擊 將物件移動到前方 **/
-		protected var _touchBringToFront:Boolean
+		protected var _touchBringToFront:Boolean
 		public function get touchBringToFront():Boolean { return _touchBringToFront;}
 		public function set touchBringToFront(value:Boolean):void{ _touchBringToFront = value; }

@@ -101,21 +122,37 @@
 		{
 			rotation += deltaAngle;

+			var _sizeRate:Number = scaleX * sizeDiff;
+
+			var isMinSize:Boolean = _minSize > 0 && _minSize > _sizeRate
+			var isMaxSize:Boolean = _maxSize > 0 && _sizeRate > _maxSize
+			//在範圍內才縮放
+			if(!(isMinSize || isMaxSize)){
+
+				if(sizeDiff != Infinity){
+					updateSize(sizeDiff)
+				}
+
+			}
+
+
+
+			updateLine(_ctrlButton.scaleX)
+		}
+
+
+		protected function updateSize(sizeDiff:Number):void
+		{
 			scaleX *= sizeDiff;
 			scaleY *= sizeDiff;

 			//_ctrlButton 保持原比例
 			if(_ctrlButton){
 				_ctrlButton.scaleX /= sizeDiff
-				_ctrlButton.scaleY /= sizeDiff
-
+				_ctrlButton.scaleY /= sizeDiff
 				//size 變更後需要重新定位
 				updateCtrlButtonPosition()
 			}
-
-
-
-			updateLine(_ctrlButton.scaleX)
 		}

 		/**計算CtrlButton 放置位置**/
@@ -142,9 +179,7 @@
 		protected function updateLine(sizeRate:Number):void
 		{
 			if(_contents && _shape){
-				_shape.graphics.lineStyle(10,0xFFffFF);
 					_shape.graphics.clear();
-
 					System.gc();

 					var _w:Number = _contents.width
@@ -152,7 +187,7 @@
 					var _halfW:Number = _w/2
 					var _halfH:Number= _h/2

-					_shape.graphics.lineStyle(2 * sizeRate ,0xFFFFFF);
+					_shape.graphics.lineStyle(_thickness * sizeRate ,_lineColor);
 					//_shape.graphics.drawRoundRect( -_halfW, -_halfH, _w, _h, 10 );
 					_shape.graphics.drawRect(-_halfW, -_halfH, _w, _h);


Disable module selector in 1st tutorial

Disable module selector in 1st tutorial

--- src/LevelState.as
+++ src/LevelState.as
@@ -273,9 +273,14 @@
 				currentModule = null;
 			}

+			var modes:Array = [MODE_CONNECT, MODE_REMOVE];
+			if (level.allowedModules.length)
+				modes.push(MODE_MODULE);
+			if (level.delay)
+				modes.push(MODE_DELAY);
+
 			var modeSelectButtons:Vector.<MenuButton> = new Vector.<MenuButton>;
-			var lastMode:int = level.delay ? MODE_DELAY : MODE_REMOVE;
-			for (var newMode:int = 0; newMode <= lastMode; newMode++) {
+			for each (var newMode:int in modes) {
 				modeSelectButtons.push(new GraphicButton( -1, -1, MODE_SPRITES[newMode], function selectMode(newMode:int):void {
 					mode = newMode;
 				}, HOTKEYS[newMode]).setParam(newMode).setSelected(newMode == mode));
@@ -823,7 +828,7 @@
 		[Embed(source = "../lib/art/ui/delay.png")] private const _delay_sprite:Class;
 		private const MODE_SPRITES:Array = [_module_sprite, _connect_sprite, _remove_sprite, _delay_sprite];
 		[Embed(source = "../lib/art/ui/list.png")] private const _list_sprite:Class;
-		private const HOTKEYS:Array = [new Key("ONE"), new Key("TWO"), new Key("THREE"), new Key("FOUR")];
+		private const HOTKEYS:Array = [new Key("THREE"), new Key("ONE"), new Key("TWO"), new Key("FOUR")];
 		[Embed(source = "../lib/art/ui/undo.png")] private const _undo_sprite:Class;
 		[Embed(source = "../lib/art/ui/redo.png")] private const _redo_sprite:Class;
 		[Embed(source = "../lib/art/ui/up.png")] private const _back_sprite:Class;


needs to extend EventDispatcher to be cross-compiled

--- frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/BindableCSSStyles.as
+++ frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/BindableCSSStyles.as
@@ -31,7 +31,7 @@
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class BindableCSSStyles
+	public class BindableCSSStyles extends EventDispatcher
 	{
         /**
          *  Constructor.


Transferred from the Adobe Open Source Subversion Repository

Revision: 19380
Author:   mcho@adobe.com
Date:     2010-12-15T00:00:09.653153Z

Log Message:
-----------
Replace fxg scrollbar skins with graphics drawing; Add 320 ppi for scrollbar skins

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

Modified Paths:
--------------
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/VScrollThumb.fxg</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/VScrollThumb.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/HScrollThumb.fxg</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/HScrollThumb.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>

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

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

-import flash.display.DisplayObject;
+import flash.display.CapsStyle;
 import flash.display.Graphics;
+import flash.display.JointStyle;
+import flash.display.LineScaleMode;

 import mx.core.DPIClassification;

 import spark.components.Button;
 import spark.skins.mobile.supportClasses.MobileSkin;
-import spark.skins.mobile160.assets.HScrollThumb;
-import spark.skins.mobile240.assets.HScrollThumb;

 /**
  *  ActionScript-based skin for the HScrollBar thumb skin part in mobile applications.
@@ -51,19 +51,25 @@
         super();
 		useChromeColor = true;

-		// Depending on density set asset and visible thumb height
+		// Depending on density set padding
 		switch (applicationDPI)
 		{
+			case DPIClassification.DPI_320:
+			{
+				paddingBottom = 5;
+				paddingHorizontal = 4;
+				break;
+			}
 			case DPIClassification.DPI_240:
 			{
-				thumbClass = spark.skins.mobile240.assets.HScrollThumb;
-				thumbHeight = 6;
+				paddingBottom = 4;
+				paddingHorizontal = 3;
 				break;
 			}
 			default:
 			{
-				thumbClass = spark.skins.mobile160.assets.HScrollThumb;
-				thumbHeight = 4;
+				paddingBottom = 3;
+				paddingHorizontal = 2;
 				break;
 			}
 		}
@@ -78,89 +84,57 @@
      * @copy spark.skins.spark.ApplicationSkin#hostComponent
      */
     public var hostComponent:Button;
-
-
-    //--------------------------------------------------------------------------
-    //
-    //  Variables
-    //
-    //--------------------------------------------------------------------------
-    /**
-     *  Specifies the FXG class to use for the thumb.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    public var thumbClass:Class;
-
-    /**
-     *  Specifies the DisplayObject to use for the thumb.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    public var thumbSkin:DisplayObject;

-
-    /**
-     *  Height of the visible thumb area.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    protected var thumbHeight:int;
-
-
-    //--------------------------------------------------------------------------
-    //
-    //  Overridden methods
-    //
-    //--------------------------------------------------------------------------
-    /**
-     *  @private
-     */
-    override protected function createChildren():void
-    {
-        if (!thumbSkin)
-        {
-            thumbSkin = new thumbClass();
-            addChild(thumbSkin);
-        }
-    }
-
-    /**
-     *  @private
-     */
-    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
-    {
-        super.updateDisplayList(unscaledWidth, unscaledHeight);
-        setElementSize(thumbSkin, unscaledWidth, unscaledHeight);
-    }
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+	/**
+	 *  Padding from bottom
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 2.5
+	 *  @productversion Flex 4.5
+	 */
+	protected var paddingBottom:int;

-    /**
-     *  @private
-     */
-    override protected function beginChromeColorFill(chromeColorGraphics:Graphics):void
-    {
-        var chromeColor:uint = getChromeColor();
-        chromeColorGraphics.beginFill(chromeColor, 1);
-    }
-
-    /**
-     *  @private
-     */
+	/**
+	 *  Horizontal padding from left and right
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 2.5
+	 *  @productversion Flex 4.5
+	 */
+	protected var paddingHorizontal:int;
+
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+	/**
+	 *  @protected
+	 */
+	override protected function beginChromeColorFill(chromeColorGraphics:Graphics):void
+	{
+		var chromeColor:uint = getChromeColor();
+		chromeColorGraphics.beginFill(chromeColor, 1);
+		chromeColorGraphics.lineStyle(1, 0x000000, 1, false, LineScaleMode.NORMAL, CapsStyle.NONE, JointStyle.ROUND);
+	}
+
+	/**
+	 *  @protected
+	 */
     override protected function drawChromeColor(chromeColorGraphics:Graphics, unscaledWidth:Number, unscaledHeight:Number):void
     {
-        chromeColorGraphics.drawRoundRect(0, 0,
-                                          unscaledWidth, thumbHeight,
-                                          thumbHeight, thumbHeight);
-    }
-
+		var thumbHeight:Number = unscaledHeight - paddingBottom;
+		chromeColorGraphics.drawRoundRect(paddingHorizontal + .5, 0.5,
+									      unscaledWidth - 2 * paddingHorizontal, thumbHeight,
+										  thumbHeight, thumbHeight);
+	}
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8721
Author:   aharui@adobe.com
Date:     2009-07-21T22:11:37.692397Z

Log Message:
-----------
Hopefully final implementation of IME support.

QE Notes: None
Doc Notes: new API in IIMESupport
Bugs: SDK-22267, SDK-18516
Reviewer: Gordon
API Change: Yes
Is noteworthy for integration: Yes, new API in IIMESupport
tests: checkintests mustella/gumbo/components/TextInput mustella/gumbo/components/TextArea

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.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/spark/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IIMESupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>

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

--- frameworks/projects/framework/src/mx/managers/FocusManager.as
+++ frameworks/projects/framework/src/mx/managers/FocusManager.as
@@ -622,19 +622,17 @@
             // trace("FM " + this + " setting last focus " + target);
             _lastFocus = findFocusManagerComponent(InteractiveObject(target));

-            /*
 			if (Capabilities.hasIME)
             {
                 var usesIME:Boolean;
                 if (_lastFocus is IIMESupport)
                 {
                     var imeFocus:IIMESupport = IIMESupport(_lastFocus);
-                    if (imeFocus.editable)
+                    if (imeFocus.enableIME)
                         usesIME = true;
                 }
                 IME.enabled = usesIME;
             }
-			*/

 			// handle default button here
 			// we can't check for Button because of cross-versioning so


Transferred from the Adobe Open Source Subversion Repository

Revision: 7693
Author:   rfrishbe@adobe.com
Date:     2009-06-09T23:06:34.640877Z

Log Message:
-----------
VideoPlayer fixes:

- When swapping skins, we need to make sure our video element was validated, otherwise it might start playing at a later date and/or our playhead info might not be correct.
- Fix a bug for how URL's containing a "?" are handled.
- Change VideoPlayerVolumeBar to use a normal dropshadow since the RectangularDropShadow class actually blocks mouse interactions
- Fix up live streaming

QE Notes: -
Doc Notes: -
Bugs: SDK-21696, SDK-21675, SDK-21328, SDK-21262
Reviewer: Deepa
tests: checkintest, mustella videoelement/videoplayer tests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/VideoPlayer.as
+++ frameworks/projects/spark/src/spark/components/VideoPlayer.as
@@ -1254,7 +1254,13 @@
     override protected function partRemoved(partName:String, instance:Object):void
     {
         if (instance == videoElement)
-        {
+        {
+            // validate before doing anything with the videoElement.
+            // This is so if the video element hasn't been validated, it won't start playing.
+            // plus this way we'll get a valid playheadTime and all those other properties
+            // we are interested in.
+            videoElement.validateNow();
+
             // copy proxied values from video (if explicitely set) to videoProperties

             var newVideoProperties:Object = {};
@@ -1689,6 +1695,9 @@
             else
                 FlexGlobals.topLevelApplication.addChild(this);

+            // Push the component out to -2*width, -2*height so that it's completely
+            // off-screen.  This way no component will get in the way when we set
+            // the fullScreenRect to this spot.
             this.x = -2*width;
             this.y = -2*height;


Transferred from the Adobe Open Source Subversion Repository

Revision: 19291
Author:   klin@adobe.com
Date:     2010-12-10T21:58:08.665321Z

Log Message:
-----------
Removing excess ASDoc for verticalAlign and horizontalAlign.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -395,16 +395,6 @@
      *
If the value is "bottom", "middle",
      *  or "top" then the layout elements are aligned relative
      *  to the container's contentHeight property.

-     *
-     *
If the value is "contentJustify" then the actual
-     *  height of the layout element is set to
-     *  the container's contentHeight property.
-     *  The content height of the container is the height of the largest layout element.
-     *  If all layout elements are smaller than the height of the container,
-     *  then set the height of all the layout elements to the height of the container.

-     *
-     *
If the value is "justify" then the actual height
-     *  of the layout elements is set to the container's height.

      *
      *
This property has no effect when clipAndEnableScrolling is true
      *  and the contentHeight is greater than the container's height.

@@ -902,7 +892,7 @@
         _lastIndexInView = lastIndex;
         dispatchEvent(new Event("indexInViewChanged"));
     }
-
+
     //----------------------------------
     //  target
     //----------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 5762
Author:   jimurphy@adobe.com
Date:     2009-03-30T19:25:21.583080Z

Log Message:
-----------
airframework update:
mx.core.FxWindowApplication -> spark.components.windowClasses.WindowedApplication
should have been:
mx.core.FxWindowApplication -> spark.components.WindowedApplication

add back classes to spark-manifest.xml that got nixed during the manifest merge and update related effects classes that were not being compiled because of this omission.

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk/frameworks</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/WindowedApplicationSkin.mxml</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks/projects/flex4</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/spark-air-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/AIRFrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/WindowedApplication.as" copyfrom-rev="5757" action="A">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks/projects/framework</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -15,7 +15,7 @@

 import mx.core.mx_internal;
 import spark.effects.animation.Animation;
-import spark.effects.animation.AnimationProperty;
+import spark.effects.AnimationProperty;
 import mx.effects.Effect;
 import spark.effects.Animate;
 import spark.effects.supportClasses.AnimateInstance;


Transferred from the Adobe Open Source Subversion Repository

Revision: 11247
Author:   klin@adobe.com
Date:     2009-10-28T21:59:11.963883Z

Log Message:
-----------
Fix for https://bugs.adobe.com/jira/browse/SDK-23184.

Updated a bunch of Style metadata ASDocs to describe different defaults between the Halo and Spark themes. Also, fixed a few typos along the way.

defaults.css - rearranged a few styles to be in alphabetical order
Button.as - removed extra emphasizedSkin style metadata
Panel.as - added spark theme to borderAlpha metadata

QE notes: None
Doc notes: None
Bugs: SDK-23184
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/fl/video/NCManagerNative.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.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/styles/metadata/TextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PopUpMenuIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/PaddingStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/GapStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/fl/video/NCManagerDynamicStream.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/FocusStyles.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/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -231,7 +231,7 @@
     /**
      * @private
      *
-     * This function is overriden to prevent starting the single instance more
+     * This function is overridden to prevent starting the single instance more
      * than once. It will be called whenever any of the transform effects are
      * played, but it should only actually start the instance the first time.
      */


Revert "minor typing improvement"

Revert "minor typing improvement"

This reverts commit 0fc43b87979e8fd8c0118d807c2ad4ac28bec3f2.

--- WeaveASJS/src/Weave.as
+++ WeaveASJS/src/Weave.as
@@ -81,7 +81,7 @@
 		 * @return A WeavePath object.
 		 * @see WeavePath
 		 */
-		public function path(...basePath/*/[(string|number)[]]|(string|number)[]/*/):WeavePath
+		public function path(...basePath/*/(string|number|(string|number)[])[]/*/):WeavePath
 		{
 			if (basePath.length == 1 && basePath[0] is Array)
 				basePath = basePath[0];
@@ -96,7 +96,7 @@
 		 * @param path An Array (or multiple parameters) specifying the path to an object in the session state.
 		 *             A child index number may be used in place of a name in the path when its parent object is a LinkableHashMap.
 		 */
-		public function getObject(...path/*/[(string|number)[]]|(string|number)[]/*/):ILinkableObject
+		public function getObject(...path/*/(string|number|(string|number)[])[]/*/):ILinkableObject
 		{
 			if (path.length == 1)
 			{


Check if ExternalInterface is available

Check if ExternalInterface is available

--- common/actionscript/org/concord/sparks/JavaScript.as
+++ common/actionscript/org/concord/sparks/JavaScript.as
@@ -37,17 +37,29 @@
         public function call(func:String, ... values) {
             var args = values;
             args.unshift(func);
-            ExternalInterface.call.apply(null, args);
+            if (ExternalInterface.available) {
+                ExternalInterface.call.apply(null, args);
+            }
+            else {
+                trace('ExternalInterface unavailable: tried to call ' + func + '(' + args + ')');
+            }
         }

         public function sendEvent(name:String, ... values) {
             var time = String(new Date().valueOf());
-            ExternalInterface.call('receiveEvent', name, values.join('|'), time);
+            if (ExternalInterface.available) {
+                ExternalInterface.call('receiveEvent', name, values.join('|'), time);
+            }
+            else {
+                trace('ExternalInterface unavailable: tried to call receiveEvent(' + name + ', '  + values.join('|') + ', ' + time + ')');
+            }
         }

         private function setupCallbacks():void {
-            ExternalInterface.addCallback("sendMessageToFlash",
+            if (ExternalInterface.available) {
+                ExternalInterface.addCallback("sendMessageToFlash",
                     getMessageFromJavaScript);
+            }
         }

         private function parseParameter(parm) {


Need to add the unloaded sprite while we're waiting for the real one (assuming our descendants do something with that).

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@1008 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/cast/CharacterSprite.as
+++ src/as/com/threerings/cast/CharacterSprite.as
@@ -234,6 +234,7 @@
     {
         DisplayUtil.removeAllChildren(_mainSprite);
         if (_aframes != null) {
+            updateWithUnloadedSprite();
             var curFrames :ActionFrames = _aframes;
             _aframes.getFrames(_orient, function(frames :MultiFrameBitmap) :void {
                 // Ensure our action hasn't been swapped out on us since we started loading.


Add OnDLCInstalled event id to SteamConstants

--- lib/src/com/amanitadesign/steam/SteamConstants.as
+++ lib/src/com/amanitadesign/steam/SteamConstants.as
@@ -37,6 +37,7 @@
 		public static const RESPONSE_OnGetPublishedItemVoteDetails:int = 17;
 		public static const RESPONSE_OnUpdateUserPublishedItemVote:int = 18;
 		public static const RESPONSE_OnSetUserPublishedFileAction:int = 19;
+		public static const RESPONSE_OnDLCInstalled:int = 20;
 	}

 }


fix comment for asdoc

fix comment for asdoc

--- src/com/google/analytics/utils/Environment.as
+++ src/com/google/analytics/utils/Environment.as
@@ -322,7 +322,7 @@
         /**
          * Returns the flash version object representation of the application.
          *
This object contains the attributes major, minor, build and revision :

-         *
Example :
+         *
Example :

          *

          * import com.google.analytics.utils.Environment ;
          *


Forgot getClassName() returns Namespace::Name format.

--- tamarin-central/thane/AMF3Encoder.as
+++ tamarin-central/thane/AMF3Encoder.as
@@ -58,7 +58,7 @@
             throw new Error("XML serialization not supported");

         } else {
-            if (Domain.currentDomain.getClassName(value) == "flash.utils.ByteArray") {
+            if (Domain.currentDomain.getClassName(value) == "flash.utils::ByteArray") {
                 _ctx.bytes.writeByte(AMF3.MARK_BYTE_ARRAY);
                 encodeByteArray(value as ByteArray);
                 return;


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

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

 package spark.skins.mobile
 {


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

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

 package spark.skins.mobile.supportClasses
 {


Continued RaceTrack class restructuring to make it a re-usable class adhering to good OOP.

--- src/engine/tetragon/view/render/racetrack/RaceTrack.as
+++ src/engine/tetragon/view/render/racetrack/RaceTrack.as
@@ -68,87 +68,57 @@
 		private var _bgLayers:Vector.<ParallaxLayer>;

 		private var _sprites:Sprites;
-		private var _bgLayer1:ParallaxLayer;
-		private var _bgLayer2:ParallaxLayer;
-		private var _bgLayer3:ParallaxLayer;
-		private var _segments:Vector.<Segment>;
-		// array of road segments
-		private var _cars:Vector.<Car>;
-		// array of cars on the road
+		private var _segments:Vector.<Segment>;			// array of road segments
+		private var _cars:Vector.<Car>;					// array of cars on the road

 		private var _width:int;
 		private var _height:int;
 		private var _widthHalf:int;
 		private var _heightHalf:int;

-		private var _dt:Number;
-		// how long is each frame (in seconds)
-		private var _resolution:Number;
-		// scaling factor to provide resolution independence (computed)
-		private var _drawDistance:int = 300;
-		// number of segments to draw
-		private var _hazeDensity:int = 10;
-		// exponential fog density
+		private var _dt:Number;						// how long is each frame (in seconds)
+		private var _resolution:Number;				// scaling factor to provide resolution independence (computed)
+		private var _drawDistance:int;				// number of segments to draw
+		private var _hazeDensity:int;				// exponential haze density
 		private var _hazeColor:uint;
-		private var _cameraHeight:Number = 1000;
-		// z height of camera (500 - 5000)
-		private var _cameraDepth:Number;
-		// z distance camera is from screen (computed)
-		private var _fieldOfView:int = 100;
-		// angle (degrees) for field of view (80 - 140)
+
+		private var _cameraHeight:Number = 1000;	// z height of camera (500 - 5000)
+		private var _cameraDepth:Number;			// z distance camera is from screen (computed)
+		private var _fieldOfView:int = 100;			// angle (degrees) for field of view (80 - 140)
 		private var _bgSpeedMult:Number = 0.001;
-		// background sky layer scroll speed when going around curve (or up hill)
-		private var _skyOffset:Number = 0;
-		// current sky scroll offset
-		private var _hillOffset:Number = 0;
-		// current hill scroll offset
-		private var _treeOffset:Number = 0;
-		// current tree scroll offset
-		private var _playerX:Number = 0;
-		// player x offset from center of road (-1 to 1 to stay independent of roadWidth)
-		private var _playerZ:Number;
-		// player relative z distance from camera (computed)
-		private var _roadWidth:int = 2000;
-		// actually half the roads width, easier math if the road spans from -roadWidth to +roadWidth
-		private var _segmentLength:int = 200;
-		// length of a single segment
-		private var _rumbleLength:int = 3;
-		// number of segments per red/white rumble strip
-		private var _trackLength:int = 200;
-		// z length of entire track (computed)
-		private var _lanes:int = 3;
-		// number of lanes
-		private var _totalCars:Number = 200;
-		// total number of cars on the road
-		private var _accel:Number;
-		// acceleration rate - tuned until it 'felt' right
-		private var _breaking:Number;
-		// deceleration rate when braking
-		private var _decel:Number;
-		// 'natural' deceleration rate when neither accelerating, nor braking
-		private var _offRoadDecel:Number = 0.99;
-		// speed multiplier when off road (e.g. you lose 2% speed each update frame)
-		private var _offRoadLimit:Number;
-		// limit when off road deceleration no longer applies (e.g. you can always go at least this speed even when off road)
-		private var _centrifugal:Number = 0.3;
-		// centrifugal force multiplier when going around curves
-		private var _position:Number;
-		// current camera Z position (add playerZ to get player's absolute Z position)
-		private var _speed:Number;
-		// current speed
-		private var _maxSpeed:Number;
-		// top speed (ensure we can't move more than 1 segment in a single frame to make collision detection easier)
-		private var _currentLapTime:Number = 0;
-		// current lap time
-		private var _lastLapTime:Number = 0;
-		// last lap time
+
+		private var _playerX:Number = 0;			// player x offset from center of road (-1 to 1 to stay independent of roadWidth)
+		private var _playerY:int;					// player x offset from center of road (-1 to 1 to stay independent of roadWidth)
+		private var _playerZ:Number;				// player relative z distance from camera (computed)
+
+		private var _roadWidth:int = 2000;			// actually half the roads width, easier math if the road spans from -roadWidth to +roadWidth
+		private var _segmentLength:int = 200;		// length of a single segment
+		private var _rumbleLength:int = 3;			// number of segments per red/white rumble strip
+		private var _trackLength:int = 200;			// z length of entire track (computed)
+		private var _lanes:int = 3;					// number of lanes
+		private var _totalCars:Number = 200;		// total number of cars on the road
+
+		private var _accel:Number;					// acceleration rate - tuned until it 'felt' right
+		private var _breaking:Number;				// deceleration rate when braking
+		private var _decel:Number;					// 'natural' deceleration rate when neither accelerating, nor braking
+		private var _offRoadDecel:Number = 0.99;	// speed multiplier when off road (e.g. you lose 2% speed each update frame)
+		private var _offRoadLimit:Number;			// limit when off road deceleration no longer applies (e.g. you can always go at least this speed even when off road)
+		private var _centrifugal:Number = 0.3;		// centrifugal force multiplier when going around curves
+
+		private var _position:Number;				// current camera Z position (add playerZ to get player's absolute Z position)
+		private var _speed:Number;					// current speed
+		private var _maxSpeed:Number;				// top speed (ensure we can't move more than 1 segment in a single frame to make collision detection easier)
+
+		private var _currentLapTime:Number = 0;		// current lap time
+		private var _lastLapTime:Number = 0;		// last lap time
 		private var _fast_lap_time:Number;
+
 		private var _isAccelerate:Boolean;
 		private var _isBrake:Boolean;
 		private var _isSteerLeft:Boolean;
 		private var _isSteerRight:Boolean;
-
-
+
+
 		// -----------------------------------------------------------------------------------------
 		// Signals
 		// -----------------------------------------------------------------------------------------
@@ -231,7 +201,8 @@
 				playerW:Number = _sprites.PLAYER_STRAIGHT.width * _sprites.SCALE,
 				speedPercent:Number = _speed / _maxSpeed,
 				dx:Number = _dt * 2 * speedPercent,
-				startPosition:Number = _position;
+				startPosition:Number = _position,
+				bgLayer:ParallaxLayer;

 			updateCars(_dt, playerSegment, playerW);
 			_position = increase(_position, _dt * _speed, _trackLength);
@@ -288,9 +259,15 @@
 			_speed = limit(_speed, 0, _maxSpeed);	// or exceed maxSpeed.

 			/* Calculate scroll offsets for BG layers. */
-			_skyOffset = increase(_skyOffset, _bgSpeedMult * playerSegment.curve * (_position - startPosition) / _segmentLength, 1);
-			_hillOffset = increase(_hillOffset, _bgSpeedMult * playerSegment.curve * (_position - startPosition) / _segmentLength, 1);
-			_treeOffset = increase(_treeOffset, _bgSpeedMult * playerSegment.curve * (_position - startPosition) / _segmentLength, 1);
+			if (_bgLayers)
+			{
+				for (i = 0; i < _bgLayers.length; i++)
+				{
+					bgLayer = _bgLayers[i];
+					bgLayer.offsetFactorX = increase(bgLayer.offsetFactorX, _bgSpeedMult * playerSegment.curve * (_position - startPosition) / _segmentLength, 1.0);
+					bgLayer.offsetFactorY = _resolution * _bgSpeedMult * _playerY;
+				}
+			}

 			/* Update track time stats. */
 			if (_position > _playerZ)
@@ -323,7 +300,6 @@
 				basePercent:Number = percentRemaining(_position, _segmentLength),
 				playerSegment:Segment = findSegment(_position + _playerZ),
 				playerPercent:Number = percentRemaining(_position + _playerZ, _segmentLength),
-				playerY:int = interpolate(playerSegment.p1.world.y, playerSegment.p2.world.y, playerPercent),
 				s:Segment,
 				car:Car,
 				sprite:SSprite,
@@ -336,14 +312,11 @@
 				spriteX:Number,
 				spriteY:Number;

+			_playerY = interpolate(playerSegment.p1.world.y, playerSegment.p2.world.y, playerPercent);
+
 			_renderBuffer.clear();

-			/* Render background layers. */
-			_bgLayer1.offsetFactorX = _skyOffset;
-			_bgLayer1.offsetFactorY = _resolution * _bgSpeedMult * playerY;
-			_bgLayer2.offsetFactorX = _hillOffset;
-			_bgLayer3.offsetFactorX = _treeOffset;
-
+			/* Update background layers and blit them to render buffer. */
 			_bgScroller.update();
 			_renderBuffer.blitImage(_bgScroller, 0, 0, _bgScroller.width, _bgScroller.height);

@@ -358,8 +331,8 @@
 				s.haze = 1 / (Math.pow(2.718281828459045, ((i / _drawDistance) * (i / _drawDistance) * _hazeDensity)));
 				s.clip = maxY;

-				project(s.p1, (_playerX * _roadWidth) - x, playerY + _cameraHeight, _position - (s.looped ? _trackLength : 0));
-				project(s.p2, (_playerX * _roadWidth) - x - dx, playerY + _cameraHeight, _position - (s.looped ? _trackLength : 0));
+				project(s.p1, (_playerX * _roadWidth) - x, _playerY + _cameraHeight, _position - (s.looped ? _trackLength : 0));
+				project(s.p2, (_playerX * _roadWidth) - x - dx, _playerY + _cameraHeight, _position - (s.looped ? _trackLength : 0));

 				x = x + dx;
 				dx = dx + s.curve;
@@ -495,6 +468,49 @@

 		/**
+		 * Determines the number of road segments to draw.
+		 *
+		 * @default 300
+		 */
+		public function get drawDistance():int
+		{
+			return _drawDistance;
+		}
+		public function set drawDistance(v:int):void
+		{
+			_drawDistance = v;
+		}
+
+
+		/**
+		 * Determines haze color.
+		 */
+		public function get hazeColor():uint
+		{
+			return _hazeColor;
+		}
+		public function set hazeColor(v:uint):void
+		{
+			_hazeColor = v;
+		}
+
+
+		/**
+		 * The exponential density of haze.
+		 *
+		 * @default 10
+		 */
+		public function get hazeDensity():int
+		{
+			return _hazeDensity;
+		}
+		public function set hazeDensity(v:int):void
+		{
+			_hazeDensity = v;
+		}
+
+
+		/**
 		 * @private
 		 */
 		private function get lastY():Number
@@ -562,6 +578,12 @@
 		 */
 		protected function setup():void
 		{
+			/* Set default. */
+			_drawDistance = 300;
+			_hazeDensity = 10;
+			_hazeColor = 0x333333;
+			_playerX = _playerY = _playerZ = 0;
+
 			_renderBuffer = new SoftwareRenderBuffer(_width, _height, false, 0xFF00FF);
 			_bufferBitmap = new Bitmap(_renderBuffer);
 			_bgScroller = new ParallaxScroller(_width, _sprites.BG_SKY.height, bgLayers);


Transferred from the Adobe Open Source Subversion Repository

Revision: 5762
Author:   jimurphy@adobe.com
Date:     2009-03-30T19:25:21.583080Z

Log Message:
-----------
airframework update:
mx.core.FxWindowApplication -> spark.components.windowClasses.WindowedApplication
should have been:
mx.core.FxWindowApplication -> spark.components.WindowedApplication

add back classes to spark-manifest.xml that got nixed during the manifest merge and update related effects classes that were not being compiled because of this omission.

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk/frameworks</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/WindowedApplicationSkin.mxml</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks/projects/flex4</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/spark-air-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/AIRFrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/WindowedApplication.as" copyfrom-rev="5757" action="A">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks/projects/framework</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale.as
+++ frameworks/projects/spark/src/spark/effects/Scale.as
@@ -28,7 +28,7 @@
  */
 public class AnimateTransformScale extends AnimateTransform
 {
-    include "../../spark.core.Version.as";
+    include "../core/Version.as";

     public function AnimateTransformScale(target:Object=null)
     {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark_dmv/src/SparkDmvClasses.as
+++ frameworks/projects/spark_dmv/src/SparkDmvClasses.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 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
 {


- bugfix: UIObject doesn't try to de-register from its parent if it doesn't actually have one, anymore

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

--- src/reprise/ui/UIObject.as
+++ src/reprise/ui/UIObject.as
@@ -551,7 +551,7 @@
 		 */
 		public function remove(...args) : void
 		{
-			m_parentElement.unregisterChildView(this);
+			m_parentElement && m_parentElement.unregisterChildView(this);
 		}

 		/**


Transferred from the Adobe Open Source Subversion Repository

Revision: 18468
Author:   hmuller@adobe.com
Date:     2010-11-05T16:37:07.571913Z

Log Message:
-----------
Removed GridLayout "hacks" that invalidated columnHeaderGroup during GridLayout/updateDisplayList().  Grid/partAdded() now resets (all IDataGridElements) columnHeaderGroup's nestLevel to force it to layout after the grid.

QE notes: Failing tests have been excluded
Doc notes:
Bugs: SDK-27862
Reviewer: Carol, Kevin
Tests run: checkin, mustella cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IDataGridElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridHeaderRenderer.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/IDataGridElement.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/IDataGridElement.as
@@ -13,6 +13,7 @@
 {
 import mx.core.IInvalidating;
 import mx.core.IVisualElement;
+import mx.managers.ILayoutManagerClient;

 import spark.components.DataGrid;

@@ -29,7 +30,7 @@
  *  @playerversion AIR 2.0
  *  @productversion Flex 4.5
  */
-public interface IDataGridElement extends IVisualElement, IInvalidating
+public interface IDataGridElement extends IVisualElement, ILayoutManagerClient, IInvalidating
 {
     /**
      *  The DataGrid whose layout and grid scroll position this element must stay in sync with.


--- src/flash/__native/te/CharSet.as
+++ src/flash/__native/te/CharSet.as
@@ -25,7 +25,14 @@
 		private var helpRect:Rectangle = new Rectangle;
 		public function CharSet()
 		{
+			image = document.createElement("canvas") as HTMLCanvasElement;
+			ctx = image.getContext("2d") as CanvasRenderingContext2D;
+			image.width = tsizew;
+			image.height = tsizeh;
+			ctx.fillStyle = "rgba(255, 255, 255, 1)"// "#ffffff"/*fillStyle*/;
+			ctx.textBaseline = "top";

+			rp = new RectanglePacker(tsizew, tsizeh,1);
 		}

 		public function add(c:Char):void{
@@ -53,18 +60,6 @@
 			//只保留透明通道，其它通道设置值为255
 			if (dirty){
 				if (image == null){
-					image = document.createElement("canvas") as HTMLCanvasElement;
-
-					var div:HTMLDivElement = document.createElement("div") as HTMLDivElement;
-					div.appendChild(image  as HTMLCanvasElement);
-					document.body.appendChild(div);
-					ctx = image.getContext("2d") as CanvasRenderingContext2D;
-					image.width = tsizew;
-					image.height = tsizeh;
-					ctx.fillStyle = "rgba(255, 255, 255, 1)"// "#ffffff"/*fillStyle*/;
-					ctx.textBaseline = "top";
-
-					rp = new RectanglePacker(tsizew, tsizeh,1);
 				}

 				var befnum:int = rp.rectangleCount;


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

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

 package mx.collections
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19065
Author:   rfrishbe@adobe.com
Date:     2010-12-06T18:37:28.339600Z

Log Message:
-----------
PARB changes: getting rid of minimumDownStateTime as a style.  Instead, we just base it off of touchDelay, while still offering a way to disable it for toggle buttons

I will checkin the changes to defaults.css, removing setting the minimumDownStateTime style, in another checkin.

QE notes:
Doc notes:
Bugs:
Reviewer: Jason SZ
Tests run: checkintests, mustella Button, CheckBox
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as
@@ -354,7 +354,6 @@

         if (touchDelay > 0)
         {
-            // just use touchDelay rather than have minimumDownStateTime like Button has
             mouseUpDeselectTimer = new Timer(touchDelay, 1);
             mouseUpDeselectTimer.addEventListener(TimerEvent.TIMER_COMPLETE, mouseUpDeselectTimer_timerCompleteHandler);
             mouseUpDeselectTimer.start();


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

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

 package mx.graphics.shaderClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 22927
Author:   chiedozi@adobe.com
Date:     2011-10-10T17:44:35.297107Z

Log Message:
-----------
Force a validation after a popup displays itself inside SplitViewNavigator to ensure widths and heights are correct

QE notes:
Doc notes:
Bugs: SDK-31699
Reviewer: Jason SJ
Tests run:
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as
@@ -422,7 +422,7 @@
         // to a correct state.
         ViewTransitionBase.endTransitions();

-        // Cleanup handled by navigatorPopUp_closeHandler
+        // Cleanup handled by viewNavigatorPopUp_closeHandler
         viewNavigatorPopUp.close(true);
     }

@@ -465,7 +465,7 @@
             _popUpNavigator.percentHeight = 100;

         viewNavigatorPopUp.addEventListener(PopUpEvent.OPEN, viewNavigatorPopUp_openHandler);
-        viewNavigatorPopUp.addEventListener(PopUpEvent.CLOSE, navigatorPopUp_closeHandler);
+        viewNavigatorPopUp.addEventListener(PopUpEvent.CLOSE, viewNavigatorPopUp_closeHandler);
         viewNavigatorPopUp.addEventListener('mouseDownOutside', navigatorPopUp_mouseDownOutsideHandler, false, 0, true);
         viewNavigatorPopUp.addElement(_popUpNavigator);

@@ -483,6 +483,11 @@
     {
         event.target.removeEventListener(PopUpEvent.OPEN, viewNavigatorPopUp_openHandler);

+        // Since an open transition may have the disableLayout property set to true,
+        // the popup size may not be valid yet.  Force a validation to ensure that the
+        // component is properly laid out.
+        viewNavigatorPopUp.validateNow();
+
         _popUpNavigatorSizeCache.viewNavigatorPopUpWidth = viewNavigatorPopUp.explicitWidth;
         _popUpNavigatorSizeCache.viewNavigatorPopUpHeight = viewNavigatorPopUp.explicitHeight;

@@ -499,9 +504,9 @@
     /**
      *  @private
      */
-    private function navigatorPopUp_closeHandler(event:PopUpEvent):void
-    {
-        viewNavigatorPopUp.removeEventListener(PopUpEvent.CLOSE, navigatorPopUp_closeHandler);
+    private function viewNavigatorPopUp_closeHandler(event:PopUpEvent):void
+    {
+        viewNavigatorPopUp.removeEventListener(PopUpEvent.CLOSE, viewNavigatorPopUp_closeHandler);
         viewNavigatorPopUp.removeEventListener('mouseDownOutside', navigatorPopUp_mouseDownOutsideHandler);

         if (_popUpNavigator)


Transferred from the Adobe Open Source Subversion Repository

Revision: 6927
Author:   hmuller@adobe.com
Date:     2009-05-14T21:42:48.945154Z

Log Message:
-----------
Eliminate (at least mitigate) virtual DataGroup flashing during
scrolling; don't clear ItemRenderer.data when IRs are added to the
free list.   Thanks to Alex for sorting this out.

Simplified Scroller layouts with minViewportInset specified: scrollbars
stay flush with the edges of the Scroller, rather than the viewport.   This
better matches what List skins need.

QE Notes: Tests for Scroller.minViewportInset are needed.
Doc Notes:
Bugs: sdk-20962
Reviewer: Alex, Evtim

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
@@ -75,6 +75,8 @@
             measuredH += viewportElt.getPreferredBoundsHeight();
         }

+        // TBD: if the viewport's explicitSize is set, then add it to the minW,H
+
         var hsb:ScrollBar = scroller.horizontalScrollBar;
         var showHSB:Boolean = false;
         switch(scroller.horizontalScrollPolicy) {
@@ -236,22 +238,11 @@
         if (!showVSB)
             viewportW -= minViewportInset;

-        // Unless the viewport's size is explicitly set and larger than the
-        // available space, the scrollbar's size will match the viewport's.
-        var hsbW:Number = viewportW;
-        var vsbH:Number = viewportH;
-
         // Special case: viewport's size is explicitly set
         if (!isNaN(explicitViewportW))
-        {
             viewportW = explicitViewportW;
-            hsbW = Math.min(hsbW, viewportW);
-        }
         if (!isNaN(explicitViewportH))
-        {
             viewportH = explicitViewportH;
-            vsbH = Math.min(vsbH, viewportH);
-        }

         // layout the viewport
         if (viewport)
@@ -265,14 +256,14 @@
         if (hsb) hsb.visible = showHSB;
         if (showHSB)
         {
-            hsb.setLayoutBoundsSize(Math.max(hsb.getMinBoundsWidth(), hsbW), hsbH);
-            hsb.setLayoutBoundsPosition(minViewportInset, h - Math.max(minViewportInset, hsbH));
+            hsb.setLayoutBoundsSize(Math.max(hsb.getMinBoundsWidth(), w - vsbW), hsbH);
+            hsb.setLayoutBoundsPosition(0, h - hsbH);
         }
         if (vsb) vsb.visible = showVSB;
         if (showVSB)
         {
-            vsb.setLayoutBoundsSize(vsbW, Math.max(vsb.getMinBoundsHeight(), vsbH));
-            vsb.setLayoutBoundsPosition(w - Math.max(minViewportInset, vsbW), minViewportInset);
+            vsb.setLayoutBoundsSize(vsbW, Math.max(vsb.getMinBoundsHeight(), h - hsbH));
+            vsb.setLayoutBoundsPosition(w - vsbW, 0);
         }

         // If the scroller's size isn't explicit and we've added a scrollbar, then


Transferred from the Adobe Open Source Subversion Repository

Revision: 9352
Author:   clucier@adobe.com
Date:     2009-08-17T19:38:36.092988Z

Log Message:
-----------
Update DesignLayer ASDOC to reflect most recent updates to specification.  A bug fix to all IVisualElement implementers to account for initial value of alpha/visible for their owning layer.

QE notes:  None.
Doc notes:  None.
Bugs:  N/A.
Reviewer:  Chet
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DesignLayer.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/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -592,7 +592,14 @@
         _layer = value;

         if (_layer)
+        {
             _layer.addEventListener("layerPropertyChange", layer_PropertyChange, false, 0, true);
+            _computedAlpha = _alpha * _layer.computedAlpha;
+            _computedVisibility = _visible && _layer.computedVisibility;
+            alphaChanged = true;
+            visibleChanged = true;
+            invalidateProperties();
+        }
     }

     //----------------------------------
@@ -2994,7 +3001,7 @@
     {
         switch (event.property)
         {
-            case "visible":
+            case "computedVisibility":
             {
                 var newValue:Boolean = (event.newValue && _visible);

@@ -3006,7 +3013,7 @@
                 }
                 break;
             }
-            case "alpha":
+            case "computedAlpha":
             {
                 var newAlpha:Number = Number(event.newValue) * _alpha;
                 if (newAlpha != _computedAlpha)


197 ObjectDumper now sorts an object's keys before traversing them

--- raw/src/org/yellcorp/debug/debugutil/ObjectDumper.as
+++ raw/src/org/yellcorp/debug/debugutil/ObjectDumper.as
@@ -39,6 +39,7 @@
         var dynamicProp:*;
         var dynamicType:String;
         var formatValues:Object = { };
+        var sortEvalList:Array;

         if (object === undefined)
         {
@@ -81,7 +82,14 @@
             evalList.appendChild(desc.accessor.(@access=="readonly" || @access=="readwrite"));
         */

+        sortEvalList = [ ];
         for each (node in evalList.*)
+        {
+            sortEvalList.push(node);
+        }
+        sortEvalList.sortOn("@name");
+
+        for each (node in sortEvalList)
         {
             formatValues.name = node.@name;
             formatValues.type = node.@type;


asdoc added to Mediator

asdoc added to Mediator

--- src/ru/whitered/kote/Mediator.as
+++ src/ru/whitered/kote/Mediator.as
@@ -10,7 +10,7 @@
 		/**
 		 * Signal onSubscribe is dispatched when the mediator is subscribed for a notification
 		 *
-		 * Signal has arguments:
+		 *
Signal has arguments:

 		 *

 		 *
mediator:Mediator - current mediator

 		 *
notificationType:NotificationType - notification for which the mediator was subscribed

@@ -21,7 +21,7 @@
 		/**
 		 * Signal onUnsubscribe is dispatched when the mediator is unsubscribed for a notification
 		 *
-		 * Signal has arguments:
+		 *
Signal has arguments:

 		 *

 		 *
mediator:Mediator - current mediator

 		 *
notificationType:NotificationType - notification from which the mediator was unsubscribed

@@ -32,7 +32,7 @@
 		/**
 		 * Signal onAdd is dispatched when the mediator is added to a Facade
 		 *
-		 * Signal has arguments:
+		 *
Signal has arguments:

 		 *

 		 *
facade:Facade - facade that has added the mediator

 		 *
mediator:Mediator - current mediator

@@ -59,15 +59,18 @@
 		/**
 		 * Subscribes the mediator for specified notification type
 		 *
+		 *
Handler method should accept the same parameters types
+		 * as was specified on notification creation

+		 *
+		 *
If handler is not specified, notification still can be handled
+		 * by the handleNotification() method

+		 *
 		 * @param notificationType
 		 * @param handler shortcut method that will be invoked on the notification
-		 * This method should accept the same parameters types as was specified on notification sending
-		 *
-		 *
If handler is not specified, notification still can be handled by the handleNotification() method

 		 *
 		 * @return true if successfully subscribed; false if there is a subscription for given notification type already
 		 *
-		 * @see handleNotification()
+		 * @see #handleNotification()
 		 */
 		public function subscribe(notificationType:NotificationType, handler:Function = null):Boolean
 		{
@@ -118,6 +121,10 @@
 		 * notification object itself instead of its parameters

 		 *
 		 *
Don't forget to call super.handleNotification(notification) when overriding

+		 *
+		 * @param notification Received notification
+		 *
+		 * @see Notification
 		 */
 		public function handleNotification(notification:Notification):void
 		{


VAriable renaming

VAriable renaming

--- DroneAnarchy/Resources/Scripts/DroneAnarchy.as
+++ DroneAnarchy/Resources/Scripts/DroneAnarchy.as
@@ -663,10 +663,10 @@

 void HandlePlayerDestroyed(StringHash eventType, VariantMap& eventData)
 {
-	Vector3 position = eventData["CamPosition"].GetVector3();
-	Quaternion rotation = eventData["CamRotation"].GetQuaternion();
-	cameraNode_.rotation = rotation;
-	cameraNode_.position = position;
+	Vector3 camPosition = eventData["CamPosition"].GetVector3();
+	Quaternion camRotation = eventData["CamRotation"].GetQuaternion();
+	cameraNode_.rotation = camRotation;
+	cameraNode_.position = camPosition;

 	SetViewportCamera(cameraNode_);
 	cameraNode_.GetChild("DirectionalLight").enabled = true;