fixed Camera.unproject() using fovDiv2 * 0.5 instead of fovDiv2

--- src/aerys/minko/scene/node/Camera.as
+++ src/aerys/minko/scene/node/Camera.as
@@ -317,14 +317,11 @@

 			var fovDiv2		: Number	= _fov * 0.5;

-			var dx			: Number 	= Math.tan(fovDiv2 * 0.5) * xPercent * (width / height);
-			var dy			: Number 	= -Math.tan(fovDiv2 * 0.5) * yPercent;
+			var dx			: Number 	= Math.tan(fovDiv2) * xPercent * (width / height);
+			var dy			: Number 	= -Math.tan(fovDiv2) * yPercent;

 			out.origin.set(dx * _zNear, dy * _zNear, _zNear);
-//			out.direction.set(dx * _zNear, dy * _zNear, _zNear).normalize();
-			out.direction.set(dx * _zFar, dy * _zFar, _zFar)
-				.subtract(out.origin)
-				.normalize();
+			out.direction.set(dx * _zNear, dy * _zNear, _zNear).normalize();

 			_viewToWorld.transformVector(out.origin, out.origin);
 			_viewToWorld.deltaTransformVector(out.direction, out.direction);


Make sure JPEG image is removed when player is stopped

--- com/axis/mjpgplayer/MJPG.as
+++ com/axis/mjpgplayer/MJPG.as
@@ -34,7 +34,11 @@
     private function onStageAdded(e:Event):void
     {
       ExternalInterface.addCallback("getFps", getFps);
-
+      createLoaders();
+      stage.addEventListener(Event.RESIZE, resizeListener);
+    }
+
+    private function createLoaders():void {
       for (var i:uint = 0; i < maxImages; i++)
       {
         var loader:MJPGImage = new MJPGImage();
@@ -43,7 +47,15 @@
         loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onImageError);
         this.addChild(loader);
       }
-      stage.addEventListener(Event.RESIZE, resizeListener);
+    }
+
+    private function destroyLoaders():void {
+      for each (var loader:MJPGImage in getChildren())
+      {
+        loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoadComplete);
+        loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onImageError);
+      }
+      removeChildren();
     }

     private function resizeListener(e:Event):void {
@@ -264,11 +276,12 @@
         loader.data.loading = false;
         loader.data.inQue = false;
         loader.data.loadTime = 0.0;
-
-        if (clear)
-        {
-          loader.unload();
-        }
+      }
+
+      if (clear)
+      {
+        destroyLoaders();
+        createLoaders();
       }

       updateFps((framesDecoded * 1000) / (new Date().getTime() - sTime));


Transferred from the Adobe Open Source Subversion Repository

Revision: 18231
Author:   rfrishbe@adobe.com
Date:     2010-10-19T23:46:20.180026Z

Log Message:
-----------
Changing ActionBarSkin, TextInputSkin, and ButtonBaseSkin for performance reasons so we don't call measureText() anymore (atleast in the 90% case--when the label is empty, we still might call measureText()).  We now rely on textWidth and textHeight.

For TextInput, the measured size algorithm now doesn't use maxChars * (measureText("W")).  Instead it uses maxChars * (fontSize-2).  The mesureText("W") was only an approximation and seemed to large in most cases.  Using fontSize is a much cheaper approximation and seems to work just as well.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1265862 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
@@ -21,7 +21,6 @@
 import flash.text.TextField;
 import flash.text.TextFormat;
 import flash.text.TextFormatAlign;
-import flash.text.TextLineMetrics;

 import mx.core.IFlexDisplayObject;
 import mx.core.ILayoutElement;
@@ -219,20 +218,20 @@

         var textWidth:Number = 0;
         var textHeight:Number = 0;
-        var lineMetrics:TextLineMetrics;
+
+        // reset text if it was truncated before.
+        if (hostComponent && labelDisplay.isTruncated)
+            labelDisplay.text = hostComponent.label;
+        labelDisplay.commitStyles();

         if (hostComponent && hostComponent.label != "")
         {
-            // FIXME (rfrishbe): rather than use lineMetrics, we should be using labelDisplay.textWidth.
-            // We need to change it here and in multiple places
-            lineMetrics = measureText(hostComponent.label);
-            textWidth = lineMetrics.width + TEXT_WIDTH_PADDING;
-            textHeight = lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+            textWidth = labelDisplay.textWidth + TEXT_WIDTH_PADDING;
+            textHeight = labelDisplay.textHeight + UITextField.TEXT_HEIGHT_PADDING;
         }
         else
         {
-            lineMetrics = measureText("Wj");
-            textHeight = lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+            textHeight = measureText("Wj").height + UITextField.TEXT_HEIGHT_PADDING;
         }

         var iconDisplay:DisplayObject = getIconDisplay();
@@ -306,18 +305,19 @@
         var textWidth:Number = 0;
         var textHeight:Number = 0;

-        var lineMetrics:TextLineMetrics;
+        // reset text if it was truncated before.
+        if (hostComponent && labelDisplay.isTruncated)
+            labelDisplay.text = hostComponent.label;
+        labelDisplay.commitStyles();

         if (hostComponent && hostComponent.label != "")
         {
-            lineMetrics = measureText(hostComponent.label);
-            textWidth = lineMetrics.width + TEXT_WIDTH_PADDING;
-            textHeight = lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+            textWidth = labelDisplay.textWidth + TEXT_WIDTH_PADDING;
+            textHeight = labelDisplay.textHeight + UITextField.TEXT_HEIGHT_PADDING;
         }
         else
         {
-            lineMetrics = measureText("Wj");
-            textHeight = lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+            textHeight = measureText("Wj").height + UITextField.TEXT_HEIGHT_PADDING;
         }

         var textAlign:String = "center"; // getStyle("textAlign");
@@ -446,10 +446,6 @@
         resizePart(labelDisplay, labelWidth, labelHeight);
         positionPart(labelDisplay, Math.max(0, Math.round(labelX)), Math.max(0, Math.round(labelY)));

-        // before truncating text, we need to reset it to its original value
-        if (hostComponent && labelDisplay.isTruncated)
-            labelDisplay.text = hostComponent.label;
-
         if (textWidth > labelWidth)
         {
             labelDisplay.truncateToFit();


Transferred from the Adobe Open Source Subversion Repository

Revision: 19498
Author:   jasonsj@adobe.com
Date:     2010-12-21T02:16:56.447761Z

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

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

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

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonBarButtonClassFactory.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonBarButtonClassFactory.as
@@ -0,0 +1,80 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+import mx.core.ClassFactory;
+import mx.core.IFactory;
+
+import spark.components.ButtonBarButton;
+import spark.components.supportClasses.SkinnableComponent;
+
+/**
+ *  Adds skinClass style support to ClassFactory.
+ *
+ *  @see spark.skins.mobile.ButtonBarSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+public class ButtonBarButtonClassFactory extends ClassFactory
+{
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function ButtonBarButtonClassFactory(generator:Class)
+    {
+        super(generator);
+    }
+
+    private var _skinClass:Class;
+
+    /**
+     * TODO: doc this
+     * @return
+     *
+     */
+    public function get skinClass():Class
+    {
+        return _skinClass;
+    }
+
+    public function set skinClass(skinClass:Class):void
+    {
+        _skinClass = skinClass;
+    }
+
+    override public function newInstance():*
+    {
+        var instance:Object = new generator();
+
+        if (properties != null)
+        {
+            for (var p:String in properties)
+            {
+                instance[p] = properties[p];
+            }
+        }
+
+        if (instance is SkinnableComponent && _skinClass)
+            SkinnableComponent(instance).setStyle("skinClass", _skinClass);
+
+        return instance;
+    }
+}
+}


OFC-520 Do not hide reason blank options from context menu after selecting one

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/InputFieldPresenter.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/InputFieldPresenter.as
@@ -96,7 +96,7 @@
 						node = nodes.getItemAt(0) as NodeProxy;
 					}
 				}
-				prepareApproveMissingRequests(updRequest, node, event.fieldIdx);
+				prepareApproveMissingRequests(updRequest, node, event.fieldIdx, event.applyToNonEmptyNodes);
 			} else {
 				var operation:UpdateRequestOperation = new UpdateRequestOperation();
 				operation.method = UpdateRequestOperation$Method.APPROVE_MISSING;
@@ -144,11 +144,11 @@

 		protected static function updateSymbolHandler(event:NodeEvent): void {
 			var updRequest:UpdateRequest = new UpdateRequest();
-			prepareUpdateSymbolRequests(updRequest, event.nodeProxy, event.symbol, event.fieldIdx);
+			prepareUpdateSymbolRequests(updRequest, event.nodeProxy, event.symbol, event.fieldIdx, event.applyToNonEmptyNodes);
 			_dataClient.updateActiveRecord(updRequest, null, faultHandler);
 		}

-		protected static function prepareUpdateSymbolRequests(updateRequest:UpdateRequest, nodeProxy:NodeProxy, symbol:FieldSymbol, fieldIdx:Number):void {
+		protected static function prepareUpdateSymbolRequests(updateRequest:UpdateRequest, nodeProxy:NodeProxy, symbol:FieldSymbol, fieldIdx:Number, applyToNonEmptyNodes:Boolean = false):void {
 			if( nodeProxy is EntityProxy ){
 				var entity:EntityProxy = nodeProxy as EntityProxy;
 				var children:IList = entity.getChildren();
@@ -162,7 +162,7 @@
 				if(isNaN(fieldIdx) || fieldIdx < 0){
 					for(var index:int = 0; index < attr.fields.length; index ++) {
 						field = attr.fields[index];
-						if(field.value == null && field.symbol == null) {
+						if ( applyToNonEmptyNodes || (field.value == null && field.symbol == null)) {
 							operation = new UpdateRequestOperation();
 							operation.method = UpdateRequestOperation$Method.UPDATE;
 							operation.parentEntityId = nodeProxy.parentId;
@@ -170,15 +170,18 @@
 							operation.nodeId = nodeProxy.id;
 							operation.fieldIndex = index;
 							operation.remarks = field.remarks;
-							operation.value = field.value != null ? field.value.toString(): null;
 							operation.symbol = symbol;
-
+							if (ArrayUtil.contains(REASON_BLANK_SYMBOLS, symbol) ) {
+								operation.value = null;
+							} else {
+								operation.value = field.value != null ? field.value.toString(): null;
+							}
 							updateRequest.addOperation(operation);
 						}
 					}
 				} else {
 					field = attr.fields[fieldIdx];
-					if(field.value == null && field.symbol == null) {
+					if ( applyToNonEmptyNodes || (field.value == null && field.symbol == null)) {
 						operation = new UpdateRequestOperation();
 						operation.method = UpdateRequestOperation$Method.UPDATE;
 						operation.parentEntityId = nodeProxy.parentId;
@@ -186,21 +189,25 @@
 						operation.nodeId = nodeProxy.id;
 						operation.fieldIndex = fieldIdx;
 						operation.remarks = field.remarks;
-						operation.value = field.value != null ? field.value.toString(): null;
 						operation.symbol = symbol;
-
+						operation.symbol = symbol;
+						if (ArrayUtil.contains(REASON_BLANK_SYMBOLS, symbol) ) {
+							operation.value = null;
+						} else {
+							operation.value = field.value != null ? field.value.toString(): null;
+						}
 						updateRequest.addOperation(operation);
 					}
 				}
 			}
 		}

-		protected static function prepareApproveMissingRequests(updateRequest:UpdateRequest, nodeProxy:NodeProxy, fieldIdx:Number):void {
+		protected static function prepareApproveMissingRequests(updateRequest:UpdateRequest, nodeProxy:NodeProxy, fieldIdx:Number, applyToNonEmptyNodes:Boolean = true):void {
 			if( nodeProxy is EntityProxy ){
 				var entity:EntityProxy = nodeProxy as EntityProxy;
 				var children:IList = entity.getChildren();
 				for each (var child:NodeProxy in children) {
-					prepareApproveMissingRequests(updateRequest, child, fieldIdx);
+					prepareApproveMissingRequests(updateRequest, child, fieldIdx, applyToNonEmptyNodes);
 				}
 			} else {
 				var attr:AttributeProxy = AttributeProxy(nodeProxy);
@@ -209,7 +216,7 @@
 				if(isNaN(fieldIdx) || fieldIdx < 0){
 					for(var index:int = 0; index < attr.fields.length; index ++) {
 						field = attr.fields[index];
-						if(field.value == null && field.symbol == null) {
+						if(applyToNonEmptyNodes || (field.value == null && (field.symbol == null || field.hasReasonBlankSpecified()))) {
 							operation = new UpdateRequestOperation();
 							operation.method = UpdateRequestOperation$Method.APPROVE_MISSING;
 							operation.parentEntityId = nodeProxy.parentId;
@@ -221,7 +228,7 @@
 					}
 				} else {
 					field = attr.fields[fieldIdx];
-					if(field.value == null && field.symbol == null) {
+					if(applyToNonEmptyNodes || (field.value == null && (field.symbol == null || field.hasReasonBlankSpecified()))) {
 						operation = new UpdateRequestOperation();
 						operation.method = UpdateRequestOperation$Method.APPROVE_MISSING;
 						operation.parentEntityId = nodeProxy.parentId;


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

--- frameworks/projects/advancedgrids/src/mx/controls/olapDataGridClasses/OLAPDataGridRendererProvider.as
+++ frameworks/projects/advancedgrids/src/mx/controls/olapDataGridClasses/OLAPDataGridRendererProvider.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 20839
Author:   mhorn@adobe.com
Date:     2011-03-14T14:04:15.007456Z

Log Message:
-----------
merge 20790 and 20805

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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

--- frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as
+++ frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as
@@ -304,6 +304,9 @@
     /**
      *  @inheritDoc
      *
+     *
Note that for this class, the view does not need to be sorted in order to
+     *  call this method.

+     *
      *  @langversion 3.0
      *  @playerversion Flash 9
      *  @playerversion AIR 1.1
@@ -340,6 +343,9 @@
     /**
      *  @inheritDoc
      *
+     *
Note that for this class, the view does not need to be sorted in order to
+     *  call this method.

+     *
      *  @langversion 3.0
      *  @playerversion Flash 9
      *  @playerversion AIR 1.1
@@ -352,6 +358,9 @@

     /**
      *  @inheritDoc
+     *
+     *
Note that for this class, the view does not need to be sorted in order to
+     *  call this method.

      *
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -421,8 +430,8 @@
                     try
                     {
                         currentNode = childCursor.current;
-						// update parent map
-						updateParentMap(currentNode);
+                        // update parent map
+                        updateParentMap(currentNode);
                     }
                     catch (e:ItemPendingError)
                     {
@@ -580,8 +589,8 @@
                 }
             }
         }
-
-		updateParentMap(currentNode);
+
+        updateParentMap(currentNode);

         currentIndex++;
         return true;
@@ -739,7 +748,7 @@
             }
         }

-		updateParentMap(currentNode);
+        updateParentMap(currentNode);

         currentIndex--;
         return true;
@@ -899,20 +908,20 @@
         }
         return true;
     }
-
-	/**
-	 * @private
-	 * Update the parent map.
-	 */
-	private function updateParentMap(currentNode:Object):void
-	{
-		if (currentNode != null)
-		{
-			var uid:String = UIDUtil.getUID(currentNode);
-			if (!collection.parentMap.hasOwnProperty(uid))
-				collection.parentMap[uid] = parentNodes[parentNodes.length - 1];
-		}
-	}
+
+    /**
+     * @private
+     * Update the parent map.
+     */
+    private function updateParentMap(currentNode:Object):void
+    {
+        if (currentNode != null)
+        {
+            var uid:String = UIDUtil.getUID(currentNode);
+            if (!collection.parentMap.hasOwnProperty(uid))
+                collection.parentMap[uid] = parentNodes[parentNodes.length - 1];
+        }
+    }

     /**
      *  @private
@@ -1298,14 +1307,14 @@
             // dispatch CURSOR_UPDATE event
             collection.dispatchEvent(new FlexEvent(FlexEvent.CURSOR_UPDATE));
         }
-		else if (event.kind == CollectionEventKind.REFRESH)
-		{
-			// find the correct index of the item
-			if (!(beforeFirst || afterLast))
-			{
-				findFirst(current);
-			}
-		}
+        else if (event.kind == CollectionEventKind.REFRESH)
+        {
+            // find the correct index of the item
+            if (!(beforeFirst || afterLast))
+            {
+                findFirst(current);
+            }
+        }
     }
 }


:fire: remove random print

:fire: remove random print


Toggleable UI

Toggleable UI

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -44,6 +44,8 @@
 		protected var UIChanged:Boolean;
 		protected var editEnabled:Boolean = true;

+		protected var UIEnableKey:Key = new Key("U");
+
 		protected var undoButton:MenuButton;
 		protected var redoButton:MenuButton;
 		protected var loadButton:MenuButton;
@@ -108,7 +110,8 @@

 		private function addWire(w:Wire, fixed:Boolean = true):void {
 			w.FIXED = fixed;
-			Wire.place(w);
+			if (!Wire.place(w))
+				return;

 			var displayWire:DWire = new DWire(w);
 			midLayer.add(displayWire);
@@ -117,6 +120,9 @@

 		private function addModule(m:Module, fixed:Boolean = true):void {
 			if (!m) return;
+
+			if (!m.validPosition)
+				return;

 			m.FIXED = fixed;
 			m.register();
@@ -403,7 +409,7 @@
 		override public function update():void {
 			updateUI();
 			super.update();
-			checkBuildControls();
+			checkControls();
 			checkMenuState();
 			checkTime();
 			forceScroll();
@@ -422,6 +428,12 @@
 					b.update();
 				}
 			}
+		}
+
+		protected function checkControls():void {
+			if (UIEnableKey.justPressed())
+				upperLayer.visible = !upperLayer.visible;
+			checkBuildControls();
 		}

 		protected function checkBuildControls():void {
@@ -728,7 +740,8 @@
 			realBuf.draw(buf, matrix);
 			FlxG.camera.buffer = realBuf;

-			upperLayer.draw();
+			if (upperLayer.exists && upperLayer.visible)
+				upperLayer.draw();
 		}

 		private var debugLineH:FlxSprite;


Made MAX_ELAPSED, MAX_FRAMESKIP, and TICK_RATE into public properties maxElapsed, maxFrameSkip, and tickRate respectively so they can be changed.

--- net/flashpunk/Engine.as
+++ net/flashpunk/Engine.as
@@ -26,6 +26,21 @@
 		public var paused:Boolean = false;

 		/**
+		 * Cap on the elapsed time (default at 30 FPS). Raise this to allow for lower framerates (eg. 1 / 10).
+		 */
+		public var maxElapsed:Number = 0.0333;
+
+		/**
+		 * The max amount of frames that can be skipped in fixed framerate mode.
+		 */
+		public var maxFrameSkip:uint = 5;
+
+		/**
+		 * The amount of milliseconds between ticks in fixed framerate mode.
+		 */
+		public var tickRate:uint = 4;
+
+		/**
 		 * Constructor. Defines startup information about your game.
 		 * @param	width			The width of your game.
 		 * @param	height			The height of your game.
@@ -137,9 +152,9 @@
 			if (FP.fixed)
 			{
 				// fixed framerate
-				_skip = _rate * MAX_FRAMESKIP;
+				_skip = _rate * maxFrameSkip;
 				_last = _prev = getTimer();
-				_timer = new Timer(TICK_RATE);
+				_timer = new Timer(tickRate);
 				_timer.addEventListener(TimerEvent.TIMER, onTimer);
 				_timer.start();
 			}
@@ -159,7 +174,7 @@
 			FP._flashTime = _time - _flashTime;
 			_updateTime = _time;
 			FP.elapsed = (_time - _last) / 1000;
-			if (FP.elapsed > MAX_ELAPSED) FP.elapsed = MAX_ELAPSED;
+			if (FP.elapsed > maxElapsed) FP.elapsed = maxElapsed;
 			FP.elapsed *= FP.rate;
 			_last = _time;

@@ -211,7 +226,7 @@
 				_updateTime = _time;
 				_delta -= _rate;
 				FP.elapsed = (_time - _prev) / 1000;
-				if (FP.elapsed > MAX_ELAPSED) FP.elapsed = MAX_ELAPSED;
+				if (FP.elapsed > maxElapsed) FP.elapsed = maxElapsed;
 				FP.elapsed *= FP.rate;
 				_prev = _time;

@@ -268,11 +283,6 @@
 		/** @private */ private var _gameTime:uint;
 		/** @private */ private var _flashTime:uint;

-		// Game constants.
-		/** @private */ private const MAX_ELAPSED:Number = 0.0333;
-		/** @private */ private const MAX_FRAMESKIP:Number = 5;
-		/** @private */ private const TICK_RATE:uint = 4;
-
 		// FrameRate tracking.
 		/** @private */ private var _frameLast:uint = 0;
 		/** @private */ private var _frameListSum:uint = 0;


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

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

 package mx.controls
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3803
Author:   jimurphy@adobe.com
Date:     2008-10-22T00:22:56.292956Z

Log Message:
-----------
Merged 3.x revisions 3686,3802 -> trunk
-integrates AIK 10202008

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LoaderUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>

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

--- frameworks/projects/framework/src/mx/utils/LoaderUtil.as
+++ frameworks/projects/framework/src/mx/utils/LoaderUtil.as
@@ -74,6 +74,27 @@
                     lastIndex = rootURL.length - 1;  // adding one later
                 }

+                // If the url starts from the current directory, then just skip
+                // over the "./".
+                // If the url start from the parent directory, the we need to
+                // modify the rootURL.
+                if (url.indexOf("./") == 0)
+                {
+                    url = url.substring(2);
+                }
+                else
+                {
+                    while (url.indexOf("../") == 0)
+                    {
+                        url = url.substring(3);
+                        var parentIndex:int = Math.max(rootURL.lastIndexOf("\\", lastIndex - 1),
+                                                       rootURL.lastIndexOf("/", lastIndex - 1));
+                        if (parentIndex <= 8)
+                            parentIndex = lastIndex;
+                        lastIndex = parentIndex;
+                    }
+                }
+
                 if (lastIndex != -1)
                     absoluteURL = rootURL.substr(0, lastIndex + 1) + url;
             }


Transferred from the Adobe Open Source Subversion Repository

Revision: 10871
Author:   clucier@adobe.com
Date:     2009-10-05T18:47:22.907775Z

Log Message:
-----------
Small styling and layout tweaks to improve mx:NumericStepper button sizing.

QE notes: None
Doc notes: None
Bugs: SDK-23426
Reviewer: Glenn
Tests run: Checkin, Cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>

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

--- frameworks/projects/mx/src/mx/controls/NumericStepper.as
+++ frameworks/projects/mx/src/mx/controls/NumericStepper.as
@@ -1318,11 +1318,11 @@

         nextButton.x = unscaledWidth - w;
         nextButton.y = 0;
-        nextButton.setActualSize(w, h2);
+        nextButton.setActualSize(w, h);

         prevButton.x = unscaledWidth - w;
-        prevButton.y = unscaledHeight - h;
-        prevButton.setActualSize(w, h);
+        prevButton.y = h;
+        prevButton.setActualSize(w, h2);

         inputField.setActualSize(unscaledWidth - w, unscaledHeight);
     }


Use the best stage quality when publishing the atlases.

Once Flash 11.2 is out, we should use "16X16" as described at
http://blog.kaourantin.net/?p=152.

--- exporter/src/main/as/flump/export/Exporter.as
+++ exporter/src/main/as/flump/export/Exporter.as
@@ -5,6 +5,8 @@

 import flash.desktop.NativeApplication;
 import flash.display.NativeWindow;
+import flash.display.Stage;
+import flash.display.StageQuality;
 import flash.events.Event;
 import flash.events.MouseEvent;
 import flash.filesystem.File;
@@ -166,8 +168,15 @@
     }

     protected function exportFlashDocument (status :DocStatus) :void {
+
+        var stage :Stage = NA.activeWindow.stage;
+        var prevQuality :String = stage.quality;
+
+        stage.quality = StageQuality.BEST;
         BetwixtPublisher.publish(status.lib, status.file,
             DeviceSelection(_authoredResolution.selectedItem).type, _exportChooser.dir);
+
+        stage.quality = prevQuality;
         status.updateModified(Ternary.FALSE);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17310
Author:   rfrishbe@adobe.com
Date:     2010-08-13T00:57:38.531711Z

Log Message:
-----------
Moving MobileItemRenderer to MobileTextField.  Also cleaning up MobileTextField a bit (padding's no longer respected in it and fixed a bug with isTruncated).  Also fixed up some logic in ButtonSkinBase around text truncation.

MobileItemRenderer is now the default item renderer for mobile lists.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ListSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -27,6 +27,8 @@
 import mx.controls.MXFTETextInput; MXFTETextInput;
 import mx.core.UIFTETextField; UIFTETextField;
 import spark.core.ContentCache; ContentCache;
+import spark.core.IDisplayText; IDisplayText;
+import spark.core.IEditableText; IEditableText;
 import spark.core.SpriteVisualElement; SpriteVisualElement;
 import spark.components.supportClasses.CellPosition; CellPosition;
 import spark.components.supportClasses.CellRegion; CellRegion;


Reconnection fixes; r=Armando

Reconnection fixes; r=Armando

git-svn-id: c197267f952b24206666de142881703007ca05d5@10689 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/jivesoftware/xiff/core/XMPPBOSHConnection.as
+++ src/org/jivesoftware/xiff/core/XMPPBOSHConnection.as
@@ -122,9 +122,11 @@
 		public override function disconnect():void
 		{
 			super.disconnect();
-			pollTimer.stop();
+			if(pollTimer)
+				pollTimer.stop();
 			pollTimer = null;
-			pollTimeoutTimer.stop();
+			if(pollTimeoutTimer)
+				pollTimeoutTimer.stop();
 			pollTimeoutTimer = null;
 		}


Flash: Removed blur filter for now. Closes #124.

--- src/flash/plupload/src/com/plupload/File.as
+++ src/flash/plupload/src/com/plupload/File.as
@@ -1,4 +1,4 @@
-/**
+/**
  * File.as
  *
  * Copyright 2009, Moxiecode Systems AB
@@ -216,54 +216,18 @@

 						// Do we need to scale
 						if (scale < 1) {
-							// Set rect and pt for filter area
-							var rect:Rectangle = new Rectangle(1, 1, loadedBitmapData.width, loadedBitmapData.height);
-							var pt:Point = new Point(1, 1);
-
-							// Set filteramount inversely proportional to resize amount
-							var filterAmount:Number;
-
-							if (scale < .1) {
-								filterAmount = 5
-							} else if (scale < .25) {
-								filterAmount = 4
-							} else if (scale < .50) {
-								filterAmount = 3
-							} else if (scale < .75) {
-								filterAmount = 2
-							} else {
-								filterAmount = 1
-							}
-
-							// Create blurfilter with variable filterAmount of blur
-							var blurFilter:BlurFilter = new BlurFilter(filterAmount, filterAmount, BitmapFilterQuality.HIGH);
-
-							// Create working bitmap to apply filter to. Does not work if applying direct to loadedBitmap for some reason
-							var workingBitmapData:BitmapData = new BitmapData(loadedBitmapData.width, loadedBitmapData.height);
-
-							workingBitmapData.draw(loadedBitmapData, matrix, null, null, null, true);
-							workingBitmapData.applyFilter(workingBitmapData, rect, pt, blurFilter);

 							width = Math.round(loadedBitmapData.width * scale);
 							height = Math.round(loadedBitmapData.height * scale);

 							// Setup scale matrix
-							matrix.scale(width / loadedBitmapData.width, height / loadedBitmapData.height);
+							matrix.scale(scale, scale);

 							// Draw workingbitmap into scaled down bitmap
 							var outputBitmapData:BitmapData = new BitmapData(width, height);
-							outputBitmapData.draw(workingBitmapData, matrix, null, null, null, true);
-
-/*							width = Math.round(loadedBitmapData.width * scale);
-							height = Math.round(loadedBitmapData.height * scale);
-
-							// Setup scale matrix
-							matrix.scale(width / loadedBitmapData.width, height / loadedBitmapData.height);
-
-							// Draw loaded bitmap into scaled down bitmap
-							var outputBitmapData:BitmapData = new BitmapData(width, height);
-							outputBitmapData.draw(loadedBitmapData, matrix);
-*/
+							outputBitmapData.draw(loadedBitmapData, matrix, null, null, null, true);
+							loadedBitmapData.dispose();
+
 							// Encode bitmap as JPEG
 							if (settings["format"] == "jpg")
 								file._imageData = new JPEGEncoder(quality).encode(outputBitmapData);


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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkFormAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkFormAutomationImpl.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.automation.delegates.components
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 152
Author:   proberts@adobe.com
Date:     2008-01-10T20:10:08.980954Z

Log Message:
-----------
Severity: ignore
Description: docs update -- added @mxml sections to class descriptions for Flex AIR UI controls that didn't already have one

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>

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

--- frameworks/projects/airframework/src/mx/controls/HTML.as
+++ frameworks/projects/airframework/src/mx/controls/HTML.as
@@ -170,6 +170,40 @@
  *  can set the htmlText property to specify a String
  *  containing HTML-formatted text that is rendered in the control.

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

+ *
+ *

+ *  <mx:HTML
+ *    Properties
+ *    data="null"
+ *    historyPosition="0"
+ *    htmlHost="null"
+ *    htmlLoaderFactory="mx.core.ClassFactory"
+ *    htmlText=""
+ *    listData="null"
+ *    location=""
+ *    paintsDefaultBackground="false"
+ *    runtimeApplicationDomain="null"
+ *    userAgent="null"
+ *
+ *    Styles
+ *    paddingBottom="0"
+ *    paddingLeft="0"
+ *    paddingRight="0"
+ *    paddingTop="0"
+ *
+ *    Events
+ *    complete="No default"
+ *    htmlDOMInitialize="No default"
+ *    htmlRender="No default"
+ *    locationChange="No default"
+ *    uncaughtScriptException="No default"
+ *  />
+ *

+ *
  *  @see flash.html.HTMLLoader
  */
  public class HTML extends ScrollControlBase
@@ -452,6 +486,8 @@
      *  Entries less than the current position are the "back" list;
      *  entries greater are "forward."
      *  Attempting to set the position beyond the end sets it to the end.

+	 *
+	 *  @default 0
      */
     public function get historyPosition():int
     {
@@ -538,8 +574,8 @@
      *  override its member functions
      *  to handle various user interface changes in the HTML content,
      *  and set this property to an instance of your subclass.

-     *
-     *  @see flash.html.HTMLHost
+	 *
+	 *  @default null
      */
     public function get htmlHost():HTMLHost
     {
@@ -780,6 +816,8 @@
      *
However, if any HTML element has its own opaque background color
      *  (specified by style="background-color:gray", for instance),
      *  then that background appears behind that element.

+	 *
+	 *  @default false;
      */
     public function get paintsDefaultBackground():Boolean
     {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/SpriteAsset.as
+++ frameworks/projects/framework/src/mx/core/SpriteAsset.as
@@ -81,6 +81,11 @@
  *
  *

  *  <mx:Image id="logo" source="{logoClass}"/>

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class SpriteAsset extends FlexSprite
                          implements IFlexAsset, IFlexDisplayObject, IBorder
@@ -95,6 +100,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function SpriteAsset()
     {
@@ -123,6 +133,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get measuredHeight():Number
     {
@@ -141,6 +156,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get measuredWidth():Number
     {
@@ -153,6 +173,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get borderMetrics():EdgeMetrics
     {
@@ -177,6 +202,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function move(x:Number, y:Number):void
     {
@@ -186,6 +216,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function setActualSize(newWidth:Number, newHeight:Number):void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5099
Author:   gauravj@adobe.com
Date:     2009-02-27T03:43:02.639229Z

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

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

Modified Paths:
--------------
147 paths were modified

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

--- frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLOperation.as
+++ frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLOperation.as
@@ -28,6 +28,11 @@
 {
     /**
      * Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function WSDLOperation(name:String)
     {
@@ -45,17 +50,32 @@
     /**
      * Describes the parts and encoding for the input message of this
      * operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var inputMessage:WSDLMessage;

     /**
      * Used to map prefixes to namespace URIs.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var namespaces:Object;

     /**
      * Describes the parts and encoding for the output message of this
      * operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var outputMessage:WSDLMessage;

@@ -69,6 +89,11 @@
      * If a style is not specified for an operation the default will be
      * determined from the parent WSDLBinding's style attribute.
      * </p>
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var style:String;

@@ -81,6 +106,11 @@

     /**
      * The name of this WSDL operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get name():String
     {
@@ -90,6 +120,11 @@
     /**
      * A SchemaManager handles the XML Schema types section of a WSDL and
      * is used to locate a type definition by QName.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get schemaManager():SchemaManager
     {
@@ -110,6 +145,11 @@
      * value of the empty String will be returned in the event that it is
      * not set.
      * </p>
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get soapAction():String
     {
@@ -127,6 +167,11 @@
     /**
      * The constants for the version of SOAP used to encode messages
      * to and from this operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get soapConstants():SOAPConstants
     {
@@ -143,6 +188,11 @@

     /**
      * The constants for the version of WSDL used to define this operation.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get wsdlConstants():WSDLConstants
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3321
Author:   hmuller@adobe.com
Date:     2008-09-23T21:21:31.020570Z

Log Message:
-----------
Created ILayout implementation LayoutBase and made it the base
class for the three existing layouts. LayoutBase defines the
following properties:

  target - the Group or DataGroup (GroupBase) that whose
  layout property is _this_ layout.

  verticalScrollPosition, horizontalScrollPosition - the
  origin of the target's scrollRect.  These properties were
  defined by GroupBase.

LayoutBase also adds some new protected methods:

  scrollPositionChanged() - called when the
  vertical,horizontalScrollPosition properties change.

  updateScrollRect() - syncs the scrollRect with the
  vertical,horizontalScrollPosition properties

  invalidateTargetSizeAndDisplayList() - convenience
  method that calls invalidateSize,DisplayList().

LayoutBase also defines empty implementations of measure
and updateDisplayList.

GroupBase now delegates vertical,horizontalScrollPosition
to its layout and redispatches the layout's propertyChange
events for these properties.

QE: No
Doc: No
Checkintests: Pass
Reviewer: Evtim
Bugs:
   SDK-17002 -  includeInLayout no longer being respected

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Selector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/VerticalLayout.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/intf/ILayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Scroller.as</path>

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

--- frameworks/projects/spark/src/spark/components/HGroup.as
+++ frameworks/projects/spark/src/spark/components/HGroup.as
@@ -11,8 +11,8 @@

 package flex.component
 {
+import flash.events.Event;
 import flex.core.Group;
-import flex.intf.ILayout;
 import flex.layout.HorizontalLayout;

 /**
@@ -27,16 +27,24 @@
  */
 public class HGroup extends Group
 {
+	include "../core/Version.as";

     /**
      *  Initializes the layout property to an instance of HorizontalLayout.
      *
+     *  Resetting the layout property or setting its properties directly
+     *  is not supported.
+     *
      *  @see flex.layout.HorizontalLayout
+     *  @see flex.component.VGroup
      */
     public function HGroup():void
     {
         super();
-        super.layout = new HorizontalLayout();
+        var hl:HorizontalLayout = new HorizontalLayout();
+        hl.addEventListener("indexInViewChanged", redispatchHandler);
+        hl.addEventListener("propertyChange", redispatchHandler);
+        layout = hl;
     }

     private function get horizontalLayout():HorizontalLayout
@@ -73,6 +81,8 @@
     //----------------------------------
     //  columnCount
     //----------------------------------
+
+    [Bindable("propertyChange")]

     /**
      * @copy flex.layout.HorizontalLayout#columnCount
@@ -150,6 +160,8 @@
     //  firstIndexInView
     //----------------------------------

+    [Bindable("indexInViewChanged")]
+
     /**
      * @copy flex.layout.HorizontalLayout#firstIndexInView
      */
@@ -161,6 +173,8 @@
     //----------------------------------
     //  lastIndexInView
     //----------------------------------
+
+    [Bindable("indexInViewChanged")]

     /**
      * @copy flex.layout.HorizontalLayout#lastIndexInView
@@ -168,8 +182,18 @@
     public function get lastIndexInView():int
     {
         return horizontalLayout.lastIndexInView;
-    }
+    }

+    //--------------------------------------------------------------------------
+    //
+    //  Event Handlers
+    //
+    //--------------------------------------------------------------------------
+
+    private function redispatchHandler(event:Event):void
+    {
+        dispatchEvent(event);
+    }
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8486
Author:   smgilson@adobe.com
Date:     2009-07-09T18:42:45.734868Z

Log Message:
-----------
Third checkin to update the namespace in ASDoc MXML syntax descriptions for Spark components

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.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/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.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/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.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/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.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/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/VGroup.as
+++ frameworks/projects/spark/src/spark/components/VGroup.as
@@ -26,7 +26,7 @@
  *
  *  @mxml
  *
- *
The <VGroup> tag inherits all of the tag
+ *
The <s:VGroup> tag inherits all of the tag
  *  attributes of its superclass and adds the following tag attributes:

  *
  *


In AS3, coercing any string with a length > 0 always returns true. For example "false" returns true

--- src/org/mangui/hls/utils/Params2Settings.as
+++ src/org/mangui/hls/utils/Params2Settings.as
@@ -54,8 +54,14 @@
                     var cName : String = getQualifiedClassName(HLSSettings[param]);
                     // AS3 bug: "getDefinitionByName" considers var value, not type, and wrongly (e.g. 3.0 >> "int"; 3.1 >> "Number").
                     var c : Class = cName === "int" ? Number : getDefinitionByName(cName) as Class;
-                    // get HLSSetting type
-                    HLSSettings[param] = c(value);
+
+                    // only set booleans to true if the string actually is true, otherwise false
+                    if(cName === "Boolean") {
+                        HLSSettings[param] = String(value).toLowerCase() === "true";
+                    } else { // Otherwise just cast it
+                        HLSSettings[param] = c(value);
+                    }
+
                     CONFIG::LOGGING {
                         Log.info("HLSSettings." + param + " = " + HLSSettings[param]);
                     }


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

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


XLSDataSource now works in the absence of a key column

--- WeaveData/src/weave/data/DataSources/XLSDataSource.as
+++ WeaveData/src/weave/data/DataSources/XLSDataSource.as
@@ -55,6 +55,13 @@
 		{
 		}

+		override protected function get initializationComplete():Boolean
+		{
+			return super.initializationComplete
+				&& xlsSheetsArray
+				&& xlsSheetsArray.length > 0;
+		}
+
 		override protected function initialize():void
 		{
 			super.initialize();
@@ -78,7 +85,7 @@
 			try
 			{
 				this.xlsSheetsArray = xlsSheetsArray;
-				if (_attributeHierarchy.value == null)
+				if (_attributeHierarchy.value == null && xlsSheetsArray.length > 0)
 				{
 					// loop through column names, adding indicators to hierarchy
 					var firstRow:Array = xlsSheetsArray[0].values[0];
@@ -130,8 +137,6 @@
 			var colName:String = String(proxyColumn.getMetadata("name"));
 			var colIndex:int = getColumnIndexFromSheetValues(xlsSheetsArray[0].values[0],colName);
 			var keyColIndex:int = getColumnIndexFromSheetValues(xlsSheetsArray[0].values[0],keyColName.value);
-			if (keyColIndex == -1)
-				keyColIndex = 0; // default to first column (temp solution)

 			var xlsDataColumn:Vector.<String> = getColumnValues(colIndex);
 			var keyStringsArray:Array = VectorUtils.copy(getColumnValues(keyColIndex), []);
@@ -175,8 +180,14 @@
 		private function getColumnValues(columnIndex:int):Vector.<String>
 		{
 			var values:Vector.<String> = new Vector.<String>();
-			for (var i:int = 1; i < xlsSheetsArray[0].values.length; i++)
-				values[i-1] = xlsSheetsArray[0].values[i][columnIndex];
+			values.length = xlsSheetsArray[0].values.length - 1;
+			for (var i:int = 0; i < values.length; i++)
+			{
+				if (columnIndex < 0)
+					values[i] = String(i + 1);
+				else
+					values[i] = xlsSheetsArray[0].values[i + 1][columnIndex];
+			}
 			return values;
 		}


Fixed StringColumn bug created in bfb4877cfb5296dcef6156cc9

--- WeaveASJS/src/weavejs/data/column/StringColumn.as
+++ WeaveASJS/src/weavejs/data/column/StringColumn.as
@@ -145,7 +145,8 @@
 				return;

 			_i = 0;
-			_numberToString = {};
+			_numberToString.clear();
+			_stringToNumber.clear();
 			// high priority because not much can be done without data
 			WeaveAPI.Scheduler.startTask(this, _iterate, WeaveAPI.TASK_PRIORITY_HIGH, asyncComplete);
 		}


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

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

 package mx.controls.advancedDataGridClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/charts/src/mx/charts/LineChart.as
+++ frameworks/projects/charts/src/mx/charts/LineChart.as
@@ -0,0 +1,235 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.charts
+{
+
+import flash.filters.DropShadowFilter;
+
+import mx.charts.chartClasses.CartesianChart;
+import mx.charts.chartClasses.DataTip;
+import mx.charts.chartClasses.IAxis;
+import mx.charts.renderers.LineRenderer;
+import mx.charts.styles.HaloDefaults;
+import mx.core.ClassFactory;
+import mx.graphics.SolidColor;
+import mx.graphics.Stroke;
+import mx.styles.CSSStyleDeclaration;
+import mx.core.IFlexModuleFactory;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+[DefaultBindingProperty(destination="dataProvider")]
+
+[DefaultTriggerEvent("itemClick")]
+
+[IconFile("LineChart.png")]
+
+/**
+ *  The LineChart control represents a data series
+ *  as points connected by a continuous line.
+ *  You can use an icon or symbol to represent each data point
+ *  along the line, or show a simple line with no icons.
+ *
+ *
The LineChart control expects its series property
+ *  to contain an Array of LineSeries objects.

+ *
+ *  @mxml
+ *
+ *  The <mx:LineChart> tag inherits all the properties
+ *  of its parent classes and adds the following properties:

+ *
+ *

+ *  <mx:LineChart
+ *  />
+ *

+ *
+ *  @includeExample examples/Line_AreaChartExample.mxml
+ *
+ *  @see mx.charts.series.LineSeries
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class LineChart extends CartesianChart
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class initialization
+	//
+	//--------------------------------------------------------------------------
+
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function LineChart()
+	{
+		super();
+
+		LinearAxis(horizontalAxis).autoAdjust = false;
+
+		seriesFilters = [ new DropShadowFilter() ];
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var _moduleFactoryInitialized:Boolean = false;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  horizontalAxis
+	//----------------------------------
+
+    [Inspectable(category="Data")]
+
+	/**
+	 *  @private
+	 */
+	override public function set horizontalAxis(value:IAxis):void
+	{
+		if (value is CategoryAxis)
+			CategoryAxis(value).padding = 0;
+
+		super.horizontalAxis = value;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: UIComponent
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private function initStyles():Boolean
+	{
+		HaloDefaults.init(styleManager);
+
+		var lineChartStyle:CSSStyleDeclaration =
+			HaloDefaults.createSelector("mx.charts.LineChart", styleManager);
+
+		var lineChartSeriesStyles:Array /* of Object */ = [];
+
+		lineChartStyle.defaultFactory = function():void
+		{
+			this.axisColor = 0xD5DEDD;
+			this.chartSeriesStyles = lineChartSeriesStyles;
+			this.dataTipRenderer = DataTip;
+			this.fill = new SolidColor(0xFFFFFF, 0);
+			this.calloutStroke = new Stroke(0x888888,2);
+			this.fontSize = 10;
+			this.horizontalAxisStyleName = "hangingCategoryAxis";
+			this.secondHorizontalAxisStyleName = "hangingCategoryAxis";
+			this.secondVerticalAxisStyleName = "blockNumericAxis";
+			this.textAlign = "left";
+			this.verticalAxisStyleName = "blockNumericAxis";
+			this.horizontalAxisStyleNames = ["hangingCategoryAxis"];
+			this.verticalAxisStyleNames = ["blockNumericAxis"];
+		}
+
+		var n:int = HaloDefaults.defaultColors.length;
+		for (var i:int = 0; i < n; i++)
+		{
+			var styleName:String = "haloLineSeries" + i;
+			lineChartSeriesStyles[i] = styleName;
+
+			var o:CSSStyleDeclaration =
+				HaloDefaults.createSelector("." + styleName, styleManager);
+
+			var f:Function = function(o:CSSStyleDeclaration, stroke:Stroke):void
+			{
+				o.defaultFactory = function():void
+				{
+					this.lineStroke = stroke;
+					this.stroke = stroke;
+					this.lineSegmentRenderer = new ClassFactory(LineRenderer);
+				}
+			}
+
+			f(o, new Stroke(HaloDefaults.defaultColors[i], 3, 1));
+		}
+
+		return true;
+	}
+
+	/**
+	 *  @inheritDoc
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	override public function set moduleFactory(factory:IFlexModuleFactory):void
+	{
+		super.moduleFactory = factory;
+
+		if (_moduleFactoryInitialized)
+			return;
+
+		_moduleFactoryInitialized = true;
+
+		// our style settings
+		initStyles();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: CartesianChart
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override protected function initSecondaryMode():void
+	{
+		super.initSecondaryMode();
+
+		if (!secondVerticalAxis)
+			secondVerticalAxis = new LinearAxis();
+
+		if (!secondVerticalAxisRenderer)
+			secondVerticalAxisRenderer = new AxisRenderer();
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/skins/halo/PanelSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/PanelSkin.as
@@ -26,6 +26,11 @@

 /**
  *  The PanelSkin class defines the skin for the Panel, TitleWindow, and Alert components.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class PanelSkin extends HaloBorder
 {
@@ -33,6 +38,11 @@

     /**
      *  Constructor
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function PanelSkin()
     {
@@ -263,6 +273,11 @@

    	/**
 	 *  We don't use 'is' to prevent dependency issues
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	private static var panels:Object = {};


Can't undo/redo while placing wires/modules

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -556,8 +556,8 @@
 		}

 		protected function checkMenuState():void {
-			undoButton.exists = actionStack.length > 0;
-			redoButton.exists = reactionStack.length > 0;
+			undoButton.exists = canUndo();
+			redoButton.exists = canRedo();
 			if (loadButton) {
 				var successSave:String = findSuccessSave();
 				loadButton.exists = successSave != savedString && successSave != null;
@@ -773,15 +773,23 @@
 			}
 		}

+		private function canUndo():Boolean {
+			return actionStack.length > 0 && !currentWire && !currentModule;
+		}
+
+		private function canRedo():Boolean {
+			return reactionStack.length > 0 && !currentWire && !currentModule;
+		}
+

 		private function undo():Action {
-			if (!actionStack.length)
+			if (!canUndo())
 				return null;
 			return actionStack.pop().revert();
 		}

 		private function redo():Action {
-			if (!reactionStack.length)
+			if (!canRedo())
 				return null;
 			return reactionStack.pop().execute();
 		}


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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkBorderContainerAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkBorderContainerAutomationImpl.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.automation.delegates.components
 {


- change: Label now supports using cursor: pointer in :hover

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

--- src/reprise/controls/Label.as
+++ src/reprise/controls/Label.as
@@ -11,6 +11,7 @@

 package reprise.controls
 {
+	import reprise.css.ComputedStyles;
 	import reprise.core.reprise;
 	import reprise.css.CSS;
 	import reprise.css.CSSDeclaration;
@@ -63,6 +64,7 @@
 		protected var m_bitmapCache : Bitmap;
 		protected var m_cacheInvalid : Boolean;
 		protected var m_lastHoverIndex : int;
+		protected var m_usePointer : Boolean;

 		/***************************************************************************
@@ -197,7 +199,17 @@

 		protected override function applyStyles() : void
 		{
-			super.applyStyles();
+			if (m_usePointer && m_currentStyles.cursor != 'pointer')
+			{
+				var oldCursor : String = m_currentStyles.cursor;
+				m_currentStyles.cursor = 'pointer';
+				super.applyStyles();
+				m_currentStyles.cursor = oldCursor;
+			}
+			else
+			{
+				super.applyStyles();
+			}

 			//TODO: find a way to re-enable tab stops
 //			var fmt : TextFormat = new TextFormat();
@@ -648,11 +660,14 @@
 				return;
 			}

+			var usePointer : Boolean = false;
+			var innerStart : int = 0;
+			var innerEnd : int = m_labelDisplay.length;
 			for (var i : int = m_nodesMap.length; i--;)
 			{
 				var def : Object = m_nodesMap[i];
 				var node : XML = def.node;
-				if (int(m_nodesMap[i].start) <= index && int(m_nodesMap[i].end) > index)
+				if (int(def.start) <= index && int(def.end) > index)
 				{
 					if (!def.hover)
 					{
@@ -662,6 +677,15 @@
 							getStyleForEscapedSelectorPath(def.path + '@:hover@');
 						node.@['class'] = hoverStyle.textStyleName(node.parent() == null);
 						labelChanged = true;
+						def.pointer ||= (hoverStyle.hasStyle('cursor')
+							? hoverStyle.getStyle('cursor').specifiedValue()
+							: null) == 'pointer';
+					}
+					if (def.start > innerStart || def.end < innerEnd)
+					{
+						innerStart = def.start;
+						innerEnd = def.end;
+						usePointer = def.pointer;
 					}
 				}
 				else if (def.hover)
@@ -683,6 +707,20 @@
 				{
 					invalidate();
 				}
+			}
+			if (usePointer)
+			{
+				m_usePointer = true;
+				if (!buttonMode)
+				{
+					buttonMode = true;
+					useHandCursor = true;
+				}
+			}
+			else if (buttonMode && m_currentStyles.cursor != 'pointer')
+			{
+				buttonMode = false;
+				useHandCursor = false;
 			}
 			m_lastHoverIndex = index;
 		}


Tidied up formatting broken by tab->spaces conversion

--- src/org/mangui/hls/stream/HLSNetStream.as
+++ src/org/mangui/hls/stream/HLSNetStream.as
@@ -21,7 +21,6 @@
     import flash.net.NetConnection;
     import flash.net.NetStream;
     import flash.net.NetStreamAppendBytesAction;
-    import flash.net.NetStreamInfo;
     import flash.net.NetStreamPlayOptions;
     import flash.utils.ByteArray;
     import flash.utils.Timer;
@@ -29,23 +28,27 @@
     CONFIG::LOGGING {
         import org.mangui.hls.utils.Log;
     }
-    /** Class that overrides standard flash.net.NetStream class, keeps the buffer filled, handles seek and play state
+    /**
+	 * Class that overrides standard flash.net.NetStream class, keeps the buffer filled, handles seek and play state
      *
      * play state transition :
-     *                 FROM                                TO                                condition
+	 *
+     *  FROM                                TO                                  CONDITION
+	 * ------------------------------------------------------------------------------------------------------------------
      *  HLSPlayStates.IDLE                  HLSPlayStates.PLAYING_BUFFERING     idle => play()/play2() called
      *  HLSPlayStates.IDLE                  HLSPlayStates.PAUSED_BUFFERING      idle => seek() called
-     *  HLSPlayStates.PLAYING_BUFFERING      HLSPlayStates.PLAYING                  buflen > minBufferLength
-     *  HLSPlayStates.PAUSED_BUFFERING      HLSPlayStates.PAUSED                  buflen > minBufferLength
-     *  HLSPlayStates.PLAYING                  HLSPlayStates.PLAYING_BUFFERING      buflen < lowBufferLength
-     *  HLSPlayStates.PAUSED                  HLSPlayStates.PAUSED_BUFFERING      buflen < lowBufferLength
+     *  HLSPlayStates.PLAYING_BUFFERING     HLSPlayStates.PLAYING               buflen > minBufferLength
+     *  HLSPlayStates.PAUSED_BUFFERING      HLSPlayStates.PAUSED                buflen > minBufferLength
+     *  HLSPlayStates.PLAYING               HLSPlayStates.PLAYING_BUFFERING     buflen < lowBufferLength
+     *  HLSPlayStates.PAUSED                HLSPlayStates.PAUSED_BUFFERING      buflen < lowBufferLength
      *
      * seek state transition :
      *
-     *              FROM                                TO                              condition
-     *  HLSSeekStates.IDLE/SEEKED           HLSSeekStates.SEEKING     play()/play2()/seek() called
-     *  HLSSeekStates.SEEKING               HLSSeekStates.SEEKED      upon first FLV tag appending after seek
-     *  HLSSeekStates.SEEKED                HLSSeekStates.IDLE        upon playback complete or stop() called
+     *  FROM                                TO                                  CONDITION
+	 * ------------------------------------------------------------------------------------------------------------------
+     *  HLSSeekStates.IDLE/SEEKED           HLSSeekStates.SEEKING               play()/play2()/seek() called
+     *  HLSSeekStates.SEEKING               HLSSeekStates.SEEKED                upon first FLV tag appending after seek
+     *  HLSSeekStates.SEEKED                HLSSeekStates.IDLE                  upon playback complete or stop() called
      */
     public class HLSNetStream extends NetStream {
         /** Reference to the framework controller. **/


StreamBuffer.as: increase NetStream buffer threshold to workaround FP issues when toggling full screen on and off related to #12

--- src/org/mangui/hls/stream/StreamBuffer.as
+++ src/org/mangui/hls/stream/StreamBuffer.as
@@ -45,8 +45,8 @@
         private var _time_sliding : Number;
         /** buffer PTS (indexed by continuity counter)  */
         private var _buffer_pts : Dictionary;
-        private static const MIN_NETSTREAM_BUFFER_SIZE : Number = 1.0;
-        private static const MAX_NETSTREAM_BUFFER_SIZE : Number = 3.0;
+        private static const MIN_NETSTREAM_BUFFER_SIZE : Number = 3.0;
+        private static const MAX_NETSTREAM_BUFFER_SIZE : Number = 4.0;
         /** means that last fragment of a VOD playlist has been loaded */
         private var _reached_vod_end : Boolean;


SetProperty: Adds TODO message

SetProperty: Adds TODO message

--- src/skein/states/overrides/SetProperty.as
+++ src/skein/states/overrides/SetProperty.as
@@ -23,6 +23,7 @@
     //
     //--------------------------------------------------------------------------

+    // TODO: Enable nested property some like "loginForm.registerButton.layout" it's a requirement for support Feather's layout properties.
     public function SetProperty(property:String, member:String, value:Object)
     {
         super(property, member, value);


Issue #156: Ensure selected bookmark when focusing in via keyboard.

--- src/widgets/Bookmark/BookmarkDataGroup.as
+++ src/widgets/Bookmark/BookmarkDataGroup.as
@@ -49,13 +49,9 @@

     private function focusHandler(event:FocusEvent):void
     {
-        if (event.type == FocusEvent.FOCUS_IN)
+        if (selectedIndex == -1 && event.type == FocusEvent.FOCUS_IN)
         {
             selectedIndex = 0;
-        }
-        else if (event.type == FocusEvent.FOCUS_OUT)
-        {
-            selectedIndex = -1;
         }
     }


Add test for isOverlayEnabled

Add test for isOverlayEnabled

--- test/src/FRESteamWorksTest.as
+++ test/src/FRESteamWorksTest.as
@@ -164,7 +164,9 @@
 		private function activateOverlay(e:Event = null):void {
 			if(!Steamworks.isReady) return;

+			log("isOverlayEnabled() == " + Steamworks.isOverlayEnabled());
 			log("activateGameOverlay('Friends') == " + Steamworks.activateGameOverlay("Friends"));
+			log("isOverlayEnabled() == " + Steamworks.isOverlayEnabled());
 		}

 		private function enumerateSubscribedFiles(e:Event = null):void {


added getColor() and getHexColor() functions to ColorRamp

--- WeaveJS/src/weavejs/util/ColorRamp.as
+++ WeaveJS/src/weavejs/util/ColorRamp.as
@@ -138,6 +138,32 @@

 			var interpolationValue:Number = (normValue - leftNode.position) / (rightNode.position - leftNode.position);
 			return StandardLib.interpolateColor(interpolationValue, leftNode.color, rightNode.color);
+		}
+
+		/**
+		 * Normalizes a value between min and max and returns an RGB hex color.
+		 * @param value A numeric value
+		 * @param min The min value used for normalization
+		 * @param max The max value used for normalization
+		 * @return A color represented as a Number between 0x000000 and 0xFFFFFF
+		 */
+		public function getColor(value:Number, min:Number = 0, max:Number = 1):Number
+		{
+			var normValue:Number = min == 0 && max == 1 ? value : StandardLib.normalize(value, min, max);
+			return getColorFromNorm(normValue);
+		}
+
+		/**
+		 * Normalizes a value between min and max and returns an RGB hex color.
+		 * @param value A numeric value
+		 * @param min The min value used for normalization
+		 * @param max The max value used for normalization
+		 * @return A 6-digit hex color String like #FFFFFF
+		 */
+		public function getHexColor(value:Number, min:Number = 0, max:Number = 1):String
+		{
+			var normValue:Number = min == 0 && max == 1 ? value : StandardLib.normalize(value, min, max);
+			return '#' + StandardLib.numberToBase(getColorFromNorm(normValue), 16, 6);
 		}

 		/* *


gee, maybe i should test my code before committing

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

--- src/as/com/threerings/flash/DisablingButton.as
+++ src/as/com/threerings/flash/DisablingButton.as
@@ -101,7 +101,7 @@
         super.upState = ((null != _disabledState && !super.enabled) ? _disabledState : _upState);

         // mouseEnabled is always false when the button is disabled
-        super.mouseEnabled = (!super.enabled ? _mouseEnabled : false);
+        super.mouseEnabled = (super.enabled ? _mouseEnabled : false);
     }

     protected var _disabledState :DisplayObject;


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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkToggleButtonBaseAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkToggleButtonBaseAutomationImpl.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 spark.automation.delegates.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18396
Author:   jszeto@adobe.com
Date:     2010-11-01T20:44:35.953746Z

Log Message:
-----------
Transition Interruption Bug Fixes

SDK-28277 -  If you interrupt a Transition where interruptionBehavior="stop" and the Transition includes an AddAction, you get a RTE

Added checks to AddItems to be more lenient about removing items that might not have been added.

SDK-28108 -  Values for the interruptionBehavior property on Transition is not hinted in FB

added metadata

QE notes: none
Doc notes: none
Bugs: SDK-28277, SDK-28108
Reviewer: Corey
Tests run: cyclone server
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/Transition.as</path>

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

--- frameworks/projects/framework/src/mx/states/Transition.as
+++ frameworks/projects/framework/src/mx/states/Transition.as
@@ -232,6 +232,7 @@
      *
      *  @default InterruptionBehavior.END
      */
+    [Inspectable(category="General", enumeration="end,stop", defaultValue="end")]
     public var interruptionBehavior:String = InterruptionBehavior.END;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17305
Author:   gruehle@adobe.com
Date:     2010-08-12T21:18:50.910120Z

Log Message:
-----------
This revision includes the following changes:
* Text skin parts for Spark components changed from TextBase and RichEditableText to IDisplayText and IEditableText
* TextBase implements IDisplayText
* RichEditableText implements IEditableText
* New mobile skins for TextInput and TextArea (TextArea appearance is placeholder for now)
* Add a TOUCH_SCROLL_STARTING handler to SkinnableTextBase. This handler prevents the touch scroll from happening if the text is selectable or editable.
* Change global contentBackgroundColor to #3F3F3F and mobile application backgroundColor to #484848

Now that text skin parts are interfaces they need to be cast to concrete types in a bunch of places. There are two general approaches taken here:
* For required functionality, cast to a known type like InteractiveObject
* For optional functionality, cast to the desired type using “as” and wrap the code with a null check.

QE notes: Mobile TextInput is ready for testing. TextArea has some issues with resizing, so testing should wait for now.
Doc notes: -
Bugs: -
Reviewer: Jason Szeto, Corey L.
Tests run: full mustella pass (thank you cyclone server!), checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInput_border.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.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/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormItem.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/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DefaultColumnHeaderRenderer.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/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableTextBaseAutomationImpl.as</path>

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

--- frameworks/projects/mobiletheme/src/MobileThemeClasses.as
+++ frameworks/projects/mobiletheme/src/MobileThemeClasses.as
@@ -29,6 +29,8 @@
 import spark.skins.mobile.ListSkin; spark.skins.mobile.ListSkin;
 import spark.skins.mobile.MobileApplicationSkin; MobileApplicationSkin;
 import spark.skins.mobile.SliderSkin; SliderSkin;
+import spark.skins.mobile.TextAreaSkin; TextAreaSkin;
+import spark.skins.mobile.TextInputSkin; TextInputSkin;
 import spark.skins.mobile.ViewNavigatorSkin; ViewNavigatorSkin;
 import spark.skins.mobile.VScrollBarSkin; spark.skins.mobile.VScrollBarSkin;
 }


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

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


When used with mx:Application, this code used to throw an RTE trying to access the applicationDPI property.  Now, we are checking for availability of this property before trying to access it.

--- frameworks/projects/spark/src/spark/components/Callout.as
+++ frameworks/projects/spark/src/spark/components/Callout.as
@@ -507,7 +507,11 @@
     {
         if (isNaN(_margin))
         {
-            var dpi:Number = FlexGlobals.topLevelApplication["applicationDPI"];
+			var dpi:Number;
+			if(FlexGlobals.topLevelApplication.hasOwnProperty("applicationDPI"))
+			{
+				dpi = FlexGlobals.topLevelApplication["applicationDPI"];
+			}

             if (dpi)
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8627
Author:   jszeto@adobe.com
Date:     2009-07-16T18:40:07.408921Z

Log Message:
-----------
Adding copyright headers to filter classes

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

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

--- frameworks/projects/spark/src/spark/filters/BlurFilter.as
+++ frameworks/projects/spark/src/spark/filters/BlurFilter.as
@@ -1,3 +1,14 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.filters
 {
 import flash.filters.BitmapFilter;


Optional type checking for readObject

Optional type checking for readObject

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

--- src/as/com/threerings/io/ObjectInputStream.as
+++ src/as/com/threerings/io/ObjectInputStream.as
@@ -30,6 +30,7 @@
 import com.threerings.util.ClassUtil;
 import com.threerings.util.Log;
 import com.threerings.util.Long;
+import com.threerings.util.safeCast;

 public class ObjectInputStream
 {
@@ -54,7 +55,14 @@
         _source = source;
     }

-    public function readObject () :Object
+    /**
+     * Attempts to read the next object from the stream. If a type is passed and the read object's
+     * type doesn't match, a warning is printed and null returned. The method does not throw,
+     * presumably to allow the client to hobble along until second order symptoms are observed.
+     * @param type optional type to check the read object against
+     * @return null if the object could not be read or is of the wrong type
+     */
+    public function readObject (type :Class = null) :Object
         //throws IOError
     {
         var DEBUG_ID :String = "[" + (++_debugObjectCounter) + "] ";
@@ -107,6 +115,10 @@
             //log.debug("Reading object...");
             readBareObjectImpl(target, cmap.streamer);
             if (DEBUG) log.debug(DEBUG_ID + "Read object: " + target);
+            if (type != null && !(target is type)) {
+                log.warning("Type mismatch", "expected", type, "read", ClassUtil.getClass(target));
+                return null;
+            }
             return target;

         } catch (me :MemoryError) {