Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

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

--- frameworks/projects/framework/src/mx/styles/metadata/BarColorStyle.as
+++ frameworks/projects/framework/src/mx/styles/metadata/BarColorStyle.as
@@ -0,0 +1,22 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Determines the color of a ProgressBar.
+ *  A ProgressBar is filled with a vertical gradient between this color
+ *  and a brighter color computed from it.
+ *  This style has no effect on other components, but can be set on a container
+ *  to control the appearance of all progress bars found within.
+ *  The default value is undefined, which means it is not set.
+ *  In this case, the themeColor style property is used.
+ */
+[Style(name="barColor", type="uint", format="Color", inherit="yes")]
+


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

--- frameworks/projects/framework/src/mx/validators/IValidatorListener.as
+++ frameworks/projects/framework/src/mx/validators/IValidatorListener.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006 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.validators
 {


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

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


Commit Issue 1038 for Bas

Commit Issue 1038 for Bas

git-svn-id: b10e9e05a96f28f96949e4aa4212c55f640c8f96@2067 59b500cc-1b3d-0410-9834-0bbf25fbcc57

--- actionscript/core/src/com/google/zxing/qrcode/encoder/MaskUtil.as
+++ actionscript/core/src/com/google/zxing/qrcode/encoder/MaskUtil.as
@@ -124,7 +124,7 @@
             }
             var numTotalCells:int = matrix.height() * matrix.width();
             var darkRatio:Number = numDarkCells / numTotalCells;
-            return Math.abs(Math.round(darkRatio * 100 - 50)) / 5 * 10;
+            return int(Math.abs(int(darkRatio * 100 - 50)) / 5) * 10;
         }

         // Return the mask bit for "getMaskPattern" at "x" and "y". See 8.8 of JISX0510:2004 for mask
@@ -146,7 +146,7 @@
                 case 3:
                     return ((y + x) % 3 == 0) ? 1 : 0;
                 case 4:
-                    return (((y / 2) + (x / 3)) % 2 == 0) ? 1 : 0;
+                    return ((int(y / 2) + int(x / 3)) % 2 == 0) ? 1 : 0;
                 case 5:
                     return (((y * x) % 2) + ((y * x) % 3) == 0) ? 1 : 0;
                 case 6:


Transferred from the Adobe Open Source Subversion Repository

Revision: 10640
Author:   clucier@adobe.com
Date:     2009-09-28T15:26:32.513982Z

Log Message:
-----------
Added emphasizedSkin Style metadata to mx Button.  Added symbolColor style metadata to MenuBar.  Excluded baseColor style from mx LinkButton.

QE notes: None
Doc notes: None
Bugs: SDK-22522, SDK-22257, SDK-22646
Reviewer: Glenn
Tests run: Checkin
Is noteworthy for integration: No

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

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

--- frameworks/projects/mx/src/mx/controls/LinkButton.as
+++ frameworks/projects/mx/src/mx/controls/LinkButton.as
@@ -87,6 +87,7 @@

 [Exclude(name="emphasized", kind="property")]

+[Exclude(name="baseColor", kind="style")]
 [Exclude(name="borderColor", kind="style")]
 [Exclude(name="fillAlphas", kind="style")]
 [Exclude(name="fillColors", kind="style")]


ImageEditor, Flash: Create a copy of an image right from the beginning.


fixed map sensor bug

fixed map sensor bug

--- flexEditor/src/org/arisgames/editor/components/NavigationMap.as
+++ flexEditor/src/org/arisgames/editor/components/NavigationMap.as
@@ -41,6 +41,7 @@
     {
         super();
         this.key = AppConstants.APPLICATION_ENVIRONMENT_GOOGLEMAP_KEY;
+		this.sensor = "false";
         addEventListener(MapEvent.MAP_PREINITIALIZE, onMapPreinitialize);
         addEventListener(MapEvent.MAP_READY, onMapReady);
 //        addEventListener(MapMouseEvent.DOUBLE_CLICK, processMapDoubleClick);


Transferred from the Adobe Open Source Subversion Repository

Revision: 11995
Author:   doug.lee@ssbbartgroup.com
Date:     2009-11-19T18:50:30.831767Z

Log Message:
-----------
Updated all AccImpls that use MSAA constants (except TextLayout) to
use the new AccConst references instead of hard-coding hex numbers and
local copies of the constants.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ColorPickerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/LabelAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DataGridAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/SliderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TextInputAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ComboBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TabBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/accessibility/WindowedApplicationAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TextBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SliderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/DropDownListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AlertAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/RadioButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccordionHeaderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateFieldAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/NumericStepperAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SkinnableTextBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ComboBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TitleWindowAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/LinkButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/RadioButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ToggleButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TreeAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/accessibility/WindowAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateChooserAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TitleWindowAccImpl.as</path>

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

--- frameworks/projects/mx/src/mx/accessibility/DateFieldAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/DateFieldAccImpl.as
@@ -14,6 +14,7 @@

 import flash.accessibility.Accessibility;
 import flash.events.Event;
+import mx.accessibility.AccConst;
 import mx.controls.DateField;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
@@ -35,22 +36,6 @@

 	//--------------------------------------------------------------------------
 	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	private static const EVENT_OBJECT_FOCUS:uint =  0x8005;
-
-	/**
-	 *  @private
-	 */
-	private static const EVENT_OBJECT_SELECTION:uint =  0x8006;
-
-	//--------------------------------------------------------------------------
-	//
 	//  Class methods
 	//
 	//--------------------------------------------------------------------------
@@ -111,7 +96,7 @@
 	{
 		super(master);

-		role = 0x2e; // ROLE_SYSTEM_COMBOBOX
+		role = AccConst.ROLE_SYSTEM_COMBOBOX;
 	}

 	//--------------------------------------------------------------------------
@@ -239,8 +224,8 @@
 				if (dateField.selectedDate != null)
 					childID += dateField.selectedDate.getDate();

-				Accessibility.sendEvent(master, childID, EVENT_OBJECT_FOCUS);
-				Accessibility.sendEvent(master, childID, EVENT_OBJECT_SELECTION);
+				Accessibility.sendEvent(master, childID, AccConst.EVENT_OBJECT_FOCUS);
+				Accessibility.sendEvent(master, childID, AccConst.EVENT_OBJECT_SELECTION);
 				break;
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 2106
Author:   jimurphy@adobe.com
Date:     2008-06-17T15:08:59.757217Z

Log Message:
-----------
Merge 3.0.x revisions [2073,2075-2077,2079,2093,2095,2103] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonBarButtonSkin.as</path>
<path kind="dir" action="M">/flex/sdk/trunk/modules/asc</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</path>

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

--- frameworks/projects/mx/src/mx/skins/halo/ButtonBarButtonSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/ButtonBarButtonSkin.as
@@ -326,17 +326,25 @@
 			case "disabledSkin":
 			case "selectedDisabledSkin":
 			{
+                var disFillColors:Array = [ fillColors[0], fillColors[1] ];
+
+                var disFillAlphas:Array =
+                    [ Math.max( 0, fillAlphas[0] - 0.15),
+                      Math.max( 0, fillAlphas[1] - 0.15) ];
+
 				// outer edge
 				drawRoundRect(
-					0, 0, w, h, cornerRadius,
-					[ borderColor, borderColorDrk1 ], 0.6,
-					verticalGradientMatrix(0, 0, w, h ));
+					0, 0, w, h, cr,
+					[ borderColor, borderColorDrk1 ], 0.5,
+					verticalGradientMatrix(0, 0, w, h ),
+					GradientType.LINEAR, null,
+					{ x: 1, y: 1, w: w - 2, h: h - 2, r: cr1 } );

 				// button fill
-				drawRoundRect(
-					1, 1, w - 2, h - 2, cr1,
-					[ fillColors[0], fillColors[1] ], 0.8,
-					verticalGradientMatrix(0, 0, w - 2, h - 2));
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, cr1,
+                    disFillColors, disFillAlphas,
+                    verticalGradientMatrix(0, 0, w - 2, h - 2));

 				break;
 			}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/rpc/src/mx/messaging/events/MessageEvent.as
+++ frameworks/projects/rpc/src/mx/messaging/events/MessageEvent.as
@@ -20,6 +20,12 @@

 /**
  *  The MessageEvent class is used to propagate messages within the messaging system.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion BlazeDS 4
+ *  @productversion LCDS 3
  */
 public class MessageEvent extends Event
 {
@@ -49,6 +55,12 @@
      *       Object listening for the event.

      *

      *  @eventType message
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public static const MESSAGE:String = "message";

@@ -73,6 +85,12 @@
      *       Object listening for the event.

      *

      *  @eventType result
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public static const RESULT:String = "result";

@@ -91,6 +109,12 @@
      *  @param message The associated message.
      *
      *  @return New MessageEvent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public static function createEvent(type:String, msg:IMessage):MessageEvent
     {
@@ -116,6 +140,12 @@
      *  event can be prevented; used by the RPC subclasses.
      *
      *  @param message The associated message.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function MessageEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false,
             message:IMessage = null)
@@ -133,6 +163,12 @@

     /**
      *  The Message associated with this event.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public var message:IMessage;

@@ -168,6 +204,12 @@
      *  Clones the MessageEvent.
      *
      *  @return Copy of this MessageEvent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override public function clone():Event
     {
@@ -178,6 +220,12 @@
      *  Returns a string representation of the MessageEvent.
      *
      *  @return String representation of the MessageEvent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override public function toString():String
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6352
Author:   smgilson@adobe.com
Date:     2009-04-28T20:04:17.982098Z

Log Message:
-----------
ASDoc edits for containers

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/IItemRendererOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/RendererExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/IItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/IItemRenderer.as
@@ -18,42 +18,78 @@

 /**
  *  The IItemRenderer interface defines the basic set of APIs
- *  that you must implement to create a renderer that can
- *  communicate with an IItemRendererOwner, like a List or
- *  ButtonBar.
+ *  that a class must implement to create an item renderer that can
+ *  communicate with a host component.
+ *  The host component, such as the List or ButtonBar controls,
+ *  must implement the IItemRendererOwner interface,
+ *  .
+ *
+ *  @see spark.components.IItemRendererOwner
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  *
  */
 public interface IItemRenderer extends IDataRenderer, IVisualElement
 {
     /**
-	 *  True if the renderer should allow interaction to change its
-	 *  selected state to selected=false
+     *  Contains true if the item renderer allows user interaction
+     *  to change its selected state to
+     *  selected = false.
      *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get allowDeselection():Boolean;
     function set allowDeselection(value:Boolean):void;

     /**
-	 *  True if the renderer should show itself as selected
+     *  Contains true if the item renderer
+     *  can show itself as selected.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      *
      */
     function get selected():Boolean;
     function set selected(value:Boolean):void;

     /**
-	 *  True if the renderer should show itself as focused
-	 *  even if it doesn't have focus
+     *  Contains true if the item renderer
+     *  can show itself as focused even if it doesn't have focus.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      *
      */
     function get showFocusIndicator():Boolean;
     function set showFocusIndicator(value:Boolean):void;

     /**
-     *  The text to display for this renderer. For
-     *  controls like List and ButtonBar, this is the result
-     *  of either a labelField or labelFunction applied to the
-     *  renderer's data, otherwise the toString() representation
-     *  of the renderer's data.
+     *  The String to display in the item renderer.
+     *
+     *
The host component of the item renderer can use the
+     *  itemToLabel() method to convert the data item
+     *  to a String for display by the item renderer.

+     *
+     *
For controls like List and ButtonBar, you can use the
+     *  labelField or labelFunction properties
+     *  to specify the field of the data item that contains the String.
+     *  Otherwise the host component uses the toString() method
+     *  to convert the data item to a String.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      *
      */
     function get labelText():String;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/spark/src/spark/effects/AnimateTransform.as
+++ frameworks/projects/spark/src/spark/effects/AnimateTransform.as
@@ -182,34 +182,36 @@
     // described in the comment for linearEaser above.
     mx_internal var transformEffectSubclass:Boolean = false;

-    // FIXME (chaase): Is weak Dictionary sufficient to hold these values and then
-    // dispense with them appropriately? What if we get interrupted before we
-    // clear the map?
-    /**
-     * @private
-     *
-     * Stores the single instance for the current transform effect on a given target.
-     * There can be only one instance per target at any given time, so we store
-     * that instance in the map and insert new effect values into it before playing
-     * it, rather than creating new instances for each new effect. The instance
-     * is cleared out when the effect is played because we cannot add new information
-     * to the effect after it has already been started.
-     */
-    static protected var transformInstancePerTarget:Dictionary = new Dictionary(true);
-
     // FIXME (chaase): consider putting the three per-target maps into one
     // single structure
     /**
      * @private
      * These maps hold information about whether values have already been applied
-     * to a target as a part of the
-     */
-    static protected var appliedStartValuesPerTarget:Dictionary = new Dictionary(true);
-    /**
-     * @private
-     */
-    static protected var appliedEndValuesPerTarget:Dictionary = new Dictionary(true);
-
+     * to a target as a part of the transition start or end process
+     */
+    static private var appliedStartValuesPerTarget:Dictionary = new Dictionary(true);
+    /**
+     * @private
+     */
+    static private var appliedEndValuesPerTarget:Dictionary = new Dictionary(true);
+
+    /**
+     * The sharedObjectDepot holds shared transform effect instances on a
+     * per-toplevel-Parallel basis. That is, transform effects running in
+     * parallel will share a common effect instance with other effects
+     * grouped in the same Parallel tree. Effects running individually, or
+     * running inside a Sequence, will not share instances. We manage this
+     * by having a map-of-maps inside our sharedObjectDepot. The top-level
+     * map manages the per-toplevel-Parallel maps (maps keyd from particular
+     * Parallel effects), whose entries are maps that are keyed off of
+     * instance targets. The reason for the separate utility class is to
+     * simplify managing the map-of-maps; the depot uses a reference counter
+     * so that we know, when removing the shared-instance map entries, whether
+     * we can remove the top level map for a particular Paralle effect.
+     */
+    static private var sharedObjectDepot:SharedObjectDepot
+         = new SharedObjectDepot();
+
     /**
      * @private
      * Helper structures to hold values used in applyValues()
@@ -389,6 +391,21 @@
     //
     //--------------------------------------------------------------------------

+    private function getOwningParallelEffect():Parallel
+    {
+        var prevParent:Parallel = null;
+        var parent:Effect = parentCompositeEffect;
+        // Only share instance for children of parallel effects
+        while (parent)
+        {
+            if (parent is Sequence)
+                break;
+            prevParent = Parallel(parent);
+            parent = parent.parentCompositeEffect;
+        }
+        return prevParent;
+    }
+
     /**
      *  @private
      *
@@ -414,21 +431,22 @@
             target = this.target;

         var parent:Effect = parentCompositeEffect;
-        if (!transformInstancePerTarget[target] ||
-            (parent && parent is Sequence))
-        {
-            // FIXME (chaase): need to clear out this entry once the effect
-            // starts (stops?) because we don't want it hanging around for
-            // future runs
+        var sharedInstance:IEffectInstance = null;
+        var topmostParallel:Parallel = getOwningParallelEffect();
+        if (topmostParallel != null)
+            sharedInstance = IEffectInstance(
+                sharedObjectDepot.getSharedObject(topmostParallel, target));
+        if (!sharedInstance)
+        {
             var newInstance:IEffectInstance = super.createInstance(target);
-            transformInstancePerTarget[target] = newInstance;
+            if (topmostParallel)
+                sharedObjectDepot.storeSharedObject(topmostParallel,
+                    target, newInstance);
             return newInstance;
         }
         else
         {
-            var instance:AnimateTransformInstance =
-                AnimateTransformInstance(transformInstancePerTarget[target]);
-            initInstance(instance);
+            initInstance(sharedInstance);
             // return null to indicate that there is no 'new' instance. This
             // keeps it from being redundantly added to composite effects
             return null;
@@ -446,7 +464,12 @@
     override protected function effectStartHandler(event:EffectEvent):void
     {
         super.effectStartHandler(event);
-        delete transformInstancePerTarget[event.effectInstance.target];
+        // Delete any cached info about the effect instance, such as the
+        // shared transform effect instance
+        var topmostParallel:Parallel = getOwningParallelEffect();
+        if (topmostParallel != null)
+            sharedObjectDepot.removeSharedObject(topmostParallel,
+                event.effectInstance.target);
         delete appliedStartValuesPerTarget[event.effectInstance.target];
         delete appliedEndValuesPerTarget[event.effectInstance.target];
     }
@@ -1015,7 +1038,7 @@
     override protected function initInstance(instance:IEffectInstance):void
     {
         var i:int;
-
+        var adjustedDuration:Number = duration;
         var target:Object = instance.target;

         var transformInstance:AnimateTransformInstance =
@@ -1052,6 +1075,8 @@
                         if (startDelay != 0)
                             kf.time += startDelay;
                     }
+                    adjustedDuration = Math.max(adjustedDuration,
+                        mp.keyframes[mp.keyframes.length - 1].time);
                 }
             }
             var globalStartTime:Number = getGlobalStartTime();
@@ -1100,6 +1125,7 @@
         super.initInstance(instance);
         startDelay = tmpStartDelay;
         motionPaths = tmpAnimProps;
+        transformInstance.duration = Math.max(duration, adjustedDuration);
         // For transform effect subclasses (Move, Move3D, Rotate, etc.),
         // override default easer on the instance. We want the overall easing
         // to be Linear, with the Keyframes controlling the per-interval easing


Transferred from the Adobe Open Source Subversion Repository

Revision: 18845
Author:   chiedozi@adobe.com
Date:     2010-11-30T00:33:21.466204Z

Log Message:
-----------
Calling showActionBar, hideActionBar, showTabBar and hideTabBar on a View's navigator now properly updates the corresponding properties on the active view.
Improved performance of tabBar hide and show animations.
The orientation event handler for View is now added on creationComplete to avoid RTEs related to a null systemManager.

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/View.as
+++ frameworks/projects/mobilecomponents/src/spark/components/View.as
@@ -395,6 +395,16 @@
             else
                 navigator.hideActionBar();
         }
+    }
+
+    /**
+     *  @private
+     *  Method called by parent navigator to update the actionBarVisible
+     *  flag as a result of the showActionBar() or hideActionBar() methods.
+     */
+    mx_internal function setActionBarVisible(value:Boolean):void
+    {
+        _actionBarVisible = value;
     }

     //----------------------------------
@@ -615,7 +625,17 @@
             }
 		}
 	}
-
+
+    /**
+     *  @private
+     *  Method called by parent navigator to update the actionBarVisible
+     *  flag as a result of the showTabBar() or hideTabBar() methods.
+     */
+    mx_internal function setTabBarVisible(value:Boolean):void
+    {
+        _tabBarVisible = value;
+    }
+
     //----------------------------------
     //  title
     //----------------------------------
@@ -845,7 +865,17 @@
     override public function initialize():void
     {
     	super.initialize();
-
+
+        addEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler);
+    }
+
+    /**
+     *  @private
+     */
+    private function creationCompleteHandler(event:FlexEvent):void
+    {
+        removeEventListener(FlexEvent.CREATION_COMPLETE, creationCompleteHandler);
+
         // Create a weak listener so stage doesn't hold a reference to the view
         systemManager.stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE,
             stage_orientationChangeHandler, false, 0, true);


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

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

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


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

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

--- frameworks/projects/framework/src/mx/managers/SystemRawChildrenList.as
+++ frameworks/projects/framework/src/mx/managers/SystemRawChildrenList.as
@@ -0,0 +1,162 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 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.managers
+{
+
+import flash.display.DisplayObject;
+import flash.geom.Point;
+import mx.core.IChildList;
+import mx.core.mx_internal;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  A SystemManager has various types of children,
+ *  such as the Application, popups,
+ *  tooltips, and custom cursors.
+ *  You can access the just the custom cursors through
+ *  the cursors property,
+ *  the tooltips via toolTips, and
+ *  the popups via popUpChildren.  Each one returns
+ *  a SystemChildrenList which implements IChildList.  The SystemManager's
+ *  IChildList methods return the set of children that aren't popups, tooltips
+ *  or cursors.  To get the list of all children regardless of type, you
+ *  use the rawChildrenList property which returns this SystemRawChildrenList.
+ */
+public class SystemRawChildrenList implements IChildList
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function SystemRawChildrenList(owner:SystemManager)
+	{
+		super();
+
+		this.owner = owner;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var owner:SystemManager;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @copy mx.core.IChildList#numChildren
+	 */
+	public function get numChildren():int
+	{
+		return owner.mx_internal::$numChildren;
+	}
+
+	/**
+	 *  @copy mx.core.IChildList#getChildAt
+	 */
+  	public function getChildAt(index:int):DisplayObject
+  	{
+		return owner.mx_internal::rawChildren_getChildAt(index);
+  	}
+
+	/**
+	 *  @copy mx.core.IChildList#addChild
+	 */
+	public function addChild(child:DisplayObject):DisplayObject
+  	{
+		return owner.mx_internal::rawChildren_addChild(child);
+  	}
+
+	/**
+	 *  @copy mx.core.IChildList#addChildAt
+	 */
+	public function addChildAt(child:DisplayObject, index:int):DisplayObject
+  	{
+		return owner.mx_internal::rawChildren_addChildAt(child,index);
+  	}
+
+	/**
+	 *  @copy mx.core.IChildList#removeChild
+	 */
+	public function removeChild(child:DisplayObject):DisplayObject
+  	{
+		return owner.mx_internal::rawChildren_removeChild(child);
+  	}
+
+	/**
+	 *  @copy mx.core.IChildList#removeChildAt
+	 */
+	public function removeChildAt(index:int):DisplayObject
+  	{
+		return owner.mx_internal::rawChildren_removeChildAt(index);
+  	}
+
+	/**
+	 *  @copy mx.core.IChildList#getChildByName
+	 */
+  	public function getChildByName(name:String):DisplayObject
+  	{
+		return owner.mx_internal::rawChildren_getChildByName(name);
+	}
+
+	/**
+	 *  @copy mx.core.IChildList#getChildIndex
+	 */
+  	public function getChildIndex(child:DisplayObject):int
+  	{
+		return owner.mx_internal::rawChildren_getChildIndex(child);
+  	}
+
+	/**
+	 *  @copy mx.core.IChildList#setChildIndex
+	 */
+	public function setChildIndex(child:DisplayObject, newIndex:int):void
+  	{
+		owner.mx_internal::rawChildren_setChildIndex(child, newIndex);
+  	}
+
+	/**
+	 *  @copy mx.core.IChildList#getObjectsUnderPoint
+	 */
+	public function getObjectsUnderPoint(point:Point):Array
+	{
+		return owner.mx_internal::rawChildren_getObjectsUnderPoint(point);
+	}
+
+	/**
+	 *  @copy mx.core.IChildList#contains
+	 */
+	public function contains(child:DisplayObject):Boolean
+	{
+		return owner.mx_internal::rawChildren_contains(child);
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 3682
Author:   hmuller@adobe.com
Date:     2008-10-16T15:03:51.166448Z

Log Message:
-----------
FiFixed 17061, removed unnecessary override of 'set value' in FxNumericStepper

Previuosly FxSpinner::step() conflated stepSize and the
valueInterval property.  The latter forces FxRange values to be an
integer multiple of valueInterval, irrespective of the minimum.

I've changed FxSpinner::step() to leave enforcing the valueInterval
constraint to the value property.  So less the valueWrap logic, the
step method becomes:

    value += (increase) ? stepSize : -stepSize;

If the developer _also_ sets the valueInterval property, the new value
will still be forced to be a multiple.

I've also removed the unnecessary override of 'set value' in FxNumericStepper
per the changes in SVN 3597.

QE: It's possible that some spinner/slide/scrollbar tests confirmed the old behavior
Doc: No
Checkintests: Pass
Reviewer: Chet
Bugs:
    SDK-17061 - Gumbo Range does not allow an odd-only range

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/Range.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/Range.as
@@ -188,16 +188,13 @@
     }

-    /*
+    /**
      *  Implementation note: we temporarily store the new value in
      *  _changedValue and then update _value, by calling setValue()
      *  in commitProperties().  Only one "valueCommit" event is
      *  dispatched, even if this property has effectively changed
      *  twice per nearestValidValue().
-     *
-    */
-
-    /**
+     *
      *  @private
      */
     public function set value(newValue:Number):void


Another small fix to trace_properties.as

--- test/trace/trace_properties.as
+++ test/trace/trace_properties.as
@@ -16,8 +16,8 @@
   if (o.hasOwnProperty != undefined)
     return o.hasOwnProperty (prop);

-  o.hasOwnProperty = Object.prototype.hasOwnProperty;
-  result = o.hasOwnProperty (prop);
+  o.hasOwnProperty = _global.Object.prototype.hasOwnProperty;
+  var result = o.hasOwnProperty (prop);
   delete o.hasOwnProperty;
   return result;
 }


fixed issue where FlexJS project would be incorrectly detected as requiring Royale

--- src/ASConfigC.as
+++ src/ASConfigC.as
@@ -440,7 +440,7 @@
 			{
 				var targets:Array = options[CompilerOptions.TARGETS];
 				if(targets.indexOf(Targets.JS_ROYALE) !== -1 ||
-					targets.indexOf(Targets.JS_ROYALE_CORDOVA))
+					targets.indexOf(Targets.JS_ROYALE_CORDOVA) !== -1)
 				{
 					//these targets definitely don't work with FlexJS
 					this._configRequiresRoyale = true;


fix bad Animate log path on Windows

fix bad Animate log path on Windows

--- src/ASConfigC.as
+++ src/ASConfigC.as
@@ -868,7 +868,7 @@
 			var logPath:String = null;
 			if(process.platform === "win32")
 			{
-				logPath = path.resolve(os["homedir"](), path.join("Adobe", "vscode-as3mxml"));
+				logPath = path.resolve(process.env["LOCALAPPDATA"], path.join("Adobe", "vscode-as3mxml"));
 			}
 			else
 			{


begin on bitmap border packing

begin on bitmap border packing

--- exporter/src/main/as/flump/Util.as
+++ exporter/src/main/as/flump/Util.as
@@ -7,6 +7,7 @@
 import flash.display.DisplayObject;
 import flash.display.IBitmapDrawable;
 import flash.geom.Matrix;
+import flash.geom.Point;
 import flash.geom.Rectangle;
 import flash.utils.ByteArray;

@@ -16,27 +17,86 @@
         return new XML(bytes.readUTFBytes(bytes.length));
     }

+    /**
+     * Extends src's border pixels by the given amount.
+     * (We do this to textures in an atlas in order to prevent artifacts that come from
+     * the GPU sampling just beyond a texture's bounds.)
+     */
+    public static function padBitmapBorder (src :IBitmapDrawable, paddingSize :int) :BitmapData {
+        var srcBounds :Rectangle = getBitmapDrawableBounds(src);
+        var w :int = Math.ceil(srcBounds.width);
+        var h :int = Math.ceil(srcBounds.height);
+
+        var bmd :BitmapData = new BitmapData(w + (paddingSize * 2), h + (paddingSize * 2), true, 0x00);
+
+        // draw the original bitmap
+        var m :Matrix = new Matrix();
+        m.translate(-srcBounds.x + paddingSize, -srcBounds.y + paddingSize);
+        bmd.draw(src, m, null, null, null, /*smoothing=*/false);
+
+        var srcRect :Rectangle = new Rectangle();
+        var dst :Point = new Point();
+        var yy :int;
+        var xx :int;
+
+        // copy top row
+        srcRect.x = paddingSize;
+        srcRect.y = paddingSize;
+        srcRect.width = w;
+        srcRect.height = 1;
+        dst.x = paddingSize;
+        for (yy = 0; yy < paddingSize; ++yy) {
+            dst.y = yy;
+            bmd.copyPixels(bmd, srcRect, dst);
+        }
+
+        // copy bottom row
+        srcRect.x = paddingSize;
+        srcRect.y = h + paddingSize - 1;
+        srcRect.width = w;
+        srcRect.height = 1;
+        dst.x = paddingSize;
+        for (yy = 0; yy < paddingSize; ++yy) {
+            dst.y = h + paddingSize + yy;
+            bmd.copyPixels(bmd, srcRect, dst);
+        }
+
+        // copy left column
+        srcRect.x = paddingSize;
+        srcRect.y = paddingSize;
+        srcRect.width = 1;
+        srcRect.height = h;
+        dst.y = paddingSize;
+        for (xx = 0; xx < paddingSize; ++xx) {
+            dst.x = xx;
+            bmd.copyPixels(bmd, srcRect, dst);
+        }
+
+        // copy right column
+        srcRect.x = w + paddingSize - 1;
+        srcRect.y = paddingSize;
+        srcRect.width = 1;
+        srcRect.height = h;
+        dst.y = paddingSize;
+        for (xx = 0; xx < paddingSize; ++xx) {
+            dst.x = w + paddingSize + xx;
+            bmd.copyPixels(bmd, srcRect, dst);
+        }
+
+        return bmd;
+    }
+
     public static function renderToBitmapData (src :IBitmapDrawable, w :int, h :int,
         scale :Number = 1, multipassScaleThreshold :Number = 0.5) :BitmapData {

-        function srcBounds () :Rectangle {
-            if (src is BitmapData) {
-                return new Rectangle(0, 0, BitmapData(src).width, BitmapData(src).height);
-            } else if (src is DisplayObject) {
-                return DisplayObject(src).getBounds(DisplayObject(src));
-            } else {
-                throw new ArgumentError("src must be a a BitmapData or a DisplayObject");
-            }
-        }
-
-        var bounds :Rectangle = srcBounds();
+        var bounds :Rectangle = getBitmapDrawableBounds(src);

         if (scale != 1 && !(src is BitmapData)) {
             // for down or up-scaling, render at normal size first, then scale to get the
             // benefit of bitmap smoothing. BitmapData.draw smoothing only works
             // when the source is itself a BitmapData object.
             src = renderToBitmapData(src, Math.ceil(bounds.width), Math.ceil(bounds.height), 1);
-            bounds = srcBounds();
+            bounds = getBitmapDrawableBounds(src);
         }

         // Don't downscale by more than 50% at a time - this causes Flash's
@@ -50,7 +110,7 @@
             src = renderToBitmapData(src, Math.ceil(targetW), Math.ceil(targetH), multipassScaleThreshold);
             targetScale /= multipassScaleThreshold;
         }
-        bounds = srcBounds();
+        bounds = getBitmapDrawableBounds(src);

         var bmd :BitmapData = new BitmapData(w, h, true, 0x00);
         var m :Matrix = new Matrix();
@@ -59,5 +119,15 @@
         bmd.draw(src, m, null, null, null, true);
         return bmd;
     }
+
+    protected static function getBitmapDrawableBounds (src :IBitmapDrawable) :Rectangle {
+        if (src is BitmapData) {
+            return new Rectangle(0, 0, BitmapData(src).width, BitmapData(src).height);
+        } else if (src is DisplayObject) {
+            return DisplayObject(src).getBounds(DisplayObject(src));
+        } else {
+            throw new ArgumentError("src must be a a BitmapData or a DisplayObject");
+        }
+    }
 }
 }


FEC-4460

FEC-4460

remove ~1 min diff in DVR time

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
@@ -518,7 +518,7 @@
 			if(_timeCache_liveEdge != Number.MAX_VALUE)
 			{
 				//trace(" minus " + _timeCache_liveEdgeMinusWindowDuration);
-				potentialNewTime -= _timeCache_liveEdgeMinusWindowDuration;
+			//	potentialNewTime -= _timeCache_liveEdgeMinusWindowDuration;
 			}

 			// Update cache as appropriate.


Add bead to SWC

Add bead to SWC

--- frameworks/as/src/FlexJSUIClasses.as
+++ frameworks/as/src/FlexJSUIClasses.as
@@ -37,6 +37,7 @@
 	import org.apache.flex.html.staticControls.beads.CheckBoxBead; CheckBoxBead;
 	import org.apache.flex.html.staticControls.beads.RadioButtonBead; RadioButtonBead;
 	import org.apache.flex.html.staticControls.beads.ComboBoxBead; ComboBoxBead;
+    import org.apache.flex.html.staticControls.beads.ContainerBead; ContainerBead;
 	import org.apache.flex.html.staticControls.beads.models.TextModel; TextModel;
 	import org.apache.flex.html.staticControls.beads.models.ComboBoxModel; ComboBoxModel;
 	import org.apache.flex.html.staticControls.beads.models.ToggleButtonModel; ToggleButtonModel;


Change apply method if signal has no cargo.

--- src/main/flex/org/servebox/cafe/core/observer/AbstractObserver.as
+++ src/main/flex/org/servebox/cafe/core/observer/AbstractObserver.as
@@ -92,7 +92,14 @@
 				{
 					for each ( var signalHandler : Function in signalHandlers )
 					{
-						signalHandler.apply( this, [notification.getCargo()] );
+						if ( notification.getCargo() != null )
+						{
+							signalHandler.apply( this, [notification.getCargo()] );
+						}
+						else
+						{
+							signalHandler.apply( this );
+						}
 					}
 				}
 			}


Fixed bug in DelegateLayoutArea on remove view funtion : view was not removed effectively.

--- src/main/flex/org/servebox/cafe/core/layout/impl/DelegateLayoutArea.as
+++ src/main/flex/org/servebox/cafe/core/layout/impl/DelegateLayoutArea.as
@@ -32,7 +32,7 @@
 			{
 				if( _views[i] == view )
 				{
-					_views = _views.slice( i, 1 );
+					_views.splice( i, 1 );
 					break;
 				}
 			}


34 Actually nothing

34 Actually nothing

--- raw/src/org/yellcorp/math/MathUtil.as
+++ raw/src/org/yellcorp/math/MathUtil.as
@@ -65,7 +65,7 @@
     }

     /**
-     * Rounds a number to the nearest arbitrary multiple.
+     * Rounds a number to the nearest specified multiple.
      */
     public static function roundToMultiple(number:Number, multiple:Number):Number
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18978
Author:   jacobg@adobe.com
Date:     2010-12-02T20:35:41.701724Z

Log Message:
-----------
Link DataGrid ASDoc Example

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

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

--- frameworks/projects/spark/src/spark/components/DataGrid.as
+++ frameworks/projects/spark/src/spark/components/DataGrid.as
@@ -75,6 +75,8 @@
  *  initialize the rowBackground skin part directly.

  *
  *  @default undefined
+ *
+ *  @includeExample examples/DataGridExample.mxml
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 22136
Author:   eday@adobe.com
Date:     2011-08-22T22:00:16.436563Z

Log Message:
-----------
Item snapping fixes
SDK-31180: Touch interaction mode in a desktop app causes scrollbar problems
SDK-30922: Scrollbar size decreases when end items are snapped
SDK-31049: Setting snapModes at runtime during a throw does not snap correctly
SDK-31236: SpinnerList animateToSelectedIndex doesn't cancel on touch interaction

QE notes:
Doc notes:
Bugs: SDK-31180, SDK-30922, SDK-31049, SDK-31236
Reviewer: Evtim, Jason Szeto
Tests run: checkintests, mustella
Is noteworthy for integration: no

Modified Paths:
--------------
<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/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -1422,6 +1422,11 @@
         else if (canScrollVertically)
             scrollProperty = VERTICAL_SCROLL_POSITION;

+        // If there's an animation playing, we need
+        // to stop it before we snap the element into
+        // position.
+        stopAnimations();
+
         if (animate)
         {
             if (!snapElementAnimation)
@@ -1443,6 +1448,17 @@
 			return null;
         }
     }
+
+    /**
+     *  @private
+     */
+    private function stopAnimations():void
+    {
+        if (throwEffect && throwEffect.isPlaying)
+            throwEffect.stop();
+        if (snapElementAnimation && snapElementAnimation.isPlaying)
+            snapElementAnimation.stop();
+    }

     //--------------------------------------------------------------------------
     //
@@ -1800,6 +1816,16 @@
                 }
             }
         }
+        if (verticalScrollBar)
+        {
+            verticalScrollBar.contentMinimum = minVerticalScrollPosition;
+            verticalScrollBar.contentMaximum = maxVerticalScrollPosition;
+        }
+        if (horizontalScrollBar)
+        {
+            horizontalScrollBar.contentMinimum = minHorizontalScrollPosition;
+            horizontalScrollBar.contentMaximum = maxHorizontalScrollPosition;
+        }
     }

     /**
@@ -2524,6 +2550,12 @@
             {
                 installTouchListeners();

+                // Need to make sure the scroll ranges are updated now, since they may
+                // not have been if the scroller was in non-touch mode when the content
+                // was created/changed.
+                scrollRangesChanged = true;
+                invalidateProperties();
+
                 if (!touchScrollHelper)
                 {
                     touchScrollHelper = new TouchScrollHelper();
@@ -2609,12 +2641,16 @@
             verticalScrollBar.viewport = viewport;
             if (liveScrollingSet)
                 verticalScrollBar.setStyle("liveDragging", Boolean(liveScrolling));
+            verticalScrollBar.contentMinimum = minVerticalScrollPosition;
+            verticalScrollBar.contentMaximum = maxVerticalScrollPosition;
         }
         else if (instance == horizontalScrollBar)
         {
             horizontalScrollBar.viewport = viewport;
             if (liveScrollingSet)
                 horizontalScrollBar.setStyle("liveDragging", Boolean(liveScrolling));
+            horizontalScrollBar.contentMinimum = minHorizontalScrollPosition;
+            horizontalScrollBar.contentMaximum = maxHorizontalScrollPosition;
         }
     }

@@ -2646,12 +2682,14 @@

         if (pageScrollingChanged)
         {
+            stopAnimations();
             determineCurrentPageScrollPosition();
             pageScrollingChanged = false;
         }

         if (snappingModeChanged)
         {
+            stopAnimations();
             snapContentScrollPosition();
             snappingModeChanged = false;
         }
@@ -3006,6 +3044,12 @@
     {
         stopThrowEffectOnMouseDown();

+        // If the snap animation is playing, we need to stop it
+        // before watching for a scroll and potentially beginning
+        // a new touch interaction.
+        if (snapElementAnimation && snapElementAnimation.isPlaying)
+            snapElementAnimation.stop();
+
         captureNextClick = false;

         // Watch for a scroll to begin.  The helper object will call our


Transferred from the Adobe Open Source Subversion Repository

Revision: 6003
Author:   egeorgie@adobe.com
Date:     2009-04-07T22:44:37.670097Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-19154 layoutBounds for group that has a path with a larger stroke weight is incorrect

Fix: Modify BasicLayout to use the new ILayoutElement APIs getLayoutBoundsXAtSize, getLayoutBoundsYAtSize.

QE Notes: None
Doc Notes: None
Bugs: SDK-19154
Reviewer: Ely
tests: checkintests, mustella (group, layout)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/BasicLayout.as
+++ frameworks/projects/spark/src/spark/layouts/BasicLayout.as
@@ -135,7 +135,7 @@
             }
             else
             {
-                extX = layoutElement.getLayoutBoundsX();
+                extX = layoutElement.getBoundsXAtSize(NaN, NaN);
             }

             if (!isNaN(top) && !isNaN(bottom))
@@ -169,7 +169,7 @@
             }
             else
             {
-                extY = layoutElement.getLayoutBoundsY();
+                extY = layoutElement.getBoundsYAtSize(NaN, NaN);
             }

             var preferredWidth:Number = layoutElement.getPreferredBoundsWidth();
@@ -271,13 +271,13 @@
             if (!layoutElement || !layoutElement.includeInLayout)
                 continue;

-            var hCenter:Number       = LayoutElementHelper.parseConstraintValue(layoutElement.horizontalCenter);
-            var vCenter:Number       = LayoutElementHelper.parseConstraintValue(layoutElement.verticalCenter);
+            var hCenter:Number = LayoutElementHelper.parseConstraintValue(layoutElement.horizontalCenter);
+            var vCenter:Number = LayoutElementHelper.parseConstraintValue(layoutElement.verticalCenter);
             var baseline:Number      = LayoutElementHelper.parseConstraintValue(layoutElement.baseline);
-            var left:Number          = LayoutElementHelper.parseConstraintValue(layoutElement.left);
-            var right:Number         = LayoutElementHelper.parseConstraintValue(layoutElement.right);
-            var top:Number           = LayoutElementHelper.parseConstraintValue(layoutElement.top);
-            var bottom:Number        = LayoutElementHelper.parseConstraintValue(layoutElement.bottom);
+            var left:Number    = LayoutElementHelper.parseConstraintValue(layoutElement.left);
+            var right:Number   = LayoutElementHelper.parseConstraintValue(layoutElement.right);
+            var top:Number     = LayoutElementHelper.parseConstraintValue(layoutElement.top);
+            var bottom:Number  = LayoutElementHelper.parseConstraintValue(layoutElement.bottom);
             var percentWidth:Number  = layoutElement.percentWidth;
             var percentHeight:Number = layoutElement.percentHeight;

@@ -346,7 +346,7 @@
             else if (!isNaN(right))
                 childX = unscaledWidth - elementWidth - right;
             else
-                childX = layoutElement.getLayoutBoundsX();
+            	childX = layoutElement.getLayoutBoundsX();

             // Vertical position
             if (!isNaN(vCenter))
@@ -358,7 +358,7 @@
             else if (!isNaN(bottom))
                 childY = unscaledHeight - elementHeight - bottom;
             else
-                childY = layoutElement.getLayoutBoundsY();
+           		childY = layoutElement.getLayoutBoundsY();

             // Set position
             layoutElement.setLayoutBoundsPosition(childX, childY);