Transferred from the Adobe Open Source Subversion Repository

Revision: 10006
Author:   gruehle@adobe.com
Date:     2009-09-03T22:04:47.081899Z

Log Message:
-----------
Initial checkin of the "More styles for Spark skins" feature. Details here:
http://opensource.adobe.com/wiki/display/flexsdk/More+Styles+for+Spark+Skins

There are some known issues:
* Panel bottom corners not rounded correctly when the panel has a control bar
* cornerRadius on Tab and DateChooser non functional
* cornerRadius values > 4 have drawing artifacts in the "down" state of Button and button-like components
* TextInput/TextArea incorrectly list lineBreak and verticalAlign as valid styles

This checkin also includes a couple minor unrelated bug fixes:
* Remove MiniDebugTarget. This is a logging target that used MiniDebug, which hasn't worked since Flex 1.5
* Fix RTEs when setting focusSkin to null
* Optimization: don't measure skins if the host component has explicit sizes

QE notes: Yes, many baseline images will need to be regenerated
Doc notes: New ASDoc comments should be scrubbed
Bugs: SDK-22931, SDK-22798, SDK-22217, SDK-19358
Reviewer: Jason
Tests run: checkintests, cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PopUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/targets/MiniDebugTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerDecrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/EditableComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SparkSkinForHalo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/TextInputBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerIncrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/halo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PanelBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/BorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/NumericStepperTextInputSkin.mxml</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/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/BorderTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ApplicationSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/Spinner.as
+++ frameworks/projects/spark/src/spark/components/Spinner.as
@@ -35,6 +35,16 @@
  *  @productversion Flex 4
  */
 [Event(name="change", type="flash.events.Event")]
+
+/**
+ *  The alpha of the focus ring for this component.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="focusAlpha", type="Number", inherit="no", theme="spark")]

 /**
  *  @copy spark.components.supportClasses.GroupBase#style:focusColor
@@ -192,7 +202,7 @@
     //
     //--------------------------------------------------------------------------

-    [SkinPart(required="true")]
+    [SkinPart(required="false")]

     /**
      *  A skin part that defines the  button that,
@@ -206,7 +216,7 @@
      */
     public var incrementButton:Button;

-    [SkinPart(required="true")]
+    [SkinPart(required="false")]

     /**
      *  A skin part that defines the  button that,


Transferred from the Adobe Open Source Subversion Repository

Revision: 19816
Author:   rfrishbe@adobe.com
Date:     2011-01-20T00:06:35.709500Z

Log Message:
-----------
Cleaning up how virtualization works.  Getting rid of an extra validateNow() and a setLayoutBoundsSize(0,0) call.  Now when grabbing a virtual item renderer, we just "bring it up to speed" in that we are in the middle of an updateDisplayList() pass, so we force it to validateProperties() and validateSize().  It'll just validateDisplayList() naturally as part of the natural LayoutManager pass that it's already in the middle of.

The main performance boost comes from removing the setLayoutBoundsSize(0,0) call, which was already made in the justify layout case, so we shouldn't see a huge difference in Mobile performance; however, we should see a performance boost for scrolling virtual lists in general because of this.

QE notes: -
Doc notes:
Bugs: SDK-29057
Reviewer: Evtim, Hans
Tests run: checkintests, full mustella cyclone (tho I did make one minor change afterwards in DataGroup)
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/layouts/TileLayout.as
+++ frameworks/projects/spark/src/spark/layouts/TileLayout.as
@@ -1248,7 +1248,7 @@
         if ((visibleStartIndex != -1) && (visibleEndIndex != -1))
         {
             for (var index:int = visibleStartIndex; index <= visibleEndIndex; index++)
-                updateVirtualTileSize(target.getVirtualElementAt(index));
+                updateVirtualTileSize(target.getElementAt(index));
         }

         // Make sure that we always have non-NaN values in the cache, even
@@ -1432,7 +1432,7 @@
                 i = visibleEndIndex;
                 continue;
             }
-            var el:ILayoutElement = layoutTarget.getVirtualElementAt(i);
+            var el:ILayoutElement = layoutTarget.getElementAt(i);
             if (!el)
                 continue;
             el.setLayoutBoundsSize(0, 0);


Transferred from the Adobe Open Source Subversion Repository

Revision: 9209
Author:   egeorgie@adobe.com
Date:     2009-08-10T21:19:44.304070Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-22457 [Gumbo_Priority] Layout bounds for FXG items are incorrect

Fix:
1. Add resizeMode property with default of 'scale' to SpriteVisualElement
2. Switch the Graphic class default for the resizeMode property to 'scale'
3. Beef up the transformation and sizing logic of the SpriteVisualElement.as
4. Minor clean-up and fixes for UIComponent and UIMovieClip transformations

QE notes: None
Doc notes: None
Bugs: SDK-22457
Reviewer: Ryan
Tests run: checkintests, spark/primitives/graphic, graphics, graphicTags

Is noteworthy for integration: Yes, bug came from Thermo.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Graphic.as
+++ frameworks/projects/spark/src/spark/primitives/Graphic.as
@@ -14,6 +14,7 @@

 import mx.events.PropertyChangeEvent;
 import spark.components.Group;
+import spark.components.ResizeMode;

 //--------------------------------------
 //  Events
@@ -106,6 +107,9 @@
     public function Graphic()
     {
         super();
+
+		// The default resize mode for a Graphic is scale
+		resizeMode = ResizeMode.SCALE;
     }

     //--------------------------------------------------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 20736
Author:   smgilson@adobe.com
Date:     2011-03-09T21:18:00.204102Z

Log Message:
-----------
Merge 20719 - ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/RuntimeDPIProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EdgeMetrics.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DeferredInstanceFromFunction.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextFieldInterface.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DPIClassification.as</path>

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

--- frameworks/projects/airframework/src/mx/core/WindowedApplication.as
+++ frameworks/projects/airframework/src/mx/core/WindowedApplication.as
@@ -2715,7 +2715,7 @@

             // activate makes the native window visible so this
             // component should become visible as well.
-            visible = true;
+            visible = true;
         }
     }

@@ -3011,9 +3011,9 @@
      */
     private function enterFrameHandler(e:Event):void
     {
-		if (!stage)
-			return;
-
+        if (!stage)
+            return;
+
         removeEventListener(Event.ENTER_FRAME, enterFrameHandler);

         // If nativeApplication.nativeApplication.exit() has been called,
@@ -3125,6 +3125,7 @@
     }

     /**
+     *  @private
      *  Manages mouse down events on the window border.
      *
      *  @langversion 3.0


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

--- frameworks/projects/framework/src/mx/states/InterruptionBehavior.as
+++ frameworks/projects/framework/src/mx/states/InterruptionBehavior.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 mx.states
 {
     /**


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

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

 package mx.controls.sliderClasses
 {


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

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

 package mx.messaging.channels
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20649
Author:   smgilson@adobe.com
Date:     2011-03-07T20:19:16.700368Z

Log Message:
-----------
ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/animation/SimpleMotionPath.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/ContentRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/ContentCache.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/NavigationUnit.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/animation/MotionPath.as
+++ frameworks/projects/spark/src/spark/effects/animation/MotionPath.as
@@ -171,7 +171,10 @@

     /**
      *  Returns a copy of this MotionPath object, including copies
-     *  of each keyframe
+     *  of each keyframe.
+     *
+     *  @return A copy of this MotionPath object, including copies
+     *  of each keyframe.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


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

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

 package mx.rpc.xml
 {


Reduced injector overhead by about 30% by introducing several small-ish optimizations

Specifically, mappings are now stored and ( in relevant places) queried by class name in addition to class identity to remove the need to do expensive class-lookups all the time. Additionally, the logic for applying lists of injection points was extracted from injectInto to remove the need to re-lookup the type for an instance in case of the injector doing the instantiation itself.

--- src/org/swiftsuspenders/Injector.as
+++ src/org/swiftsuspenders/Injector.as
@@ -116,22 +116,17 @@
 					_classDescriptor.getDescription(getConstructor(target));

 			var injectionPoints : Array = injecteeDescription.injectionPoints;
-			var length : int = injectionPoints.length;
-			for (var i : int = 0; i < length; i++)
-			{
-				var injectionPoint : InjectionPoint = injectionPoints[i];
-				injectionPoint.applyInjection(target, this);
-			}
+			applyInjectionPoints(target, injectionPoints);
 		}

 		public function getInstance(type : Class) : *
 		{
 			var mapping : InjectionRule = getMapping(type);
-			if (!mapping || !mapping.hasProvider())
-			{
-				return instantiateUnmapped(type);
-			}
-			return mapping.apply(this);
+			if (mapping && mapping.hasProvider())
+			{
+				return mapping.apply(this);
+			}
+			return instantiateUnmapped(type);
 		}

 		public function createChildInjector(applicationDomain : ApplicationDomain = null) : Injector
@@ -178,20 +173,38 @@
 			return _mappings[requestType] || getAncestorMapping(requestType);
 		}

-		SsInternal function getAncestorMapping(whenAskedFor : Class) : InjectionRule
-		{
-			return _parentInjector ? _parentInjector.getMapping(whenAskedFor) : null;
+		SsInternal function getMappingByName(requestTypeName : String) : InjectionRule
+		{
+			return _mappings[requestTypeName] || getAncestorMappingByName(requestTypeName);
+		}
+
+		SsInternal function getAncestorMapping(requestType : Class) : InjectionRule
+		{
+			if (_parentInjector)
+			{
+				return _parentInjector.getMapping(requestType);
+			}
+			return null;
+		}
+
+		SsInternal function getAncestorMappingByName(requestTypeName : String) : InjectionRule
+		{
+			if (_parentInjector)
+			{
+				return _parentInjector.getMappingByName(requestTypeName);
+			}
+			return null;
 		}

 		SsInternal function getRuleForInjectionPointConfig(
 				config : InjectionPointConfig) : InjectionRule
 		{
-			var type : Class = Class(applicationDomain.getDefinition(config.typeName));
 			if (config.injectionName)
 			{
+				var type : Class = Class(applicationDomain.getDefinition(config.typeName));
 				return usingName(config.injectionName).getMapping(type);
 			}
-			return getMapping(type);
+			return getMappingByName(config.typeName);
 		}

 		SsInternal function instantiateUnmapped(type : Class) : *
@@ -203,7 +216,7 @@
 				throw new InjectorError("Can't instantiate interface " + getQualifiedClassName(type));
 			}
 			var instance : * = injectionPoint.applyInjection(type, this);
-			injectInto(instance);
+			applyInjectionPoints(instance, typeDescription.injectionPoints);
 			return instance;
 		}

@@ -211,7 +224,19 @@
 		//----------------------         Private / Protected Methods        ----------------------//
 		private function createRule(requestType : Class) : InjectionRule
 		{
-			return new InjectionRule(this, requestType);
+			const rule : InjectionRule = new InjectionRule(this, requestType);
+			_mappings[getQualifiedClassName(requestType)] = rule;
+			return rule;
+		}
+
+		private function applyInjectionPoints(target : Object, injectionPoints : Array) : void
+		{
+			var length : int = injectionPoints.length;
+			for (var i : int = 0; i < length; i++)
+			{
+				var injectionPoint : InjectionPoint = injectionPoints[i];
+				injectionPoint.applyInjection(target, this);
+			}
 		}
 	}
 }


- added queryObject to URL class

- added queryObject to URL class

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

--- src/reprise/data/URL.as
+++ src/reprise/data/URL.as
@@ -23,6 +23,7 @@
 		protected var m_path : String;
 		protected var m_port : Number;
 		protected var m_query : String;
+		protected var m_queryObject : Object;
 		protected var m_fragment : String;

@@ -106,6 +107,22 @@
 		public function setQuery(val:String) : void
 		{
 			m_query = val;
+			m_queryObject = {};
+			var parts:Array = m_query.split('&');
+			for each (var part:String in parts)
+			{
+				if (!part || !part.length)
+				{
+					continue;
+				}
+				var keyValueParts:Array = part.split('=');
+				m_queryObject[keyValueParts[0]] = keyValueParts[1];
+			}
+		}
+
+		public function queryObject():Object
+		{
+			return m_queryObject;
 		}

 		public function fragment() : String
@@ -228,7 +245,7 @@
 			{
 				var query : String = urlString.substring(queryStartIndex + 1);
 				var queryParts : Array = query.split('#');
-				m_query = queryParts[0];
+				setQuery(queryParts[0]);
 				m_fragment = queryParts[1];
 				m_path = urlString.substring(0, queryStartIndex);
 			}


Correctly closing connection when the server initiates the close sequence.

--- AS3WebSocket/src/com/worlize/websocket/WebSocket.as
+++ AS3WebSocket/src/com/worlize/websocket/WebSocket.as
@@ -561,16 +561,23 @@
 					break;
 				case WebSocketOpcode.CONNECTION_CLOSE:
 					if (debug) {
-						logger("Received close from server");
+						logger("Received close frame");
 					}
 					if (waitingForServerClose) {
 						// got confirmation from server, finish closing connection
+						if (debug) {
+							logger("Got close confirmation from server.");
+						}
 						closeTimer.stop();
 						waitingForServerClose = false;
 						socket.close();
 					}
 					else {
+						if (debug) {
+							logger("Sending close response to server.");
+						}
 						close(false);
+						socket.close();
 					}
 					break;
 				default:


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

--- frameworks/projects/framework/src/mx/events/InvalidateRequestData.as
+++ frameworks/projects/framework/src/mx/events/InvalidateRequestData.as
@@ -14,6 +14,11 @@
  *  The InvalidateRequestData class defines constants for the values
  *  of the data property of a SWFBridgeRequest object when
  *  used with the SWFBridgeRequest.INVALIDATE_REQUEST request.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public final class InvalidateRequestData
 {
@@ -32,18 +37,33 @@
     /**
      *  Bit to indicate the request handler should invalidate
      *  their properties.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const PROPERTIES:uint = 0x0002;

     /**
      *  Bit to indicate the request handler should invalidate
      *  their size.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const SIZE:uint = 0x0004;

     /**
      *  Bit to indicate the request handler should invalidate
      *  their display list.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const DISPLAY_LIST:uint = 0x0001;
 }


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

--- frameworks/projects/spark/src/spark/events/RendererExistenceEvent.as
+++ frameworks/projects/spark/src/spark/events/RendererExistenceEvent.as
@@ -17,8 +17,10 @@
 import mx.core.IVisualElement;

 /**
- *  Represents events that are dispatched when a renderer of a DataGroup
- *  is added or removed.
+ *  The RendererExistenceEvent class represents events that are
+ *  dispatched when a renderer of a Spark DataGroup is added or removed.
+ *
+ *  @see spark.components.DataGroup
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -29,20 +31,20 @@
 {
     include "../core/Version.as";

-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  The RendererExistenceEvent.Renderer_ADD constant
-	 *  defines the value of the type property of the event
-	 *  object for an rendererAdd event.
-	 *
-     *
The properties of the event object have the following values:

-	 *

-	 *
Property	Value

+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The RendererExistenceEvent.RENDERER_ADD constant
+     *  defines the value of the type property of the event
+     *  object for an rendererAdd event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

      *
bubbles	false

      *
cancelable	false

      *
currentTarget	The Object that defines the
@@ -53,31 +55,31 @@
      *       is visualizing.

      *
index	The dataProvider index for the
      *       renderer that was added.

-	 *
renderer	Contains a reference
+     *
renderer	Contains a reference
      *         to the renderer that was added

      *
target	The Object that dispatched the event;
      *       it is not always the Object listening for the event.
      *       Use the currentTarget property to always access the
      *       Object listening for the event.

-	 *

-	 *
+     *

+     *
      *  @eventType rendererAdd
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public static const RENDERER_ADD:String = "rendererAdd";
-
-	/**
-	 *  The RendererExistenceEvent.RENDERER_REMOVE constant
-	 *  defines the value of the type property of the event
-	 *  object for an rendererRemove event.
-	 *
-     *
The properties of the event object have the following values:

-	 *

-	 *
Property	Value

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static const RENDERER_ADD:String = "rendererAdd";
+
+    /**
+     *  The RendererExistenceEvent.RENDERER_REMOVE constant
+     *  defines the value of the type property of the event
+     *  object for an rendererRemove event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

      *
bubbles	false

      *
cancelable	false

      *
currentTarget	The Object that defines the
@@ -88,74 +90,74 @@
      *       was visualizing.

      *
index	The dataProvider index for the
      *       renderer that is being removed.

-	 *
renderer	Contains a reference
+     *
renderer	Contains a reference
      *        to the renderer that is about to be removed.

      *
target	The Object that dispatched the event;
      *       it is not always the Object listening for the event.
      *       Use the currentTarget property to always access the
      *       Object listening for the event.

-	 *

-	 *
+     *

+     *
      *  @eventType rendererRemove
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public static const RENDERER_REMOVE:String = "rendererRemove";
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @param type The event type; indicates the action that caused the event.
-	 *
-	 *  @param bubbles Specifies whether the event can bubble up the display list hierarchy.
-	 *
-	 *  @param cancelable Specifies whether the behavior associated with the event can be prevented.
-	 *
-	 *  @param renderer Reference to the renderer that was added or removed.
-	 *
-	 *  @param index The index in the dataprovider where the renderer was added or removed
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static const RENDERER_REMOVE:String = "rendererRemove";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param type The event type; indicates the action that caused the event.
+     *
+     *  @param bubbles Specifies whether the event can bubble up the display list hierarchy.
+     *
+     *  @param cancelable Specifies whether the behavior associated with the event can be prevented.
+     *
+     *  @param renderer Reference to the renderer that was added or removed.
      *
-     *  @param data The data object that the renderer is visualizing
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function RendererExistenceEvent(
-								type:String, bubbles:Boolean = false,
-								cancelable:Boolean = false,
-								renderer:IVisualElement = null,
-								index:int = -1, data:Object = null)
-	{
-		super(type, bubbles, cancelable);
-
-		this.renderer = renderer;
-		this.index = index;
-		this.data = data;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
+     *  @param index The index in the data provider where the renderer was added or removed.
+     *
+     *  @param data The data object that the renderer is visualizing.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function RendererExistenceEvent(
+                                type:String, bubbles:Boolean = false,
+                                cancelable:Boolean = false,
+                                renderer:IVisualElement = null,
+                                index:int = -1, data:Object = null)
+    {
+        super(type, bubbles, cancelable);
+
+        this.renderer = renderer;
+        this.index = index;
+        this.data = data;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
     //  data
     //----------------------------------

     /**
-     *  The data object that the renderer is visualizing
+     *  The data item of the renderer.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -163,13 +165,13 @@
      *  @productversion Flex 4
      */
     public var data:Object;
-
+
     //----------------------------------
     //  index
     //----------------------------------

     /**
-     *  The index where the renderer was added or removed
+     *  The index where the item renderer was added or removed
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -178,29 +180,29 @@
      */
     public var index:int;

-	//----------------------------------
-	//  renderer
-	//----------------------------------
-
-	/**
-	 *  Reference to the render that was added or removed.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public var renderer:IVisualElement;
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: Event
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
+    //----------------------------------
+    //  renderer
+    //----------------------------------
+
+    /**
+     *  Reference to the item render that was added or removed.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var renderer:IVisualElement;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: Event
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
     override public function clone():Event
     {
         return new RendererExistenceEvent(type, bubbles, cancelable,


Transferred from the Adobe Open Source Subversion Repository

Revision: 4889
Author:   jszeto@adobe.com
Date:     2009-02-07T01:21:29.010759Z

Log Message:
-----------
Reverting revision 4885

Something in this checkin is causing an ASDoc compile failure. I will track this down later and resubmit the changes.

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as" copyfrom-rev="4884" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/BevelFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientFilter.as" copyfrom-rev="4884" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as" copyfrom-rev="4884" 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/mx/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Parser.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IFlexBitmapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateFilterInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateFilter.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/framework/src/mx/core/UIComponent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseFilter.as" copyfrom-rev="4884" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as
+++ frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as
@@ -1,65 +1,22 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-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.filters
 {

-import flash.display.BitmapData;
-import flash.events.Event;
-import flash.events.EventDispatcher;
+
 import flash.filters.BitmapFilter;
 import flash.filters.DisplacementMapFilterMode;
+import flash.display.BitmapData;
 import flash.geom.Point;
+import mx.filters.BaseFilter;
+import mx.filters.IBitmapFilter;

-import mx.filters.IFlexBitmapFilter;
-
-/**
- *  @review
- *  Dispatched when a property value has changed.
- */
-[Event(name="change", type="flash.events.Event")]
-
-/**
- *  @review
- *
- * 	The mx.filters.DisplacementMapFilter class is based on
- *  flash.filters.DisplacementMapFilter but adds support for dynamically updating
- *  property values.
- *  When a property changes, it dispatches an event that tells the filter owner to
- *  reapply the filter. Use this class instead of flash.filters.DisplacementMapFilter
- *  if you plan to dynamically change the filter property values.
- *
- *  @see flash.filters.DisplacementMapFilter
- */
-public class DisplacementMapFilter extends EventDispatcher implements IFlexBitmapFilter
+public class DisplacementMapFilter extends BaseFilter implements IBitmapFilter
 {
-	include "../core/Version.as";
-
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-	/**
-	 * @copy flash.filters.DisplacementMapFilter
-	 */
 	public function DisplacementMapFilter(mapBitmap:BitmapData = null,
 										  mapPoint:Point = null, componentX:uint = 0,
 										  componentY:uint = 0, scaleX:Number = 0.0,
 										  scaleY:Number = 0.0, mode:String = "wrap",
 										  color:uint = 0, alpha:Number = 0.0)
 	{
-		super();
-
 		this.mapBitmap = mapBitmap;
 		this.mapPoint = mapPoint;
 		this.componentX = componentX;
@@ -70,12 +27,6 @@
 		this.color = color;
 		this.alpha = alpha;
 	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------

 	//----------------------------------
     //  alpha
@@ -317,40 +268,10 @@
 			notifyFilterChanged();
 		}
 	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
-
-   	/**
-     * @private
-     * Notify of a change to our filter, so that filter stack is ultimately
-     * re-applied by the framework.
-     */
-	private function notifyFilterChanged():void
-	{
-		dispatchEvent(new Event(Event.CHANGE));
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  IFlexBitmapFilter
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Creates a flash.filters.DisplacementMapFilter instance using the current
-	 *  property values.
-	 *
-	 *  @return flash.filters.DisplacementMapFilter instance
-	 */
-	public function createBitmapFilter():BitmapFilter
-	{
-		return new flash.filters.DisplacementMapFilter(mapBitmap, mapPoint, componentX,
-													   componentY, scaleX, scaleY, mode,
-													   color, alpha);
+
+	public function clone():BitmapFilter
+	{
+		return null;
 	}

 }


Paused event now dispatches a data object

--- src/Player.as
+++ src/Player.as
@@ -348,7 +348,7 @@

     private function onPaused(event:ClientEvent):void {
       this.currentState = "paused";
-      this.callAPI(EVENT_STREAM_PAUSED);
+      this.callAPI(EVENT_STREAM_PAUSED, event.data);
     }

     private function onStopped(event:ClientEvent):void {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20667
Author:   chiedozi@adobe.com
Date:     2011-03-08T04:23:49.402096Z

Log Message:
-----------
Fixed a regression where the orientation state of a mobile application didn't properly update when an application is relaunched after being suspended.

QE notes:
Doc notes:
Bugs: SDK-29099
Reviewer: Ryan
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.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/TabbedViewNavigatorApplication.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as
@@ -669,9 +669,18 @@

     /**
      *  @private
+	 *  Activates the current view of the application if one exists.  This
+	 *  method doesn't do anything at initial launch because the activate
+	 *  event isn't dispatched when the application is first launched.  Only
+	 *  the invoke event is.
      */
     private function activateHandler(event:Event):void
     {
+		// Activate the top most view of the navigator if it exists.  Note that
+		// in some launch situations, this will occur before the stage has properly
+		// resized itself.  The orientation state of the view will be manually
+		// updated when the stage RESIZE event is received.  See invokeHandler
+		// and stage_resizeHandler.
         if (navigator && navigator.activeView)
         {
             if (!navigator.activeView.isActive)
@@ -701,7 +710,7 @@
         if (navigator)
         {
             if (navigator.activeView)
-                systemManager.stage.addEventListener(Event.RESIZE, stage_resizeHandler);
+                systemManager.stage.addEventListener(Event.RESIZE, stage_resizeHandler, false, 0, true);

             // Set the stage focus to the navigator's active view
             navigator.updateFocus();
@@ -716,11 +725,10 @@
     private function stage_resizeHandler(event:Event):void
     {
         systemManager.stage.removeEventListener(Event.RESIZE, stage_resizeHandler);
-
-        // The active view was deactivated when the application was suspended.  We
-        // need to reactivate it here.
-        if (!activeView.isActive)
-            activeView.setActive(true);
+
+		// Update the orientaion state of the view at launch because at this
+		// point the runtime doesn't dispatch stage orientation events.
+		activeView.updateOrientationState();
     }

     /**


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

--- frameworks/projects/mx/src/mx/events/SliderEvent.as
+++ frameworks/projects/mx/src/mx/events/SliderEvent.as
@@ -0,0 +1,290 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events
+{
+
+import flash.events.Event;
+
+/**
+ *  The SliderEvent class represents the event object passed to
+ *  the event listener for the change, thumbDrag,
+ *  thumbPress, and thumbRelease events
+ *  of the HSlider and VSlider classes.
+ *
+ *  @see mx.controls.HSlider
+ *  @see mx.controls.VSlider
+ *  @see mx.controls.sliderClasses.Slider
+ *  @see mx.events.SliderEventClickTarget
+ */
+public class SliderEvent extends Event
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The SliderEvent.CHANGE constant defines the value of the
+     *  type property of the event object for a change event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
clickTarget	Specifies whether the slider
+     *       track or a slider thumb was pressed.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
keyCode	If the event was triggered by a key press,
+     *       the keycode for the key.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
thumbIndex	The zero-based index of the thumb
+     *       whose position has changed.

+     *
triggerEvent	Contains a value indicating the
+     *       type of input action. The value is either InteractionInputType.MOUSE
+     *       or InteractionInputType.KEYBOARD.

+     *
value	The new value of the slider.

+     *

+     *
+     *  @eventType change
+     */
+    public static const CHANGE:String = "change";
+
+    /**
+     *  The SliderEvent.THUMB_DRAG constant defines the value of the
+     *  type property of the event object for a thumbDrag event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
clickTarget	Specifies whether the slider
+     *       track or a slider thumb was pressed.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
keyCode	If the event was triggered by a key press,
+     *       the keycode for the key.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
thumbIndex	The zero-based index of the thumb
+     *       whose position has changed.

+     *
triggerEvent	Contains a value indicating the
+     *       type of input action. The value is either InteractionInputType.MOUSE
+     *       or InteractionInputType.KEYBOARD.

+     *
value	The new value of the slider.

+     *

+     *
+     *  @eventType thumbDrag
+     */
+    public static const THUMB_DRAG:String = "thumbDrag";
+
+    /**
+     *  The SliderEvent.THUMB_PRESS constant defines the value of the
+     *  type property of the event object for a thumbPress event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
clickTarget	Specifies whether the slider
+     *       track or a slider thumb was pressed.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
keyCode	If the event was triggered by a key press,
+     *       the keycode for the key.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
thumbIndex	The zero-based index of the thumb
+     *       whose position has changed.

+     *
triggerEvent	Contains a value indicating the
+     *       type of input action. The value is either InteractionInputType.MOUSE
+     *       or InteractionInputType.KEYBOARD.

+     *
value	The new value of the slider.

+     *

+     *
+     *  @eventType thumbPress
+     */
+    public static const THUMB_PRESS:String = "thumbPress";
+
+    /**
+     *  The SliderEvent.THUMB_RELEASE constant defines the value of the
+     *  type property of the event object for a thumbRelease event.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
clickTarget	Specifies whether the slider
+     *       track or a slider thumb was pressed.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
keyCode	If the event was triggered by a key press,
+     *       the keycode for the key.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
thumbIndex	The zero-based index of the thumb
+     *       whose position has changed.

+     *
triggerEvent	Contains a value indicating the
+     *       type of input action. The value is either InteractionInputType.MOUSE
+     *       or InteractionInputType.KEYBOARD.

+     *
value	The new value of the slider.

+     *

+     *
+     *  @eventType thumbRelease
+     */
+    public static const THUMB_RELEASE:String = "thumbRelease";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param type The event type; indicates the action that caused the event.
+     *
+     *  @param bubbles Specifies whether the event can bubble
+     *  up the display list hierarchy.
+     *
+     *  @param cancelable Specifies whether the behavior
+     *  associated with the event can be prevented.
+     *
+     *  @param thumbIndex The zero-based index of the thumb
+     *  whose position has changed.
+     *
+     *  @param triggerEvent The type of input action.
+     *  The value is either InteractionInputType.MOUSE
+     *  or InteractionInputType.KEYBOARD.
+     *
+     *  @param clickTarget Whether the slider track or a slider thumb was pressed.
+     *
+     *  @param keyCode If the event was triggered by a key press,
+     *  the keycode for the key.
+     */
+    public function SliderEvent(type:String, bubbles:Boolean = false,
+                                cancelable:Boolean = false,
+                                thumbIndex:int = -1, value:Number = NaN,
+                                triggerEvent:Event = null,
+                                clickTarget:String = null, keyCode:int = -1)
+    {
+        super(type, bubbles, cancelable);
+
+        this.thumbIndex = thumbIndex;
+        this.value = value;
+        this.triggerEvent = triggerEvent;
+        this.clickTarget = clickTarget;
+        this.keyCode = keyCode;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  clickTarget
+    //----------------------------------
+
+    /**
+     *  Specifies whether the slider track or a slider thumb was pressed.
+     *  This property can have one of two values:
+     *  SliderEventClickTarget.THUMB
+     *  or SliderEventClickTarget.TRACK.
+     *
+     *  @see mx.events.SliderEventClickTarget
+     */
+    public var clickTarget:String;
+
+    //----------------------------------
+    //  keyCode
+    //----------------------------------
+
+    /**
+     *  If the event was triggered by a key press, the keycode for the key.
+     */
+    public var keyCode:int;
+
+    //----------------------------------
+    //  thumbIndex
+    //----------------------------------
+
+    /**
+     *  The zero-based index of the thumb whose position has changed.
+     *  If there is only a single thumb, the value is 0.
+     *  If there are two thumbs, the value is 0 or 1.
+     */
+    public var thumbIndex:int;
+
+    //----------------------------------
+    //  triggerEvent
+    //----------------------------------
+
+    /**
+     *  Indicates the type of input action.
+     *  The value is either InteractionInputType.MOUSE
+     *  or InteractionInputType.KEYBOARD.
+     */
+    public var triggerEvent:Event;
+
+    //----------------------------------
+    //  value
+    //----------------------------------
+
+    /**
+     *  The new value of the slider.
+     */
+    public var value:Number;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: Event
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function clone():Event
+    {
+        return new SliderEvent(type, bubbles, cancelable, thumbIndex,
+                               value, triggerEvent, clickTarget, keyCode);
+    }
+}
+
+}


Added option to allow curves on downhilltoend.

--- src/engine/tetragon/systems/racetrack/RacetrackFactory.as
+++ src/engine/tetragon/systems/racetrack/RacetrackFactory.as
@@ -359,7 +359,7 @@
 						addBumps();
 						break;
 					case RTRoadSectionType.DOWNHILL_TO_END:
-						addDownhillToEnd(section.length);
+						addDownhillToEnd(section.length, section.curve);
 						break;
 					default:
 						error("createRoad:: Unknown road section type: " + section.type);
@@ -701,9 +701,9 @@
 		/**
 		 * @private
 		 */
-		private function addDownhillToEnd(length:int):void
-		{
-			addRoad(length, length, length, -RTRoad.CURVE.EASY, -lastY / _rt.segmentLength);
+		private function addDownhillToEnd(length:int, curve:int):void
+		{
+			addRoad(length, length, length, curve, -lastY / _rt.segmentLength);
 		}


Added LoaderInspector when application setup.

--- src/net/manaca/application/config/ApplicationSetup.as
+++ src/net/manaca/application/config/ApplicationSetup.as
@@ -8,8 +8,7 @@
 import net.manaca.application.Bootstrap;
 import net.manaca.application.IApplicationSetup;
 import net.manaca.core.manaca_internal;
-import net.manaca.errors.FrameworkError;
-import net.manaca.loaderqueue.LoaderQueue;
+import net.manaca.loaderqueue.inspector.LoaderInspector;
 import net.manaca.modules.ModuleManager;
 import net.manaca.modules.ModuleVO;

@@ -35,7 +34,6 @@
     private var config:*;
     private var configXML:XML;
     private var filePreloading:FilePreloadingHelper;
-    private const loaderQueueIns:LoaderQueue = new LoaderQueue(8, 100);
     //==========================================================================
     //  Properties
     //==========================================================================
@@ -54,7 +52,10 @@
     private function initApp():void
     {
         Bootstrap.getInstance().manaca_internal::init(configXML);
-
+        var loaderInspector:LoaderInspector =
+            new LoaderInspector(Bootstrap.getInstance().loaderQueue);
+        stage.addChild(loaderInspector);
+        stage.removeChild(loaderInspector);
         //init stage,logging
         new ApplicationInitHelper().init(stage, configXML);


Added stuff to approximate cubic beziers with quads, using caffeineowl.com's methods

--- raw/src/org/yellcorp/lib/splines/BezierFlatten.as
+++ raw/src/org/yellcorp/lib/splines/BezierFlatten.as
@@ -31,6 +31,126 @@
             out.lineTo(spline.p2.x, spline.p2.y);
         }
     }
+
+    public static function cubicToPolyQuad(spline:CubicBezier, threshold:Number, out:CurveStream):void
+    {
+        var root:TreeNode = new TreeNode();
+        root.content = spline;
+        out.moveTo(spline.p0.x, spline.p0.y);
+        cubicToPolyQuadRecurse(root, threshold * threshold, out);
+    }
+
+    private static function cubicToPolyQuadRecurse(node:TreeNode, sqThreshold:Number, out:CurveStream):void
+    {
+        var spline:CubicBezier = node.content;
+        var qx:Number, qy:Number;
+
+        if (cubicToQuadSquareError(spline) > sqThreshold)
+        {
+            node.left = new TreeNode();
+            node.left.content = CubicBezier.create();
+            node.right = new TreeNode();
+            node.right.content = CubicBezier.create();
+            spline.split(0.5, node.left.content, node.right.content);
+            cubicToPolyQuadRecurse(node.left, sqThreshold, out);
+            cubicToPolyQuadRecurse(node.right, sqThreshold, out);
+        }
+        else
+        {
+            qx = averageQuadScaledInfluencePoints(spline.p0.x, spline.p1.x, spline.p2.x, spline.p3.x);
+            qy = averageQuadScaledInfluencePoints(spline.p0.y, spline.p1.y, spline.p2.y, spline.p3.y);
+            out.curveTo(qx, qy, spline.p3.x, spline.p3.y);
+        }
+    }
+
+    /**
+     * Calculates a quadratic approximation of a cubic bezier.  This is done
+     * by calculating the average of two quadratic beziers: One with the cubic
+     * coefficient set to 0, and its reverse, also with the cubic coefficient
+     * set to 0.
+     *
+     * An alternate way of visualizing it is to create a quadratic by copying
+     * the anchor points, and scaling the distance between each cubic influence
+     * point and its adjacent anchor point by 1.5, then setting the quadratic
+     * influence point to the average of the scaled influence points.
+     *
+     * A cubic bezier whose influence points coincide after scaling by 1.5
+     * effectively has no cubic coefficient and can be expressed as a quadratic.
+     *
+     * This corresponds to the 'mid-point approximation' mentioned here:
+     * http://www.caffeineowl.com/graphics/2d/vectorial/cubic2quad01.html
+     */
+    public static function cubicToApproxQuad(cubic:CubicBezier, out:QuadBezier):QuadBezier
+    {
+        out.p0.x = cubic.p0.x;
+        out.p0.y = cubic.p0.y;
+
+        out.p2.x = cubic.p3.x;
+        out.p2.y = cubic.p3.y;
+
+        out.p1.x = averageQuadScaledInfluencePoints(cubic.p0.x, cubic.p1.x, cubic.p2.x, cubic.p3.x);
+        out.p1.y = averageQuadScaledInfluencePoints(cubic.p0.y, cubic.p1.y, cubic.p2.y, cubic.p3.y);
+
+        return out;
+    }
+
+    /**
+     * Calculates the maximum error between a cubic and its quadratic
+     * approximation.  The number returned is the maximum square distance
+     * between corresponding points on the cubic and its quad. approx.
+     *
+     * Mathematically, the process is:
+     * Assume a cubic bezier C(t) = CubicBezier(Ca, Cb, Cc, Cd, t)
+     *
+     * Define its 'mid-point approximation' quadratic bezier.
+     * Q(C)(t) = QuadraticBezier(Ca, -Ca + 3Cb + 3Cc - Cd, Cd, t)
+     *
+     * Define an error function as the difference between C and Q(C)
+     * E(C)(t) = Q(C)(t) - C(t)
+     *
+     * Which is:
+     * (1 / 2) * (Ca - 3Cb + 3Cc - Cd) * (t - 3t^2 + 2t^3)
+     *
+     * Find the extrema for t by solving d/dt E(C)(t) where t = 0
+     * Which are at t = { (3 - sqrt(3)) / 6 , (3 + sqrt(3)) / 6 }
+     * These values for t are constant, so the code begins at this point.
+     *
+     * Evaluate E(C)(t) for each solution.  This will result in a pair of
+     * 2-vectors.
+     *
+     * Return the maximum absolute value (pythagorean distance) of the pair.
+     */
+    public static function cubicToQuadSquareError(cubic:CubicBezier):Number
+    {
+        var ax:Number = cubic.p0.x;
+        var bx:Number = cubic.p1.x;
+        var cx:Number = cubic.p2.x;
+        var dx:Number = cubic.p3.x;
+
+        var ay:Number = cubic.p0.x;
+        var by:Number = cubic.p1.x;
+        var cy:Number = cubic.p2.x;
+        var dy:Number = cubic.p3.x;
+
+        // these values should really be divided by 12*sqrt(3)
+        var r0x:Number = (ax + 3 * (cx - bx) - dx);
+        var r0y:Number = (ay + 3 * (cy - by) - dy);
+
+        var r1x:Number = (dy + 3 * (bx - cx) - ax);
+        var r1y:Number = (dy + 3 * (by - cy) - ay);
+
+        var sqDist0:Number = r0x * r0x + r0y * r0y;
+        var sqDist1:Number = r1x * r1x + r1y * r1y;
+
+        // but if you factor that constant out and apply it here, you can
+        // just divide by (12*sqrt(3))^2, which is 432
+        return (sqDist0 > sqDist1 ? sqDist0 : sqDist1) / 432.0;
+    }
+
+    private static function averageQuadScaledInfluencePoints(a:Number, b:Number, c:Number, d:Number):Number
+    {
+        return (3 * (b + c) - a - d) * 0.25;
+    }
 }
 }


Performance improvement by reducing the number of strings created during scene setup and reduce memory used

--- src/aerys/minko/type/binding/DataBindings.as
+++ src/aerys/minko/type/binding/DataBindings.as
@@ -183,9 +183,7 @@
 		public function addCallback(bindingName : String,
 									callback	: Function) : void
 		{
-			_bindingNameToChangedSignal[bindingName] ||= new Signal(
-				'DataBindings.changed[' + bindingName + ']'
-			);
+			_bindingNameToChangedSignal[bindingName] ||= new Signal(bindingName);

 			Signal(_bindingNameToChangedSignal[bindingName]).add(callback);
 		}


Change the mouse over text for the rest of world node from "the wider Internet community outside the country" to "the wider Internet outside the country".

E.g. change "Internet community" to just "Internet"

--- asn_visualization/asn_visualization.as
+++ asn_visualization/asn_visualization.as
@@ -466,7 +466,7 @@

             if (node == rest_of_world_node)
             {
-                ret="This node represents the" + " wider Internet community " + "outside the country.";
+                ret="This node represents the wider Internet outside the country.";
                 ret=word_wrap_to_default(ret);
                 return ret;
             }


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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TransparentNavigationButtonSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TransparentNavigationButtonSkin.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2010 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Bug #464762: Apply the patch for the math-partial-sums that was done for the untyped to the typed version.


- bugfix in Checkbox component: Duplication of toggle code for 'selected' caused the component never to change the state as a result of a click event

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

--- src/reprise/controls/CheckBox.as
+++ src/reprise/controls/CheckBox.as
@@ -40,7 +40,7 @@
 		public function Checkbox()
 		{
 		}
-		public function get checked () : Boolean
+		public function get checked() : Boolean
 		{
 			return selected;
 		}
@@ -84,24 +84,11 @@
 		/***************************************************************************
 		*							protected methods								   *
 		***************************************************************************/
-		protected override function initialize () : void
+		protected override function initialize() : void
 		{
 			super.initialize();
 			isToggleButton = true;
 			m_labelDisplay.html = true;
-		}
-
-		protected override function buttonDisplay_click(event:MouseEvent) : void
-		{
-			super.buttonDisplay_click(event);
-			if(selected)
-			{
-				selected = false;
-			}
-			else
-			{
-				selected = true;
-			}
 		}

 		//@FIXME


- removed unimplemented, empty class

- removed unimplemented, empty class

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 7743
Author:   clucier@adobe.com
Date:     2009-06-11T13:53:10.203664Z

Log Message:
-----------
Moving away from using namespace qualifiers in most cases in the SDK.  We've run into a few cases now where the use of qualifiers in code that is called excessively can slow things down.
Bugs: SDK-21337
Reviewer: Ryan, Paul
QE Notes: None
Tests: Ran several random Mustella test groups, checkintests.

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

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

--- frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as
+++ frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as
@@ -30,6 +30,8 @@
 import mx.modules.IModuleInfo;
 import mx.modules.ModuleManager;
 import mx.utils.StringUtil;
+
+use namespace mx_internal;

 /**
  *  @copy mx.resources.IResourceManager#change
@@ -342,8 +344,8 @@
         // In case we just created a ResourceBundle from a Flex 2 SWC,
         // set its locale and bundleName, because the old constructor
         // didn't used to do this.
-        resourceBundle.mx_internal::_locale = locale;
-        resourceBundle.mx_internal::_bundleName = bundleName;
+        resourceBundle._locale = locale;
+        resourceBundle._bundleName = bundleName;

         // Add that resource bundle instance to the ResourceManager.
         addResourceBundle(resourceBundle);
@@ -364,7 +366,7 @@
     {
 		var compiledLocales:Array = info["compiledLocales"];

-		ResourceBundle.mx_internal::locale =
+		ResourceBundle.locale =
 			compiledLocales != null && compiledLocales.length > 0 ?
 			compiledLocales[0] :
 			"en_US";


Improved error message

Improved error message

Change-Id: Iecbd06bc7ce371988167c7170a57e86c2457b36d

--- WeaveData/src/weave/services/ExternalDownloader.as
+++ WeaveData/src/weave/services/ExternalDownloader.as
@@ -150,7 +150,7 @@
 				else
 					faultCode = lang("Error");

-				var fault:Fault = new Fault(faultCode, lang("HTTP GET failed"), qt.url);
+				var fault:Fault = new Fault(faultCode, lang("HTTP GET failed. Check that the server allows Cross-Origin Resource Sharing (CORS)."), qt.url);
 				fault.content = result;
 				qt.asyncToken.mx_internal::applyFault(FaultEvent.createEvent(fault, qt.asyncToken));
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 19792
Author:   clucier@adobe.com
Date:     2011-01-18T13:20:31.873835Z

Log Message:
-----------
Effectively reverting changelist 19786. Unfortunately there was logic depending on the original broken behavior.

QE notes: None
Doc notes: None
Bugs: SDK-29146
Reviewer: Jason
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Scale.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale.as
+++ frameworks/projects/spark/src/spark/effects/Scale.as
@@ -262,11 +262,8 @@
         var xProp:String = applyChangesPostLayout ? "postLayoutScaleX" : "scaleX";
         var yProp:String = applyChangesPostLayout ? "postLayoutScaleY" : "scaleY";

-        if (!(isNaN(scaleXFrom) && isNaN(scaleXTo) && isNaN(scaleXBy)))
-            addMotionPath(xProp, scaleXFrom, scaleXTo, scaleXBy);
-
-        if (!(isNaN(scaleYFrom) && isNaN(scaleYTo) && isNaN(scaleYBy)))
-            addMotionPath(yProp, scaleYFrom, scaleYTo, scaleYBy);
+        addMotionPath(xProp, scaleXFrom, scaleXTo, scaleXBy);
+        addMotionPath(yProp, scaleYFrom, scaleYTo, scaleYBy);

         super.initInstance(instance);
     }


Rather than break out a general purpose matrix algebra class that may not be needed anywhere else,
just compress those huge unneccessary functions into a couple of sensible loops for this
specific case.

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

--- src/as/com/threerings/flash/FilterUtil.as
+++ src/as/com/threerings/flash/FilterUtil.as
@@ -161,33 +161,61 @@
     }

     /**
+     * Create a filter that, if applied to a DisplayObject, will shift the hue of that object
+     * by the given value.
+     */
+    public static function createHueShift (hue :int) :ColorMatrixFilter
+    {
+        return shiftHueBy(null, hue);
+    }
+
+    /**
     * Shift the color matrix filter by the given amount.  This is adapted from the code found at
     * http://www.kirupa.com/forum/showthread.php?t=230706
     */
     public static function shiftHueBy (original :ColorMatrixFilter,
         hueShift :int) :ColorMatrixFilter
     {
-        var M1 :Array = [ 0.213, 0.715, 0.072,
-                          0.213, 0.715, 0.072,
-                          0.213, 0.715, 0.072 ];
-        var M2 :Array = [ 0.787, -0.715, -0.072,
-                         -0.212, 0.285, -0.072,
-                         -0.213, -0.715, 0.928 ];
-        var M3 :Array = [-0.213, -0.715, 0.928,
-                          0.143, 0.140, -0.283,
-                         -0.787, 0.715, 0.072 ];
-        var M4 :Array = add(M1, add(multiply(Math.cos(hueShift * Math.PI / 180), M2),
-            multiply(Math.sin(hueShift * Math.PI / 180), M3)));
-
-        var originalMatrix :Array = original.matrix;
-        if (originalMatrix == null) {
+        var cosMatrix :Array = [ 0.787, -0.715, -0.072,
+                                -0.212, 0.285, -0.072,
+                                -0.213, -0.715, 0.928 ];
+        var sinMatrix :Array = [-0.213, -0.715, 0.928,
+                                0.143, 0.140, -0.283,
+                                -0.787, 0.715, 0.072 ];
+        var multiplier :Array = [];
+        var cos :Number = Math.cos(hueShift * Math.PI / 180);
+        var sin :Number = Math.sin(hueShift * Math.PI / 180);
+        for (var ii :int = 0; ii < 9; ii++) {
+            multiplier.push([ 0.213, 0.715, 0.072 ][ii%3] + cosMatrix[ii] * cos +
+                sinMatrix[ii] * sin);
+        }
+
+        var originalMatrix :Array;
+        if (original == null || original.matrix == null) {
+            // thats the identity matrix for this filter
+            originalMatrix = [ 1, 0, 0, 0, 0,
+                               0, 1, 0, 0, 0,
+                               0, 0, 1, 0, 0,
+                               0, 0, 0, 1, 0 ];
+        } else {
             originalMatrix = original.matrix;
         }

-        return new ColorMatrixFilter(concat(originalMatrix, [ M4[0], M4[1], M4[2], 0, 0,
-                                                              M4[3], M4[4], M4[5], 0, 0,
-                                                              M4[6], M4[7], M4[8], 0, 0,
-                                                                  0,     0,     0, 1, 0 ]));
+        // this loop compresses a massive, wacky concatination function that was used in the code
+        // from the site listed above
+        var matrix :Array = [];
+        for (ii = 0; ii < 20; ii++) {
+            if ((ii % 5) > 2) {
+                matrix.push(originalMatrix[ii]);
+            } else {
+                var base :int = Math.floor(ii / 5) * 5;
+                matrix.push((originalMatrix[base] * multiplier[ii%5]) +
+                            (originalMatrix[base+1] * multiplier[(ii%5)+3]) +
+                            (originalMatrix[base+2] * multiplier[(ii%5)+6]));
+            }
+        }
+
+        return new ColorMatrixFilter(matrix);
     }

     protected static function checkArgs (disp :DisplayObject, filter :BitmapFilter) :void
@@ -196,64 +224,5 @@
             throw new ArgumentError("args may not be null");
         }
     }
-
-    protected static function identity () :Array
-    {
-        return [ 1, 0, 0, 0, 0,
-                 0, 1, 0, 0, 0,
-                 0, 0, 1, 0, 0,
-                 0, 0, 0, 1, 0 ];
-    }
-
-    protected static function add (A :Array, B :Array) :Array
-    {
-        var C :Array = [];
-        for(var ii :int = 0; ii < A.length; ii++)
-        {
-            C.push( A[ii] + B[ii] );
-        }
-        return C;
-    }
-
-    protected static function multiply(x :Number, B :Array) :Array
-    {
-        var A :Array = [];
-        for each (var n :Number in B)
-        {
-            A.push(x * n);
-        }
-        return A;
-    }
-
-    protected static function concat(A :Array, B :Array) :Array
-    {
-        var nM :Array = [];
-
-        nM[0] = (A[0] * B[0]) + (A[1] * B[5]) + (A[2] * B[10]) + (A[3] * B[15]);
-        nM[1] = (A[0] * B[1]) + (A[1] * B[6]) + (A[2] * B[11]) + (A[3] * B[16]);
-        nM[2] = (A[0] * B[2]) + (A[1] * B[7]) + (A[2] * B[12]) + (A[3] * B[17]);
-        nM[3] = (A[0] * B[3]) + (A[1] * B[8]) + (A[2] * B[13]) + (A[3] * B[18]);
-        nM[4] = (A[0] * B[4]) + (A[1] * B[9]) + (A[2] * B[14]) + (A[3] * B[19]) + A[4];
-
-        nM[5] = (A[5] * B[0]) + (A[6] * B[5]) + (A[7] * B[10]) + (A[8] * B[15]);
-        nM[6] = (A[5] * B[1]) + (A[6] * B[6]) + (A[7] * B[11]) + (A[8] * B[16]);
-        nM[7] = (A[5] * B[2]) + (A[6] * B[7]) + (A[7] * B[12]) + (A[8] * B[17]);
-        nM[8] = (A[5] * B[3]) + (A[6] * B[8]) + (A[7] * B[13]) + (A[8] * B[18]);
-        nM[9] = (A[5] * B[4]) + (A[6] * B[9]) + (A[7] * B[14]) + (A[8] * B[19]) + A[9];
-
-        nM[10] = (A[10] * B[0]) + (A[11] * B[5]) + (A[12] * B[10]) + (A[13] * B[15]);
-        nM[11] = (A[10] * B[1]) + (A[11] * B[6]) + (A[12] * B[11]) + (A[13] * B[16]);
-        nM[12] = (A[10] * B[2]) + (A[11] * B[7]) + (A[12] * B[12]) + (A[13] * B[17]);
-        nM[13] = (A[10] * B[3]) + (A[11] * B[8]) + (A[12] * B[13]) + (A[13] * B[18]);
-        nM[14] = (A[10] * B[4]) + (A[11] * B[9]) + (A[12] * B[14]) + (A[13] * B[19]) + A[14];
-
-        nM[15] = (A[15] * B[0]) + (A[16] * B[5]) + (A[17] * B[10]) + (A[18] * B[15]);
-        nM[16] = (A[15] * B[1]) + (A[16] * B[6]) + (A[17] * B[11]) + (A[18] * B[16]);
-        nM[17] = (A[15] * B[2]) + (A[16] * B[7]) + (A[17] * B[12]) + (A[18] * B[17]);
-        nM[18] = (A[15] * B[3]) + (A[16] * B[8]) + (A[17] * B[13]) + (A[18] * B[18]);
-        nM[19] = (A[15] * B[4]) + (A[16] * B[9]) + (A[17] * B[14]) + (A[18] * B[19]) + A[19];
-
-        return nM;
-    }
 }
 }


Oh, fuck that. Let's just set the explicit width/height, because if
something's never measured then it never gets these set.
This might break something.

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

--- src/as/com/threerings/flex/FlexWrapper.as
+++ src/as/com/threerings/flex/FlexWrapper.as
@@ -34,16 +34,9 @@
     {
         // don't capture mouse events in this wrapper
         mouseEnabled = false;
-        _obj = object;
         addChild(object);
+        width = object.width;
+        height = object.height;
     }
-
-    override protected function measure () :void
-    {
-        measuredWidth = _obj.width;
-        measuredHeight = _obj.height;
-    }
-
-    protected var _obj :DisplayObject;
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5113
Author:   jimurphy@adobe.com
Date:     2009-02-27T20:48:28.618768Z

Log Message:
-----------
Merge 3.x revisions 5042,5072-5073,5090-5091 -> trunk
This includes the latest released player 10.0.22.87

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/Base64Encoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>

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

--- frameworks/projects/mx/src/mx/controls/ComboBox.as
+++ frameworks/projects/mx/src/mx/controls/ComboBox.as
@@ -1012,8 +1012,11 @@
     override public function set selectedItem(value:Object):void
     {
         selectedItemSet = true;
-
-        super.selectedItem = value
+
+        // We do not want to apply an implicit default index in this case.
+        implicitSelectedIndex = false;
+
+        super.selectedItem = value;
     }

     //----------------------------------