fixed menu positioning bug when on edge of screen

Change-Id: I996bdbd2dd351fdcfc8aad0c51c743e33e9694a0

--- WeaveUI/src/weave/ui/SubMenu.as
+++ WeaveUI/src/weave/ui/SubMenu.as
@@ -1,191 +1,187 @@
-/*
-Weave (Web-based Analysis and Visualization Environment)
-Copyright (C) 2008-2011 University of Massachusetts Lowell
-
-This file is a part of Weave.
-
-Weave is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License, Version 3,
-as published by the Free Software Foundation.
-
-Weave is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with Weave.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-package weave.ui
-{
-	import flash.display.DisplayObjectContainer;
-	import flash.display.Stage;
-	import flash.events.Event;
-	import flash.events.MouseEvent;
-	import flash.geom.Point;
-
-	import mx.controls.Menu;
-	import mx.core.UIComponent;
-	import mx.events.MenuEvent;
-
-	import weave.api.WeaveAPI;
-	import weave.primitives.Bounds2D;
-
-	/**
-	 * This class adds a submenu to any UI Compnent.
-	 * Contructor takes a parent UIComponent and a String array of event listeners
-	 * Use the addSubMenuItem function to add menu items
-	 *
-	 * @author skolman
-	 * @author adufilie
-	 */
-	public class SubMenu extends Menu
-	{
-		/**
-		 * Adds a submenu to any UI Compnent.
-		 * Contructor takes a parent UIComponent and a String array of event listeners
-		 * Use the addSubMenuItem function to add menu items
-		 * @param uiParentComponent The UIComponent to add the submenu to.
-		 * @param openMenuEventTypes A list of event types which will toggle the submenu.
-		 * @param closeMenuEventTypes A list of event types which will close the submenu.
-		 */
-		public function SubMenu(uiParent:UIComponent, openMenuEventTypes:Array = null, closeMenuEventTypes:Array = null)
-		{
-			if(uiParent == null)
-				throw new Error("uiParent cannot be null");
-
-			_uiParent = uiParent;
-
-			var type:String;
-			for each (type in openMenuEventTypes)
-			_uiParent.addEventListener(type, openSubMenu);
-			for each (type in closeMenuEventTypes)
-			_uiParent.addEventListener(type, closeSubMenu);
-
-			tabEnabled = false;
-			owner = DisplayObjectContainer(WeaveAPI.topLevelApplication);
-			showRoot = false; //test this
-		}
-
-		private var _uiParent:UIComponent = null;
-
-		//		private var subMenu:Menu;
-
-		private var subMenuDataProvider:Array = [];
-
-		/**
-		 * Adds an item to the menu.
-		 * @param label The Label string to show when the menu is open
-		 * @param listener The function to call when the item is clicked.
-		 * @param params An Array of parameters to pass to the listener function.
-		 */
-		public function addSubMenuItem(label:String,listener:Function,params:Array=null):void
-		{
-			var menuItem:SubMenuItem = new SubMenuItem();
-			menuItem.label = label;
-			menuItem.listener = listener;
-			menuItem.params = params;
-
-			subMenuDataProvider.push(menuItem);
-
-			//			subMenu = Menu.createMenu(_uiParent,subMenuDataProvider,false);
-
-
-			addEventListener(MenuEvent.ITEM_CLICK,handleSubMenuItemClick);
-
-			addEventListener(MenuEvent.MENU_HIDE,function():void{toggleSubMenu = false;});
-
-
-		}
-
-		/**
-		 * Removes all menu items
-		 */
-		public function removeAllSubMenuItems():void
-		{
-			subMenuDataProvider = [];
-		}
-
-		private function handleSubMenuItemClick(event:MenuEvent):void
-		{
-			var item:SubMenuItem = event.item as SubMenuItem;
-			item.listener.apply(null, item.params);
-		}
-
-		private var toggleSubMenu:Boolean =  false;
-		private function openSubMenu(event:Event = null):void
-		{
-			// work around bug where menu doesn't open on mouseDown
-			if (event && event.type == MouseEvent.MOUSE_DOWN)
-			{
-				_uiParent.callLater(openSubMenu);
-				return;
-			}
-
-			if(toggleSubMenu)
-			{
-				toggleSubMenu = false;
-				return;
-			}
-
-			toggleSubMenu = true;
-
-			//			if(subMenuDataProvider.length == 0)
-			//				subMenu = Menu.createMenu(_uiParent,new SubMenuItem(),false);
-
-
-			showSubMenu();
-
-
-		}
-
-		private function closeSubMenu(event:Event):void
-		{
-			hide();
-		}
-
-		//		public function hideSubMenu():void
-		//		{
-		//			hide();
-		//		}
-
-		public function showSubMenu():void
-		{
-			var menuLocation:Point = _uiParent.contentToGlobal(new Point(0,_uiParent.height));
-
-			var stage:Stage = WeaveAPI.topLevelApplication.stage;
-			var tempBounds:Bounds2D = new Bounds2D();
-			tempBounds.setBounds(stage.x, stage.y, stage.stageWidth, stage.stageHeight);
-
-			var xMin:Number = tempBounds.getXNumericMin();
-			var yMin:Number = tempBounds.getYNumericMin();
-			var xMax:Number = tempBounds.getXNumericMax();
-			var yMax:Number = tempBounds.getYNumericMax();
-
-			setStyle("openDuration",0);
-			popUpMenu(this, _uiParent, subMenuDataProvider);
-			show(menuLocation.x,menuLocation.y);
-
-			if (menuLocation.x < xMin)
-				menuLocation.x = xMin;
-			else if(menuLocation.x + width > xMax)
-				menuLocation.x = xMax - width;
-
-			if (menuLocation.y < yMin)
-				menuLocation.y = yMin + _uiParent.height;
-			else if (menuLocation.y > yMax)
-				menuLocation.y = yMax - height - _uiParent.height;
-
-			move(menuLocation.x,menuLocation.y);
-		}
-
-	}
-}
-
-internal class SubMenuItem
-{
-	public var label:String;
-	public var listener:Function;
-	public var params:Array;
-}
+/*
+Weave (Web-based Analysis and Visualization Environment)
+Copyright (C) 2008-2011 University of Massachusetts Lowell
+
+This file is a part of Weave.
+
+Weave is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License, Version 3,
+as published by the Free Software Foundation.
+
+Weave is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Weave.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+package weave.ui
+{
+	import flash.display.DisplayObjectContainer;
+	import flash.display.Stage;
+	import flash.events.Event;
+	import flash.events.MouseEvent;
+	import flash.geom.Point;
+
+	import mx.controls.Menu;
+	import mx.core.UIComponent;
+	import mx.events.MenuEvent;
+
+	import weave.api.WeaveAPI;
+	import weave.primitives.Bounds2D;
+
+	/**
+	 * This class adds a submenu to any UI Compnent.
+	 * Contructor takes a parent UIComponent and a String array of event listeners
+	 * Use the addSubMenuItem function to add menu items
+	 *
+	 * @author skolman
+	 * @author adufilie
+	 */
+	public class SubMenu extends Menu
+	{
+		/**
+		 * Adds a submenu to any UI Compnent.
+		 * Contructor takes a parent UIComponent and a String array of event listeners
+		 * Use the addSubMenuItem function to add menu items
+		 * @param uiParentComponent The UIComponent to add the submenu to.
+		 * @param openMenuEventTypes A list of event types which will toggle the submenu.
+		 * @param closeMenuEventTypes A list of event types which will close the submenu.
+		 */
+		public function SubMenu(uiParent:UIComponent, openMenuEventTypes:Array = null, closeMenuEventTypes:Array = null)
+		{
+			if (uiParent == null)
+				throw new Error("uiParent cannot be null");
+
+			_uiParent = uiParent;
+
+			var type:String;
+			for each (type in openMenuEventTypes)
+				_uiParent.addEventListener(type, openSubMenu);
+			for each (type in closeMenuEventTypes)
+				_uiParent.addEventListener(type, closeSubMenu);
+
+			includeInLayout = false;
+			tabEnabled = false;
+			owner = DisplayObjectContainer(WeaveAPI.topLevelApplication);
+			showRoot = false; //test this
+		}
+
+		private var _uiParent:UIComponent = null;
+
+		//		private var subMenu:Menu;
+
+		private var subMenuDataProvider:Array = [];
+
+		/**
+		 * Adds an item to the menu.
+		 * @param label The Label string to show when the menu is open
+		 * @param listener The function to call when the item is clicked.
+		 * @param params An Array of parameters to pass to the listener function.
+		 */
+		public function addSubMenuItem(label:String,listener:Function,params:Array=null):void
+		{
+			var menuItem:SubMenuItem = new SubMenuItem();
+			menuItem.label = label;
+			menuItem.listener = listener;
+			menuItem.params = params;
+
+			subMenuDataProvider.push(menuItem);
+
+			//			subMenu = Menu.createMenu(_uiParent,subMenuDataProvider,false);
+
+
+			addEventListener(MenuEvent.ITEM_CLICK,handleSubMenuItemClick);
+
+			addEventListener(MenuEvent.MENU_HIDE,function():void{toggleSubMenu = false;});
+
+
+		}
+
+		/**
+		 * Removes all menu items
+		 */
+		public function removeAllSubMenuItems():void
+		{
+			subMenuDataProvider = [];
+		}
+
+		private function handleSubMenuItemClick(event:MenuEvent):void
+		{
+			var item:SubMenuItem = event.item as SubMenuItem;
+			item.listener.apply(null, item.params);
+		}
+
+		private var toggleSubMenu:Boolean =  false;
+		private function openSubMenu(event:Event = null):void
+		{
+			// work around bug where menu doesn't open on mouseDown
+			if (event && event.type == MouseEvent.MOUSE_DOWN)
+			{
+				_uiParent.callLater(openSubMenu);
+				return;
+			}
+
+			if(toggleSubMenu)
+			{
+				toggleSubMenu = false;
+				return;
+			}
+
+			toggleSubMenu = true;
+
+			//			if(subMenuDataProvider.length == 0)
+			//				subMenu = Menu.createMenu(_uiParent,new SubMenuItem(),false);
+
+
+			showSubMenu();
+
+
+		}
+
+		private function closeSubMenu(event:Event):void
+		{
+			hide();
+		}
+
+		public function showSubMenu():void
+		{
+			var menuLocation:Point = _uiParent.localToGlobal(new Point(0,_uiParent.height));
+
+			var stage:Stage = WeaveAPI.topLevelApplication.stage;
+			var tempBounds:Bounds2D = new Bounds2D();
+			tempBounds.setBounds(0, 0, stage.stageWidth, stage.stageHeight);
+
+			var xMin:Number = tempBounds.getXNumericMin();
+			var yMin:Number = tempBounds.getYNumericMin();
+			var xMax:Number = tempBounds.getXNumericMax();
+			var yMax:Number = tempBounds.getYNumericMax();
+
+			setStyle("openDuration",0);
+			popUpMenu(this, _uiParent, subMenuDataProvider);
+			show(menuLocation.x, menuLocation.y);
+
+			if (menuLocation.x < xMin)
+				menuLocation.x = xMin;
+			else if(menuLocation.x + width > xMax)
+				menuLocation.x = xMax - width;
+
+			if (menuLocation.y < yMin)
+				menuLocation.y = yMin + _uiParent.height;
+			else if (menuLocation.y + height > yMax)
+				menuLocation.y -= height + _uiParent.height;
+
+			move(menuLocation.x,menuLocation.y);
+		}
+
+	}
+}
+
+internal class SubMenuItem
+{
+	public var label:String;
+	public var listener:Function;
+	public var params:Array;
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5067
Author:   smgilson@adobe.com
Date:     2009-02-25T16:21:22.849704Z

Log Message:
-----------
In preparation for adding ASDoc version tags for Flex, remove old tags from AIR files

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.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/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.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>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<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/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.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/core/windowClasses/StatusBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/WindowExistenceEvent.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/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>

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

--- frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as
+++ frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as
@@ -23,12 +23,11 @@
  *  @see mx.core.Window
  *  @see mx.core.WindowedApplication
  *
- *  @playerversion AIR 1.1
  */
 public class FlexNativeWindowBoundsEvent extends NativeWindowBoundsEvent
 {
-
-	/**
+
+    /**
      *  The FlexNativeWindowBoundsEvent.WINDOW_RESIZE constant defines the value of the
      *  type property of the event object for a
      *  windowResize event.
@@ -36,8 +35,8 @@
      *
The properties of the event object have the following values:

      *

      *
Property	Value

-	 *
afterBounds	The bounds of the window after the bounds changed.

-	 *
beforeBounds	The bounds of the window before the bounds changed.

+     *
afterBounds	The bounds of the window after the bounds changed.

+     *
beforeBounds	The bounds of the window before the bounds changed.

      *
bubbles	false

      *
cancelable	false

      *
currentTarget	The Object that defines the
@@ -51,12 +50,12 @@
      *       Object listening for the event.

      *
type	FlexNativeWindowBoundsEvent.WINDOW_RESIZE

      *

-	 *
-	 *  @eventType windowResize
-	 */
-	public static const WINDOW_RESIZE:String = "windowResize";
-
-	/**
+     *
+     *  @eventType windowResize
+     */
+    public static const WINDOW_RESIZE:String = "windowResize";
+
+    /**
      *  The FlexNativeWindowBoundsEvent.WINDOW_MOVE constant defines the value of the
      *  type property of the event object for a
      *  windowMove event.
@@ -64,8 +63,8 @@
      *
The properties of the event object have the following values:

      *

      *
Property	Value

-	 *
afterBounds	The bounds of the window after the bounds changed.

-	 *
beforeBounds	The bounds of the window before the bounds changed.

+     *
afterBounds	The bounds of the window after the bounds changed.

+     *
beforeBounds	The bounds of the window before the bounds changed.

      *
bubbles	false

      *
cancelable	false

      *
currentTarget	The Object that defines the
@@ -79,12 +78,12 @@
      *       Object listening for the event.

      *
type	FlexNativeWindowBoundsEvent.WINDOW_MOVE

      *

-	 *
-	 *  @eventType windowMove
-	 */
-	public static const WINDOW_MOVE:String = "windowMove";
-
-	//--------------------------------------------------------------------------
+     *
+     *  @eventType windowMove
+     */
+    public static const WINDOW_MOVE:String = "windowMove";
+
+    //--------------------------------------------------------------------------
     //
     //  Constructor
     //
@@ -105,15 +104,15 @@
      *
      *  @param afterBounds The bounds of the window before the resize.
      */
-	public function FlexNativeWindowBoundsEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false,
-					beforeBounds:Rectangle = null, afterBounds:Rectangle = null)
-	{
-		super(type, bubbles, cancelable, beforeBounds, afterBounds);
-	}
-
-
-
-	//--------------------------------------------------------------------------
+    public function FlexNativeWindowBoundsEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false,
+                    beforeBounds:Rectangle = null, afterBounds:Rectangle = null)
+    {
+        super(type, bubbles, cancelable, beforeBounds, afterBounds);
+    }
+
+
+
+    //--------------------------------------------------------------------------
     //
     //  Overridden methods: Event
     //


Transferred from the Adobe Open Source Subversion Repository

Revision: 1968
Author:   jimurphy@adobe.com
Date:     2008-06-05T15:31:56.961691Z

Log Message:
-----------
Merge 3.0.x revisions [1940,1954] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemEnumerationMode.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/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<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/events/AIREvent.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as</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/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>

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

--- frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as
+++ frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as
@@ -22,7 +22,7 @@
  *  The skin for the restore button in the TitleBar
  *  of a WindowedApplication or Window.
  *
- *  @productversion Apollo 1.0
+ *  @playerversion AIR 1.1
  */
 public class WindowRestoreButtonSkin extends UIComponent
 {


allow subscriptions for ios

allow subscriptions for ios

--- actionscript/src/com/freshplanet/ane/AirInAppPurchase/InAppPurchase.as
+++ actionscript/src/com/freshplanet/ane/AirInAppPurchase/InAppPurchase.as
@@ -104,6 +104,9 @@
          */
         public function makeSubscription(productId:String):void {

+            _context.call("makeSubscription", productId);
+
+            /*
             if (_isAndroid()) {

                 trace("[InAppPurchase] check user can make a subscription");
@@ -112,6 +115,7 @@
             else {
                 _dispatchEvent(InAppPurchaseEvent.PURCHASE_ERROR, "subscriptions not supported");
             }
+            */
         }

         /**
@@ -164,8 +168,6 @@
             }

             trace("[InAppPurchase] get Products Info");
-            if(!productsId) productsId = [];
-            if(!subscriptionIds) subscriptionIds = [];
             _context.call("getProductsInfo", productsId, subscriptionIds);
 		}


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

--- frameworks/projects/advancedgrids/src/mx/printing/PrintOLAPDataGrid.as
+++ frameworks/projects/advancedgrids/src/mx/printing/PrintOLAPDataGrid.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 mx.printing
 {


reverting FLEX-34101 as this cause several spark list test to fails and one to RTE

--- frameworks/projects/framework/src/mx/collections/ListCollectionView.as
+++ frameworks/projects/framework/src/mx/collections/ListCollectionView.as
@@ -1208,7 +1208,7 @@
 			throw new CollectionViewError(message);
 		}

-        if (localIndex && addedItems.length > 0)
+        if (localIndex && addedItems.length > 1)
         {
             addLocation = -1;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3057
Author:   jimurphy@adobe.com
Date:     2008-09-02T15:18:38.819662Z

Log Message:
-----------
Merged 3.0.x revisions [2966,2969,2995,3004,3018-3019,3023,3029-3030,3046,3049,3052] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ModalWindowRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/PopUpRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SizeRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterManagerRequest.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterManagerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/dividedBoxClasses/BoxDivider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootDragEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/EventUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as</path>

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListItemRenderer.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListItemRenderer.as
@@ -463,7 +463,7 @@
         // Calculate global position of label.
         var pt:Point = new Point(0, 0);
         pt = label.localToGlobal(pt);
-        pt = stage.globalToLocal(pt);
+        pt = toolTip.parent.globalToLocal(pt);

         toolTip.move(pt.x, pt.y + (height - toolTip.height) / 2);


Transferred from the Adobe Open Source Subversion Repository

Revision: 9888
Author:   chaase@adobe.com
Date:     2009-09-01T21:00:51.146421Z

Log Message:
-----------
Fixed bug where we RTE when SoundEffect is played while its ‘sound’ property is null. The fix is to just protect those areas in SoundEffect where we deref the sound property.

QE notes: N/A
Doc notes: N/A
Bugs: SDK-22697
Reviewer: Jason
Tests run: checkintests
Is noteworthy for integration: yes

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

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

--- frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as
@@ -142,6 +142,10 @@
         {
             return duration;
         }
+        else if (sound == null)
+        {
+            return 0;
+        }
         else
         {
             // Include the number of loops .
@@ -211,6 +215,9 @@
      */
     public function get isLoading():Boolean
     {
+        if (!sound)
+            return false;
+
         return source is Class ||
                sound.bytesTotal > 0;
     }
@@ -443,6 +450,8 @@
         // Dispatch an effectStart event from the target.
         super.play();

+        if (!sound)
+            return;
         /*
         if (!isLoading && sound)
             sound.load(new URLRequest(source), bufferTime);
@@ -554,8 +563,11 @@

         resumedPosition += pausedPosition;

-        _soundChannel = sound.play(resumedPosition, loops, pausedTransform);
-        _soundChannel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
+        if (sound)
+        {
+            _soundChannel = sound.play(resumedPosition, loops, pausedTransform);
+            _soundChannel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
+        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 18772
Author:   clucier@adobe.com
Date:     2010-11-22T15:01:16.464757Z

Log Message:
-----------
View transitions. Better...faster...stronger.

QE notes: None
Doc notes: None
Bugs: SDK-28641
Reviewer: Chiedo (retro)
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -208,6 +208,15 @@
             startView.includeInLayout = false;
             startView.cacheAsBitmap = true;

+            if (startView.contentGroup)
+            {
+                startViewProps.cgIncludeInLayout = startView.contentGroup.includeInLayout;
+                startView.contentGroup.includeInLayout = false;
+
+                startViewProps.cgCacheAsBitmap = startView.contentGroup.cacheAsBitmap;
+                startView.contentGroup.cacheAsBitmap = true;
+            }
+
             if (!(mode == SlideViewTransitionMode.COVER))
                 slideTargets.push(startView);
         }
@@ -220,6 +229,15 @@
             endView.includeInLayout = false;
             endView.cacheAsBitmap = true;

+            if (endView.contentGroup)
+            {
+                endViewProps.cgIncludeInLayout = endView.contentGroup.includeInLayout;
+                endView.contentGroup.includeInLayout = false;
+
+                endViewProps.cgCacheAsBitmap = endView.contentGroup.cacheAsBitmap;
+                endView.contentGroup.cacheAsBitmap = true;
+            }
+
             if (!(mode == SlideViewTransitionMode.UNCOVER))
                 slideTargets.push(endView);

@@ -431,6 +449,12 @@
             {
                 startView.includeInLayout = startViewProps.includeInLayout;
                 startView.cacheAsBitmap = startViewProps.cacheAsBitmap;
+
+                if (startView.contentGroup)
+                {
+                    startView.contentGroup.includeInLayout = startViewProps.cgIncludeInLayout;
+                    startView.contentGroup.cacheAsBitmap = startViewProps.cgCacheAsBitmap;
+                }
                 startViewProps = null;
             }

@@ -438,6 +462,12 @@
             {
                 endView.includeInLayout = endViewProps.includeInLayout;
                 endView.cacheAsBitmap = endViewProps.cacheAsBitmap;
+
+                if (endView.contentGroup)
+                {
+                    endView.contentGroup.includeInLayout = endViewProps.cgIncludeInLayout;
+                    endView.contentGroup.cacheAsBitmap = endViewProps.cgCacheAsBitmap;
+                }
                 endViewProps = null;
             }
         }


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

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

 package spark.skins.mobile
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

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

 package spark.globalization.supportClasses
 {


move methods to private

move methods to private

--- src/org/mangui/HLS/streaming/ManifestLoader.as
+++ src/org/mangui/HLS/streaming/ManifestLoader.as
@@ -154,7 +154,7 @@
         };

         /** When level switch occurs, assess the need of (re)loading new level playlist **/
-        public function _levelSwitchHandler(event : HLSEvent) : void {
+        private function _levelSwitchHandler(event : HLSEvent) : void {
             if (_current_level != event.level) {
                 _current_level = event.level;
                 Log.debug("switch to level " + _current_level);
@@ -167,7 +167,7 @@
         };

         /** When the framework idles out, reloading is cancelled. **/
-        public function _stateHandler(event : HLSEvent) : void {
+        private function _stateHandler(event : HLSEvent) : void {
             if (event.state == HLSStates.IDLE) {
                 clearTimeout(_timeoutID);
             }


Port all traits of flash.display.BitmapData to TypeScript

--- src/flash/display/BitmapData.as
+++ src/flash/display/BitmapData.as
@@ -28,9 +28,7 @@
   public native function get width():int;
   public native function get height():int;
   public native function get transparent():Boolean;
-  public function get rect():Rectangle {
-    return new Rectangle(0, 0, width, height);
-  }
+  public native function get rect():Rectangle;
   public native function clone():BitmapData;
   public native function getPixel(x:int, y:int):uint;
   public native function getPixel32(x:int, y:int):uint;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7303
Author:   dsubrama@adobe.com
Date:     2009-05-27T05:20:10.470410Z

Log Message:
-----------
A "Chet-approved" fix whereby transitions are turned off by passing setCurrentState() the name of the new state as well as a boolean param that instructs the state change to abort playing any new transitions. List uses this to "turn off" transitions when cleaning up old properties upon renderer recycling.

Checkintests: Pass
QA: No
Reviewer: Chet, like 4 days ago

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -24,6 +24,8 @@
 import spark.components.IItemRenderer;
 import spark.components.MXMLComponent;
 import spark.primitives.supportClasses.TextGraphicElement;
+
+use namespace mx_internal;

 /**
  *  The ItemRenderer class is the base class for Spark item renderers.
@@ -191,6 +193,13 @@
      */
     private var rendererStateIsDirty:Boolean = false;

+    /**
+     *  @private
+     *  A flag determining if this renderer should play any
+     *  associated transitions when a state change occurs.
+     */
+    mx_internal var playTransitions:Boolean = true;
+
     //--------------------------------------------------------------------------
     //
     //  Public Properties
@@ -274,7 +283,7 @@
             return;

         _caret = value;
-        currentState = getCurrentRendererState();
+        setCurrentState(getCurrentRendererState(), playTransitions);
     }

     //----------------------------------
@@ -304,7 +313,7 @@
         if (value != _selected)
         {
             _selected = value;
-            currentState = getCurrentRendererState();
+            setCurrentState(getCurrentRendererState(), playTransitions);
         }
     }

@@ -409,7 +418,7 @@

         if (rendererStateIsDirty)
         {
-            currentState = getCurrentRendererState();
+            setCurrentState(getCurrentRendererState(), playTransitions);
             rendererStateIsDirty = false;
         }
     }
@@ -484,7 +493,7 @@
         if (!anyButtonDown(event))
         {
             hovered = true;
-            currentState = getCurrentRendererState();
+            setCurrentState(getCurrentRendererState(), playTransitions);
         }
     }

@@ -495,7 +504,7 @@
     protected function itemRenderer_rollOutHandler(event:MouseEvent):void
     {
         hovered = false;
-        currentState = getCurrentRendererState();
+        setCurrentState(getCurrentRendererState(), playTransitions);
     }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4513
Author:   chaase@adobe.com
Date:     2009-01-13T21:46:08.801038Z

Log Message:
-----------
Minor bug fixes.
* pausing effect currently sleeping through its startDelay now works
* new effects now work correctly with nonzero repeatDelay
* ASDoc fixes for ANIMATION_REPEAT event

QE Notes: None
Doc Notes: None
Bugs: sdk-17993, sdk-17842, sdk-18672
Reviewer: Jason
Tests: checkintests, Mustella: Effects, gumbo/effects, ListDataEffects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/AnimationEvent.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
@@ -75,12 +75,25 @@
     //
     //--------------------------------------------------------------------------

+    private var _propertyValuesList:Array;
     /**
      * An array of PropertyValuesHolder objects, each of which holds the
      * name of the property being animated and the values that the property
      * will take on during the animation.
      */
-    public var propertyValuesList:Array;
+    public function get propertyValuesList():Array
+    {
+        return _propertyValuesList;
+    }
+    public function set propertyValuesList(value:Array):void
+    {
+        // Only set the list to the given value if we have a
+        // null list to begin with. Otherwise, we've already
+        // set up the list once and don't need to do it again
+        // (for example, in a repeating effect).
+        if (!_propertyValuesList)
+            _propertyValuesList = value;
+    }

     /**
      * This flag indicates whether values should be rounded before set on


Transferred from the Adobe Open Source Subversion Repository

Revision: 4748
Author:   dsubrama@adobe.com
Date:     2009-01-30T00:31:42.781368Z

Log Message:
-----------
Externalizing strings for the flex4 project. We now produce a resource bundle swc (flex4_rb.swc) that has all of the externalized strings for the flex4 project. We include 3 new bundles: components, layout and sparkEffects for the en_US locale. Other locales will come shortly.

QA: Yes, please doublecheck error messages are thrown with the correct error message.
Checkintests: Pass
Reviewer: Gordon

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/components.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="A">/flex/sdk/trunk/layout.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="A">/flex/sdk/trunk/sparkEffects.properties</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
@@ -27,9 +27,17 @@
 import mx.effects.interpolation.NumberInterpolator;
 import mx.events.AnimationEvent;
 import mx.layout.LayoutElementFactory;
+import mx.resources.IResourceManager;
+import mx.resources.ResourceManager;
 import mx.styles.IStyleClient;

 use namespace mx_internal;
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[ResourceBundle("sparkEffects")]

 /**
  * The FxAnimateInstance class implements the instance class for the
@@ -69,6 +77,13 @@
     private var reverseAnimation:Boolean;

     private var needsRemoval:Boolean;
+
+    /**
+     *  @private
+     *  Used for accessing localized Error messages.
+     */
+    private var resourceManager:IResourceManager =
+                                    ResourceManager.getInstance();

     //--------------------------------------------------------------------------
     //
@@ -350,7 +365,7 @@
             var toValue:Object = null;

             if (!property || (property == ""))
-                throw new Error("Illegal property value: " + property);
+                throw new Error(resourceManager.getString("sparkEffects", "illegalPropValue", [property]));

             setupStyleMapEntry(property);

@@ -815,8 +830,8 @@
                 }
                 catch (err:Error)
                 {
-                    throw new Error("Property " + property + " is neither " +
-                        "a property or a style on object " + target + ": " + err);
+                    throw new Error(resourceManager.getString("sparkEffects",
+                        "propNotPropOrStyle", [property, target, err]));
                 }
                 // TODO: check to make sure that the throw above won't
                 // let the code flow get to here


fix typo in error message

fix typo in error message

--- src/aerys/minko/scene/node/Group.as
+++ src/aerys/minko/scene/node/Group.as
@@ -238,7 +238,7 @@
 		public function addChildAt(node : ISceneNode, position : uint) : Group
 		{
 			if (!node)
-				throw new Error('Parameter \'scene\' must not be null.');
+				throw new Error('Parameter \'node\' must not be null.');

 			node.parent = this;


Transferred from the Adobe Open Source Subversion Repository

Revision: 20108
Author:   aharui@adobe.com
Date:     2011-02-03T23:58:30.308320Z

Log Message:
-----------
Add preventDefault on mouseDown so interacting with TextInput/TextArea doesn't cause selection when they are in item renderers.

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -340,6 +340,7 @@
     public function SkinnableTextBase()
     {
         super();
+        addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
     }

     //--------------------------------------------------------------------------
@@ -2033,6 +2034,14 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     * @private
+     * Cancel mouseDown so itemRenderers don't also change state
+     */
+    private function mouseDownHandler(event:MouseEvent):void
+    {
+        event.preventDefault();
+    }

     /**
      * @private


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

--- frameworks/projects/airframework/src/mx/managers/WindowedSystemChildrenList.as
+++ frameworks/projects/airframework/src/mx/managers/WindowedSystemChildrenList.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2007 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//  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: 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@1251560 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/automation/src/mx/automation/events/AutomationDragEvent.as
+++ frameworks/projects/automation/src/mx/automation/events/AutomationDragEvent.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.automation.events
 {


Fixed the SliverCreate call

Fixed the SliverCreate call

--- protogeni/protogeniflash/src/protogeni/communication/RequestSliverCreateAm.as
+++ protogeni/protogeniflash/src/protogeni/communication/RequestSliverCreateAm.as
@@ -30,7 +30,12 @@
 		op.pushField(sliver.slice.urn);
 		op.pushField([sliver.slice.credential]);
 		op.pushField(sliver.getRequestRspec().toXMLString());
-		op.pushField([{urn:Main.geniHandler.CurrentUser.urn, keys:sliver.slice.creator.keys}]);
+		// Internal API error: <Fault 102: "person_id 1: AddPersonKey: Invalid key_fields['key'] value: expected string, got struct">
+		var userKeys:Array = [];
+		for each(var keyObject:Object in sliver.slice.creator.keys) {
+			userKeys.push(keyObject.key);
+		}
+		op.pushField([{urn:Main.geniHandler.CurrentUser.urn, keys:userKeys}]);
 		op.setExactUrl(sliver.manager.Url);
 		op.timeout = 360;
     }


51 whitespace ocd

51 whitespace ocd

--- raw/src/org/yellcorp/layout/LayoutProperty.as
+++ raw/src/org/yellcorp/layout/LayoutProperty.as
@@ -3,10 +3,10 @@

 public class LayoutProperty
 {
-    public static const    X:String = "X";
-    public static const    Y:String = "Y";
-    public static const    WIDTH:String = "WIDTH";
-    public static const    HEIGHT:String = "HEIGHT";
+    public static const X:String = "X";
+    public static const Y:String = "Y";
+    public static const WIDTH:String = "WIDTH";
+    public static const HEIGHT:String = "HEIGHT";
     public static const CENTER_X:String = "CENTER_X";
     public static const CENTER_Y:String = "CENTER_Y";
 }


添加一个获得播放进度的属性

添加一个获得播放进度的属性


Added DataSet and DataTable classes
Updated IDataConverter interface
Added GraphMLConverter class
Added DataIOTests class
Added fromArray and fromDataSet to Data
Added toDataArray to DataList

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

--- flare.tests/tests.as
+++ flare.tests/tests.as
@@ -1,9 +1,11 @@
 package {
+	import flare.tests.DataIOTests;
 	import flare.tests.DataTests;
 	import flare.tests.ExpressionTests;
 	import flare.tests.SortTests;
 	import flare.tests.StringFormatTests;
 	import flare.tests.TreeTests;
+
 	import unitest.TestSuite;

 	[SWF(width="800", height="600", backgroundColor="#ffffff", frameRate="30")]
@@ -16,6 +18,7 @@
 			addTest(new DataTests());
 			addTest(new TreeTests());
 			addTest(new SortTests());
+			addTest(new DataIOTests());
 			run();
 		}


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

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

 package mx.controls.listClasses
 {


fixed fill bug

fixed fill bug

--- src/as3isolib/display/primitive/IsoPrimitive.as
+++ src/as3isolib/display/primitive/IsoPrimitive.as
@@ -119,7 +119,7 @@

 		public function set fill (value:IFill):void
 		{
-			fills = [value];
+			fills = [value, value, value, value, value, value];
 		}

 			//	FILLS


Like getPendingModel, cope if there's no _pendingData

git-svn-id: a3e1eb16dde062992de22c830ed8045c8013209a@931 c613c5cb-e716-0410-b11b-feb51c14d237

--- src/as/com/threerings/whirled/client/SceneDirector.as
+++ src/as/com/threerings/whirled/client/SceneDirector.as
@@ -214,7 +214,7 @@
      */
     public function getPendingSceneId () :int
     {
-        return _pendingData.sceneId;
+        return _pendingData == null ? -1 : _pendingData.sceneId;
     }

     // from interface SceneService_SceneMoveListener


Optimized, about 50x faster when dealing with 400 static objects

--- fp9/src/as3isolib/display/renderers/SceneBlittingRenderer.as
+++ fp9/src/as3isolib/display/renderers/SceneBlittingRenderer.as
@@ -88,22 +88,72 @@
 		 */
 		public function renderScene (scene:IIsoScene):void
 		{
+			var startTime:uint = getTimer();
+
 			if (!_targetBitmap)
 				return;

-			var sortedChildren:Array = scene.displayListChildren.slice(); //make a copy of the children
-			sortedChildren.sort(isoDepthSort); //perform a secondary sort for any hittests
+			// Revamped by David Holz
+			// TODO - keep in sync with DefaultSceneLayoutRenderer

-			var child:IIsoDisplayObject;
-			var i:uint;
-			var m:uint = sortedChildren.length;
-			while (i < m)
+			// NOTE - Flash player 10 only
+			// Using scene.children because they are in last display order, scene.displayListChildren are unordered and fully resorted every time!
+			var sortedChildren:Vector.<IIsoDisplayObject> = Vector.<IIsoDisplayObject>(scene.children);
+
+			// Flash player 9
+			//var sortedChildren:Array = scene.children.slice();
+
+			// Ocean sort, from http://cadaver.homeftp.net/rants/sprite.htm
+			// Starting from offset 1, make sure [N] >= [N-1].  If not, keep pushing N back in the list until it's >= the new [N-1]
+			// This sort works best when there are minor changes to the depth ordering that need to be patched up
+
+			// All of the aditional variables are to reduce the number of array accesses, which are all bounds checked by the VM.  Each removed array access lopped more time off the render.
+			var max:uint = sortedChildren.length;
+			var objB:IIsoDisplayObject = sortedChildren[0];
+			var boundsB:IBounds = objB.isoBounds;
+			for (var i:uint = 1; i < max; ++i)
 			{
-				child = IIsoDisplayObject(sortedChildren[i]);
-				if (child.depth != i)
-					scene.setChildIndex(child, i);
+				var j:uint = i;

-				i++;
+				var objA:IIsoDisplayObject = sortedChildren[i];
+				var boundsA:IBounds = objA.isoBounds;
+
+				// There are many instances where 2 blocks can be ordered A->B in one axis, and B->A in the other
+				// We need to determine a priority order for comparing, so that they won't just toggle getting behind each other from frame to frame.
+				// Also, these mutual behindednesses can lead to the painter's algorithm type of problems and break visual sorting order.
+
+				// See if objA is behind objB, which would be out of place
+				if((boundsA.top <= boundsB.bottom) || // if A is under B, then process
+				   (!(boundsA.bottom >= boundsB.top) && // else, if A is _known not to be over B_ and ...
+				    ((boundsA.right <= boundsB.left) || // if A is left of B, then process
+					 (!(boundsA.left >= boundsB.right) && // else, if A is _known not to be right of B_ and ...
+					  (boundsA.front <= boundsB.back))))) // if A is back of B, then process
+				{
+					// This should be faster than 2 calls to splice(), since those 2 calls would shuffle all the way to the end of the Vector.
+					// This code only shifts the affected indexes
+					do
+					{
+						sortedChildren[j] = objB;
+						--j;
+						if (0 == j)
+							break;
+						objB = sortedChildren[j - 1];
+						boundsB = objB.isoBounds;
+					}
+					while ((boundsA.top <= boundsB.bottom) || // if A is under B, then process
+				           (!(boundsA.bottom >= boundsB.top) && // else, if A is _known not to be over B_ and ...
+				            ((boundsA.right <= boundsB.left) || // if A is left of B, then process
+					         (!(boundsA.left >= boundsB.right) && // else, if A is _known not to be right of B_ and ...
+					          (boundsA.front <= boundsB.back))))) // if A is back of B, then process
+
+					//trace("moved", i, dumpBounds(boundsA), "to", j, dumpBounds(sortedChildren[j+1].isoBounds));
+
+					// Update the display order of this moved object
+					sortedChildren[j] = objA;
+					scene.setChildIndex(objA, j);
+				}
+				objB = objA;
+				boundsB = boundsA;
 			}

 			var offsetMatrix:Matrix = new Matrix();
@@ -117,37 +167,8 @@
 				_targetBitmap.bitmapData.dispose();

 			_targetBitmap.bitmapData = sceneBitmapData;
-		}
-
-		////////////////////////////////////////////////////
-		//	SORT
-		////////////////////////////////////////////////////
-
-		private function isoDepthSort (childA:Object, childB:Object):int
-		{
-			var boundsA:IBounds = childA.isoBounds;
-			var boundsB:IBounds = childB.isoBounds;

-			if (boundsA.right <= boundsB.left)
-				return -1;
-
-			else if (boundsA.left >= boundsB.right)
-				return 1;
-
-			else if (boundsA.front <= boundsB.back)
-				return -1;
-
-			else if (boundsA.back >= boundsB.front)
-				return 1;
-
-			else if (boundsA.top <= boundsB.bottom)
-				return -1;
-
-			else if (boundsA.bottom >= boundsB.top)
-				return 1;
-
-			else
-				return 0;
+			trace("scene layout render time", getTimer() - startTime, "ms");
 		}
 	}
 }


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

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

 package mx.accessibility
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/styles/metadata/AlignStyles.as
+++ frameworks/projects/mx/src/mx/styles/metadata/AlignStyles.as
@@ -16,6 +16,11 @@
  *  The default value is "left", but some containers,
  *  such as ButtonBar and ToggleButtonBar,
  *  have different default values.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="horizontalAlign", type="String", enumeration="left,center,right", inherit="no")]

@@ -26,6 +31,11 @@
  *  The default value is "top", but some containers,
  *  such as ButtonBar, ControlBar, LinkBar,
  *  and ToggleButtonBar, have different default values.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="verticalAlign", type="String", enumeration="bottom,middle,top", inherit="no")]


fix isSupportLogout always return true

fix isSupportLogout always return true


Transferred from the Adobe Open Source Subversion Repository

Revision: 22564
Author:   tkraikit@adobe.com
Date:     2011-09-14T19:50:07.656843Z

Log Message:
-----------
Update ASDoc "@productversion Flex 4.5.2" => "@productversion Flex 4.6"

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/OnDemandDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ContentBackgroundAppearance.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/FlexVersion.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentNavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/core/ISoftKeyboardHintClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/YearProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/calendarClasses/DateSelectorDisplayMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ToggleSwitch.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledBackButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListScrollerSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ScrollSnappingMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleSwitchSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/NumericDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateSpinnerItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/CalendarDate.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/DateTimeFormatterEx.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as
@@ -23,7 +23,7 @@
  *
  *  @langversion 3.0
  *  @playerversion AIR 3.0
- *  @productversion Flex 4.5.2
+ *  @productversion Flex 4.6
  */
 public class StageTextSkinBase extends MobileSkin
 {
@@ -38,7 +38,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3.0
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      *
      */
     public function StageTextSkinBase()
@@ -91,7 +91,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3.0
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     protected var borderClass:Class;

@@ -106,7 +106,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3.0
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     protected var layoutCornerEllipseSize:uint;

@@ -115,7 +115,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3.0
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     protected var layoutBorderSize:uint;

@@ -152,7 +152,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3.0
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public var textDisplay:StyleableStageText;

@@ -163,7 +163,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3.0
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public var promptDisplay:IDisplayText;


Pass the url to configureMask().

Pass the url to configureMask().

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

--- src/as/com/threerings/flash/MediaContainer.as
+++ src/as/com/threerings/flash/MediaContainer.as
@@ -212,7 +212,7 @@
         // create a mask to prevent the media from drawing out of bounds
         if (getMaxContentWidth() < int.MAX_VALUE &&
                 getMaxContentHeight() < int.MAX_VALUE) {
-            configureMask(getMaxContentWidth(), getMaxContentHeight());
+            configureMask(url, getMaxContentWidth(), getMaxContentHeight());
         }

         // start it loading, add it as a child
@@ -542,7 +542,7 @@
     /**
      * Configure the mask for this object.
      */
-    protected function configureMask (ww :int, hh :int) :void
+    protected function configureMask (url :String, ww :int, hh :int) :void
     {
         var mask :Shape;
         if (_media.mask != null) {


Turn on streaming I/O debugging long enough to get better debugging data on the development server. Will be flipped back ASAP.

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

--- src/as/com/threerings/io/ObjectInputStream.as
+++ src/as/com/threerings/io/ObjectInputStream.as
@@ -34,7 +34,7 @@
 public class ObjectInputStream
 {
     /** Enables verbose object I/O debugging. */
-    public static const DEBUG :Boolean = false;
+    public static const DEBUG :Boolean = true;

     public static const log :Log = Log.getLog(ObjectInputStream);


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

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

 package mx.effects.effectClasses
 {


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/framework/src/mx/validators/CreditCardValidatorCardType.as
+++ frameworks/projects/framework/src/mx/validators/CreditCardValidatorCardType.as
@@ -19,6 +19,11 @@
  *  property.
  *
  *  @see mx.validators.CreditCardValidator
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public final class CreditCardValidatorCardType
 {
@@ -32,26 +37,51 @@

 	/**
 	 *  Specifies the card type as MasterCard.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const MASTER_CARD:String = "MasterCard"

 	/**
 	 *  Specifies the card type as Visa.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const VISA:String = "Visa";

 	/**
 	 *  Specifies the card type as American Express.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const AMERICAN_EXPRESS:String = "American Express";

 	/**
 	 *  Specifies the card type as Discover.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const DISCOVER:String = "Discover";

 	/**
 	 *  Specifies the card type as Diners Club.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const DINERS_CLUB:String = "Diners Club";
 }


Correcting setButtonEnabled ASDOC comments.  Better descriptions, corrected params, etc

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as
@@ -550,13 +550,16 @@

     /**
-    *  Changes the enabled property of a ButtonBar's Button referencing it by the ButtonBarbutton's label.
+    *  Allows changing the enabled property of a the child ButtonBarbutton's.
+    *  It identifies the button given its label field (default) or an different optional field name may be passed.
     *
-    *
The method takes a single ButtonBarButton label, a new enabled property value, and an optional field name to search for.

-    *
myButtonBar.setButtonEnabled("My Button Label", false)

+    *
The method takes a single ButtonBarButton label, a new enabled property value, and an optional field name to use as the comparison field.

+    *

+    *  myButtonBar.setButtonEnabled("My Button Label", false)

     *
-    *  @param labelValue Is the ButtonBarButton label
-    *  @param fieldName Field used for comparing the label
+    *  @param labelValue Is the ButtonBarButton label.
+    *  @param enabledValue The buttons new enabled value.
+    *  @param fieldName Field used to compare the label value against.
     *
     *  @langversion 3.0
     *  @playerversion Flash 11.1
@@ -570,13 +573,16 @@

     /**
-    *  Disables several of a ButtonBar's Buttons, referencing them by the ButtonBarbutton's label.
+    *  Allows changing the enabled property of several child ButtonBarbutton's.
+    *  It identifies the buttons given their label fields (default) or an different optional field name may be passed.
     *
-    *
The method takes an array of ButtonBarButton labels, a new enabled property value, and an optional field name to search for.

-    *
myButtonBar.setButtonsEnabled(["My Button Label1", "My Label2"], false)

+    *
The method takes an array of ButtonBarButton labels, a new enabled property value, and an optional field name to use as the comparison field.

+    *

+    *  myButtonBar.setButtonsEnabled(["My Button Label1", "My Label2"], false)

     *
     *  @param labelValues Is an array of ButtonBarButton labels.
-    *  @param fieldName Field used for comparing the label
+    *  @param enabledValue The buttons new enabled value.
+    *  @param fieldName Field used to compare the label value against.
     *
     *  @langversion 3.0
     *  @playerversion Flash 11.1


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

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

 package mx.collections
 {


Fix invalid NaN comparison.

Fix invalid NaN comparison.

--- src/aerys/minko/scene/controller/AbstractScriptController.as
+++ src/aerys/minko/scene/controller/AbstractScriptController.as
@@ -25,7 +25,7 @@
         private var _targetsToAdd       : Vector.<ISceneNode>;
         private var _targetsToRemove    : Vector.<ISceneNode>;

-		private var _updateRate			: Number;
+		private var _updateRate			: Number	= 0.;

         protected function get scene() : Scene
         {
@@ -102,7 +102,7 @@
 														   time			: Number) : void
 		{
 			_deltaTime = time - _lastTime;
-
+
 			if (_updateRate != 0. && deltaTime < 1000. / _updateRate)
 				return;


OFC-1508 - Code list suggestions popup must be closed when user clicks outside of the suggestions popup

--- collect-client/src/main/flex/org/openforis/collect/presenter/TextCodeInputFieldPresenter.as
+++ collect-client/src/main/flex/org/openforis/collect/presenter/TextCodeInputFieldPresenter.as
@@ -48,17 +48,18 @@
 		private var _items:IList;

 		{
-			FlexGlobals.topLevelApplication.stage.addEventListener(MouseEvent.CLICK, globalClickHandler);
-		}
-
-		public static function globalClickHandler(event:MouseEvent):void {
-			var codeInputField:TextCodeInputField;
+			FlexGlobals.topLevelApplication.stage.addEventListener(MouseEvent.MOUSE_DOWN, globalMouseDownHandler);
+		}
+
+		public static function globalMouseDownHandler(event:MouseEvent):void {
 			//if popup is opened and user clicks outside of it, close it
 			var target:DisplayObject = event.target as DisplayObject;
 			if ( target != null ) {
+				var codeInputField:TextCodeInputField;
 				if ( _popUpOpened ) {
 					codeInputField = _popUp.codeInputField;
-					if ( ! ( ( target is UIComponent && UIUtil.hasStyleName(UIComponent(target), "openCodeListPopUpButton") ) || UIUtil.isDescendantOf(_popUp, target) )
+					if ( ! ( ( target is UIComponent && UIUtil.hasStyleName(UIComponent(target), "openCodeListPopUpButton") )
+						|| UIUtil.isDescendantOf(_popUp, target) )
 						//&& target != codeInputField.textInput
 					) {
 						popUpApplyHandler(null, false);


Transferred from the Adobe Open Source Subversion Repository

Revision: 22889
Author:   betravis@adobe.com
Date:     2011-10-06T22:37:31.292104Z

Log Message:
-----------
Modifying SplitViewNavigator to reinsert viewnavigator in callout when callout.close is
called directly, rather than going through SplitViewNavigator.hideViewNavigatorPopup

QE notes: None
Doc notes: None
Bugs:
SDK-31740 - After close() method has been called on the popup, showFirstViewNavigatorInPopUp doesn't work properly
Reviewer: chiedozi
Tests run: checkintests, mustella
Is noteworthy for integration: No

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

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

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

-        viewNavigatorPopUp.addEventListener(PopUpEvent.CLOSE, navigatorPopUp_closeHandler);
+        // Cleanup handled by navigatorPopUp_closeHandler
         viewNavigatorPopUp.close(true);
-        viewNavigatorPopUp.removeEventListener('mouseDownOutside', navigatorPopUp_mouseDownOutsideHandler);
     }

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

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

@@ -502,6 +502,7 @@
     private function navigatorPopUp_closeHandler(event:PopUpEvent):void
     {
         viewNavigatorPopUp.removeEventListener(PopUpEvent.CLOSE, navigatorPopUp_closeHandler);
+        viewNavigatorPopUp.removeEventListener('mouseDownOutside', navigatorPopUp_mouseDownOutsideHandler);

         if (_popUpNavigator)
             restoreNavigatorInPopUp();


Transferred from the Adobe Open Source Subversion Repository

Revision: 2656
Author:   gruehle@adobe.com
Date:     2008-07-30T01:34:21.246786Z

Log Message:
-----------
Add getBitmapData() function to GraphicElement. This returns a bitmap snapshot of the element, including transformations. The bitmap is normalized to the visual bounds of the element.

Removed the empty GraphicElement.draw() function.

QE: tests for this new function should be added
Reviewer: Evtim

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

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -1,5 +1,6 @@
 package flex.graphics.graphicsClasses
 {
+import flash.display.BitmapData;
 import flash.display.BlendMode;
 import flash.display.DisplayObject;
 import flash.display.Graphics;
@@ -1137,10 +1138,24 @@
 		return true;
 	}

-
-	public function draw(g:Graphics):void
-	{
-	}
+    /**
+     *  Returns a bitmap snapshot of the GraphicElement. The bitmap
+     *  contains all transformations and is reduced to fit the visual
+     *  bounds of the object.
+     */
+    public function getBitmapData():BitmapData
+    {
+    	// NOTE: This code will not work correctly when we share display objects
+    	// across multiple graphic elements.
+    	var bitmapData:BitmapData = new BitmapData(actualSize.x, actualSize.y);
+    	var oldPos:Point = actualPosition;
+
+    	setActualPosition(0, 0);
+    	bitmapData.draw(displayObject, displayObject.transform.matrix);
+    	setActualPosition(oldPos.x, oldPos.y);
+
+    	return bitmapData;
+    }

 	public function applyMask():void
 	{


Transferred from the Adobe Open Source Subversion Repository

Revision: 2905
Author:   clucier@adobe.com
Date:     2008-08-19T20:45:59.993275Z

Log Message:
-----------
Changes to allow UIComponent to take advantage of the new bindable filters (bindable wrappers around DropShadowFilter, GlowFilter, etc. that will force the filter stack to be re-evaluated when one or more of the filter parameters change). Checkin-tests: PASS
Reviewer: Jason
Bugs: SDK-16311
QA: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Parser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/ConvolutionFilter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseDimensionFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseDimensionFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/IBitmapFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/IBitmapFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseFilter.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -9,14 +9,13 @@
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.events.EventDispatcher;
+import flash.events.IEventDispatcher;
 import flash.geom.ColorTransform;
 import flash.geom.Matrix;
 import flash.geom.Point;
 import flash.geom.Rectangle;
 import flash.geom.Transform;

-import flex.filters.BaseFilter;
-import flex.filters.IBitmapFilter;
 import flex.geom.Transform;
 import flex.graphics.IDisplayObjectElement;
 import flex.graphics.IGraphicElement;
@@ -32,6 +31,8 @@
 import mx.events.FlexEvent;
 import mx.events.PropertyChangeEvent;
 import mx.events.PropertyChangeEventKind;
+import mx.filters.BaseFilter;
+import mx.filters.IBitmapFilter;
 import mx.graphics.IStroke;
 import mx.managers.ILayoutManagerClient;

@@ -451,19 +452,13 @@
         var i:int = 0;
         var oldFilters:Array = _filters ? _filters.slice() : null;
         var len:int = oldFilters ? oldFilters.length : 0;
-        var edFilter:EventDispatcher;
+        var edFilter:IEventDispatcher;

         for (i = 0; i < len; i++)
         {
-            if (oldFilters[i] is IBitmapFilter)
-            {
-                edFilter = value[i] as EventDispatcher;
-                if (edFilter)
-                {
-                    edFilter.removeEventListener(BaseFilter.FILTER_CHANGED_TYPE,
-                                                 filterChangedHandler);
-                }
-            }
+            edFilter = value[i] as IEventDispatcher;
+            if (edFilter)
+                edFilter.removeEventListener(BaseFilter.CHANGE, filterChangedHandler);
         }

         _clonedFilters = [];
@@ -474,12 +469,9 @@
         {
             if (value[i] is IBitmapFilter)
             {
-                edFilter = value[i] as EventDispatcher;
+                edFilter = value[i] as IEventDispatcher;
                 if (edFilter)
-                {
-                    edFilter.addEventListener(BaseFilter.FILTER_CHANGED_TYPE,
-                                              filterChangedHandler);
-                }
+                    edFilter.addEventListener(BaseFilter.CHANGE, filterChangedHandler);
                 _clonedFilters.push(IBitmapFilter(value[i]).clone());
             }
             else