try to remove listeners when done and protect if not removed in time

--- frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
+++ frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
@@ -167,9 +167,14 @@
          */
         private function effectEndHandler(event:Event):void
         {
+            // in case of extraneous calls to effectEndHandler
+            if (transitionEffects == null)
+                return;
+
             var n:int = transitionEffects.length;
             for (var i:int = 0; i < n; i++)
             {
+                event.target.removeEventListener(Effect.EFFECT_END, effectEndHandler);
                 if (transitionEffects[i] == event.target)
                     transitionEffects.splice(i, 1);
             }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19131
Author:   egeorgie@adobe.com
Date:     2010-12-08T01:57:27.424504Z

Log Message:
-----------
Fix issues with density scaling and transitions.

In this change:
- apply the inverse concatenated matrix to the transition bitmap snapshot
- use faster version of the bitmap snapshot function - draw only once, no read-back from the bitmap data for bounds detection.

QE notes:
Doc notes:
Bugs:
Reviewer: Corey
Tests run: checkintests, manual testing
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/CrossFadeViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/CrossFadeViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/CrossFadeViewTransition.as
@@ -99,7 +99,7 @@

 		var oldVisibility:Boolean = endView.visible;
 		endView.visible = false;
-		cachedNavigator = getSnapshot(targetNavigator);
+		cachedNavigator = getSnapshot(targetNavigator, 0);
 		endView.visible = oldVisibility;
 	}


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

--- frameworks/projects/framework/src/mx/effects/Effect.as
+++ frameworks/projects/framework/src/mx/effects/Effect.as
@@ -346,7 +346,7 @@
     public function set customFilter(value:EffectTargetFilter):void
     {
         _customFilter = value;
-        mx_internal::filterObject = value;
+        filterObject = value;
     }

     //----------------------------------
@@ -376,10 +376,10 @@
      */
     public function get duration():Number
     {
-        if (!mx_internal::durationExplicitlySet &&
-            mx_internal::parentCompositeEffect)
-        {
-            return mx_internal::parentCompositeEffect.duration;
+        if (!durationExplicitlySet &&
+            parentCompositeEffect)
+        {
+            return parentCompositeEffect.duration;
         }
         else
         {
@@ -392,7 +392,7 @@
      */
     public function set duration(value:Number):void
     {
-        mx_internal::durationExplicitlySet = true;
+        durationExplicitlySet = true;
         _duration = value;
     }

@@ -489,9 +489,9 @@
                 case "add":
                 case "remove":
                 {
-                    mx_internal::filterObject =
+                    filterObject =
                         new AddRemoveEffectTargetFilter();
-                    AddRemoveEffectTargetFilter(mx_internal::filterObject).add =
+                    AddRemoveEffectTargetFilter(filterObject).add =
                         (value == "add");
                     break;
                 }
@@ -499,62 +499,62 @@
                 case "hide":
                 case "show":
                 {
-                    mx_internal::filterObject =
+                    filterObject =
                         new HideShowEffectTargetFilter();
-                    HideShowEffectTargetFilter(mx_internal::filterObject).show =
+                    HideShowEffectTargetFilter(filterObject).show =
                         (value == "show");
                     break;
                 }

                 case "move":
                 {
-                    mx_internal::filterObject =
+                    filterObject =
                         new EffectTargetFilter();
-                    mx_internal::filterObject.filterProperties =
+                    filterObject.filterProperties =
                         [ "x", "y" ];
                     break;
                 }

                 case "resize":
                 {
-                    mx_internal::filterObject =
+                    filterObject =
                         new EffectTargetFilter();
-                    mx_internal::filterObject.filterProperties =
+                    filterObject.filterProperties =
                         [ "width", "height" ];
                     break;
                 }

                 case "addItem":
                 {
-                    mx_internal::filterObject = new EffectTargetFilter();
-                    mx_internal::filterObject.requiredSemantics = {added:true};
+                    filterObject = new EffectTargetFilter();
+                    filterObject.requiredSemantics = {added:true};
                     break;
                 }

                 case "removeItem":
                 {
-                    mx_internal::filterObject = new EffectTargetFilter();
-                    mx_internal::filterObject.requiredSemantics = {removed:true};
+                    filterObject = new EffectTargetFilter();
+                    filterObject.requiredSemantics = {removed:true};
                     break;
                 }

                 case "replacedItem":
                 {
-                    mx_internal::filterObject = new EffectTargetFilter();
-                    mx_internal::filterObject.requiredSemantics = {replaced:true};
+                    filterObject = new EffectTargetFilter();
+                    filterObject.requiredSemantics = {replaced:true};
                     break;
                 }

                 case "replacementItem":
                 {
-                    mx_internal::filterObject = new EffectTargetFilter();
-                    mx_internal::filterObject.requiredSemantics = {replacement:true};
+                    filterObject = new EffectTargetFilter();
+                    filterObject.requiredSemantics = {replacement:true};
                     break;
                 }

                 default:
                 {
-                    mx_internal::filterObject = null;
+                    filterObject = null;
                     break;
                 }
             }
@@ -1063,10 +1063,10 @@
         var create:Boolean = true;
         var setPropsArray:Boolean = false;

-        if (mx_internal::propertyChangesArray)
+        if (propertyChangesArray)
         {
             setPropsArray = true;
-            create = filterInstance(mx_internal::propertyChangesArray,
+            create = filterInstance(propertyChangesArray,
                                     target);
         }

@@ -1078,13 +1078,13 @@

             if (setPropsArray)
             {
-                var n:int = mx_internal::propertyChangesArray.length;
+                var n:int = propertyChangesArray.length;
                 for (var i:int = 0; i < n; i++)
                 {
-                    if (mx_internal::propertyChangesArray[i].target == target)
+                    if (propertyChangesArray[i].target == target)
                     {
                         newInstance.propertyChanges =
-                            mx_internal::propertyChangesArray[i];
+                            propertyChangesArray[i];
                     }
                 }
             }
@@ -1175,19 +1175,19 @@
         // If we have a propertyChangesArray, capture the current values
         // if they haven't been captured already, strip out any unchanged
         // values, then apply the start values.
-        if (targets == null && mx_internal::propertyChangesArray != null)
+        if (targets == null && propertyChangesArray != null)
         {
             if (_callValidateNow)
                 LayoutManager.getInstance().validateNow();

             if (!endValuesCaptured)
-                mx_internal::propertyChangesArray =
-                    captureValues(mx_internal::propertyChangesArray, false);
-
-            mx_internal::propertyChangesArray =
-                stripUnchangedValues(mx_internal::propertyChangesArray);
-
-            applyStartValues(mx_internal::propertyChangesArray,
+                propertyChangesArray =
+                    captureValues(propertyChangesArray, false);
+
+            propertyChangesArray =
+                stripUnchangedValues(propertyChangesArray);
+
+            applyStartValues(propertyChangesArray,
                              this.targets);

             // Revalidate after applying the start values, to get everything
@@ -1341,8 +1341,8 @@
      */
     protected function filterInstance(propChanges:Array, target:Object):Boolean
     {
-        if (mx_internal::filterObject)
-            return mx_internal::filterObject.filterInstance(propChanges, effectTargetHost, target);
+        if (filterObject)
+            return filterObject.filterInstance(propChanges, effectTargetHost, target);

         return true;
     }
@@ -1360,7 +1360,7 @@
         if (targets.length > 0)
         {
             // Reset the PropertyChanges array by passing in 'null'
-            mx_internal::propertyChangesArray = captureValues(null, true);
+            propertyChangesArray = captureValues(null, true);

             _callValidateNow = true;
         }
@@ -1382,8 +1382,8 @@
             // make temporary PropertyChangesArray
             var additionalPropertyChangesArray:Array = captureValues(null, true);

-            mx_internal::propertyChangesArray =
-                mx_internal::propertyChangesArray.concat(additionalPropertyChangesArray);
+            propertyChangesArray =
+                propertyChangesArray.concat(additionalPropertyChangesArray);
         }
     }

@@ -1399,8 +1399,8 @@
     {
         // captureValues will create propertyChangesArray if it does not
         // yet exist
-        mx_internal::propertyChangesArray =
-            captureValues(mx_internal::propertyChangesArray, false);
+        propertyChangesArray =
+            captureValues(propertyChangesArray, false);
         endValuesCaptured = true;
     }

@@ -1425,10 +1425,10 @@
         }

         // Merge Effect.filterProperties and filterObject.filterProperties
-        var effectProps:Array = !mx_internal::filterObject ?
+        var effectProps:Array = !filterObject ?
                                 relevantProperties :
                                 mergeArrays(relevantProperties,
-                                mx_internal::filterObject.filterProperties);
+                                filterObject.filterProperties);

         var valueMap:Object;
         var target:Object;
@@ -1464,10 +1464,10 @@
             }
         }

-        var styles:Array = !mx_internal::filterObject ?
+        var styles:Array = !filterObject ?
                            relevantStyles :
                            mergeArrays(relevantStyles,
-                           mx_internal::filterObject.filterStyles);
+                           filterObject.filterStyles);

         if (styles && styles.length > 0)
         {
@@ -1804,7 +1804,7 @@
     {
         // Transitions should set the end values when done
         if (applyEndValuesWhenDone && !effectStopped)
-            applyEndValues(mx_internal::propertyChangesArray, targets);
+            applyEndValues(propertyChangesArray, targets);

         var instance:IEffectInstance = IEffectInstance(event.effectInstance);


Transferred from the Adobe Open Source Subversion Repository

Revision: 3138
Author:   chaase@adobe.com
Date:     2008-09-08T14:49:22.653537Z

Log Message:
-----------
Fixed SDK-16723. Added Inspectable tag to targets property to specify arrayType (Object). Also, modified ASDocs for target and targets to remove the UIComponent reference, since the new Flex4 effects can handle arbitrary objects as targets.

reviewed by Gordon
tests: checkintests

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/framework/src/mx/effects/IEffect.as</path>

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

--- frameworks/projects/framework/src/mx/effects/Effect.as
+++ frameworks/projects/framework/src/mx/effects/Effect.as
@@ -714,6 +714,8 @@
      */
     private var _targets:Array = [];

+    [Inspectable(arrayType="Object")]
+
     /**
      *  @copy mx.effects.IEffect#targets
      */


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 17381
Author:   hmuller@adobe.com
Date:     2010-08-19T14:22:46.288935Z

Log Message:
-----------
Fixed Grid/ensureCellIsVisible(): if necessary, iterate until the specified cell is visible.

QE notes:
Doc notes:
Bugs: SDK-27487
Reviewer: Carol
Tests run: checkin, mustella cyclone
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -31,7 +31,7 @@
     import spark.components.supportClasses.CellPosition;
     import spark.components.supportClasses.GridColumn;
     import spark.components.supportClasses.GridDimensions;
-    import spark.components.supportClasses.GridLayer;
+    import spark.components.supportClasses.GridLayer;
     import spark.components.supportClasses.GridLayout;
     import spark.components.supportClasses.GridSelection;
     import spark.components.supportClasses.GridSelectionMode;
@@ -2517,7 +2517,24 @@
         //
         //  GridLayout Cover Methods, Properties
         //
-        //--------------------------------------------------------------------------
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Update the scroll position so that the virtual Grid element at the specified
+         *  index is visible.   Note that getScrollPositionDeltaToElement() is only
+         *  approximate when variableRowHeight=true, so calling this method once will
+         *  not necessarily scroll far enough to expose the specified element.
+         */
+        private function scrollToIndex(elementIndex:int, scrollHorizontally:Boolean):void
+        {
+            var spDelta:Point = gridLayout.getScrollPositionDeltaToElement(elementIndex);
+            if (!spDelta)
+                return;  // the specified index is no longer valid, punt
+
+            if (scrollHorizontally)
+                horizontalScrollPosition += spDelta.x;
+            verticalScrollPosition += spDelta.y;
+        }

         /**
          *  If necessary, set the verticalScrollPosition and horizontalScrollPosition
@@ -2535,21 +2552,30 @@
          */
         public function ensureCellIsVisible(rowIndex:int, columnIndex:int = -1):void
         {
-            // be safe
-            if (rowIndex < 0)
+            if ((rowIndex < 0) || (rowIndex >= dataProvider.length))  // TBD check for invalid column
                 return;

             // A cell's index as defined by LayoutBase it's just its position
-            // in the row-major linear ordering of the grid's cells.
-
-            const index:int = (rowIndex * dataProvider.length) + ((columnIndex < 0) ? 0 : columnIndex);
-            var spDelta:Point = gridLayout.getScrollPositionDeltaToElement(index);
-            if (spDelta)
+            // in the row-major linear ordering of the grid's cells.
+
+            const elementIndex:int = (rowIndex * dataProvider.length) + ((columnIndex < 0) ? 0 : columnIndex);
+            const scrollHorizontally:Boolean = columnIndex != -1;
+
+            // Iterate until we've scrolled elementIndex at least partially into view.
+            do
             {
-                if (columnIndex >= 0)
-                    horizontalScrollPosition += spDelta.x;
-                verticalScrollPosition += spDelta.y;
+                scrollToIndex(elementIndex, scrollHorizontally);
+                if (variableRowHeight || scrollHorizontally)
+                    validateNow();
+                else
+                    break;  // fixed row heights, and we're only scrolling vertically
             }
+            while(!isCellVisible(rowIndex, columnIndex))
+
+            // At this point we've only ensured that the requested cell is at least
+            // partially visible.  Ensure that it's completely visible.
+
+            scrollToIndex(elementIndex, scrollHorizontally);
         }

         /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 12476
Author:   egeorgie@adobe.com
Date:     2009-12-04T00:44:38.712592Z

Log Message:
-----------
Fix http://bugs.adobe.com/jira/browse/SDK-23778 Make it easier to subclass List and override the item_mouseDownHandler() method

Problem: The method that contains the logic of calculating the new selection is private and hard to override.
Fix: Change it to protected calculateSelectedIndices().

QE notes: None
Doc notes: None
Bugs: SDK-23778
Reviewer: Deepa
Tests run: checkintests, mustella gumbo/components/List
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -319,14 +319,14 @@
      *  Used to track whether a drag operation should be initiated when the user
      *  drags further than a certain threshold.
      */
-    private var mouseDownPoint:Point;
+    mx_internal var mouseDownPoint:Point;

     /**
      *  @private
      *  The index of the element the mouse down event was received for. Used to
      *  track which is the "focus item" for a drag and drop operation.
      */
-    private var mouseDownIndex:int = -1;
+    mx_internal var mouseDownIndex:int = -1;

     /**
      *  @private
@@ -335,17 +335,17 @@
      *  intended to start a drag gesture instead. In that case we postpone
      *  comitting the selection until mouse up.
      */
-    private var pendingSelectionOnMouseUp:Boolean = false;
-
-    /**
-     *  @private
-     */
-    private var pendingSelectionShiftKey:Boolean;
-
-    /**
-     *  @private
-     */
-    private var pendingSelectionCtrlKey:Boolean;
+    mx_internal var pendingSelectionOnMouseUp:Boolean = false;
+
+    /**
+     *  @private
+     */
+    mx_internal var pendingSelectionShiftKey:Boolean;
+
+    /**
+     *  @private
+     */
+    mx_internal var pendingSelectionCtrlKey:Boolean;

     /**
      *  @private
@@ -1153,11 +1153,21 @@
     }

     /**
-     *  @private
-     *  Taking into account which modifier keys were clicked, the new
-     *  selectedIndices interval is calculated.
-     */
-    private function calculateSelectedIndicesInterval(index:int, shiftKey:Boolean, ctrlKey:Boolean):Vector.<int>
+     *  Helper method to calculate how the current selection changes when an item is clicked.
+     *
+     *  @param index The index of the item that has been clicked.
+     *  @param shiftKey True when the shift key is pressed.
+     *  @param ctrlKey True when the control key is pressed.
+     *  @return The updated item indices that the new selection will be committed to.
+     *
+     *  @see #selectedIndices
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    protected function calculateSelectedIndices(index:int, shiftKey:Boolean, ctrlKey:Boolean):Vector.<int>
     {
         var i:int;
         var interval:Vector.<int> = new Vector.<int>();
@@ -1456,7 +1466,7 @@
             }
             else
             {
-                selectedIndices = calculateSelectedIndicesInterval(newIndex, event.shiftKey, event.ctrlKey);
+                selectedIndices = calculateSelectedIndices(newIndex, event.shiftKey, event.ctrlKey);
             }
         }

@@ -1544,7 +1554,7 @@
         {
             if (allowMultipleSelection)
             {
-                selectedIndices = calculateSelectedIndicesInterval(mouseDownIndex, pendingSelectionShiftKey, pendingSelectionCtrlKey);
+                selectedIndices = calculateSelectedIndices(mouseDownIndex, pendingSelectionShiftKey, pendingSelectionCtrlKey);
             }
             else
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10131
Author:   chaase@adobe.com
Date:     2009-09-10T21:25:42.980194Z

Log Message:
-----------
Fixes to several effects bugs and one styles-related bug.

QE notes: Fixes to all filed auto-center feature bugs.
Doc notes: None
Bugs: sdk-22994, sdk-22992, sdk-22990, sdk-21850, sdk-22973
Reviewer: Jason (+Glenn for RadioButton/CheckBox changes, 21850)
Tests run: checkintests, Mustella (transform effects, Slider, DataGrid - all passed last week, prior to skin/test changes)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.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/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</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/framework/src/mx/core/UIComponent.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/controls/CheckBox.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale3D.as
+++ frameworks/projects/spark/src/spark/effects/Scale3D.as
@@ -322,9 +322,9 @@
         }
         else
         {
-            addPostLayoutMotionPath("postLayoutScaleX", scaleXFrom, scaleXTo, scaleXBy);
-            addPostLayoutMotionPath("postLayoutScaleY", scaleYFrom, scaleYTo, scaleYBy);
-            addPostLayoutMotionPath("postLayoutScaleZ", scaleZFrom, scaleZTo, scaleZBy);
+            addMotionPath("postLayoutScaleX", scaleXFrom, scaleXTo, scaleXBy);
+            addMotionPath("postLayoutScaleY", scaleYFrom, scaleYTo, scaleYBy);
+            addMotionPath("postLayoutScaleZ", scaleZFrom, scaleZTo, scaleZBy);
         }
         super.initInstance(instance);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12664
Author:   mhorn@adobe.com
Date:     2009-12-08T20:39:06.119601Z

Log Message:
-----------
asdoc updates; new examples; updated examples; bug fixes

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/RectangularDropShadowExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/LineExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/IGraphicElement.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/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Line.as
+++ frameworks/projects/spark/src/spark/primitives/Line.as
@@ -27,6 +27,8 @@
  *  the stroke, the line is invisible.</p>
  *
  *  @see mx.graphics.Stroke
+ *
+ *  @includeExample examples/LineExample.mxml
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -269,7 +271,7 @@
     }

     /**
-     * @inheritDoc
+     *  @inheritDoc
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 2697
Author:   gosmith@adobe.com
Date:     2008-07-31T23:15:11.855860Z

Log Message:
-----------
The bindability of a GraphicElement's 'width' and 'height' is now working.

The setActualSize() method of GraphicElement and Path needed to call dispatchPropertyChangeEvent() when the _width or _height is reassigned.

Reviewer: Evtim
Bug: MXMLG-199
QA: Please test 'width' and 'height' bindability on various kinds of GraphicElements, making sure to include Path.
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -557,14 +557,20 @@

         var w:Number = width;
         var h:Number = height;
+
         var bounds:Rectangle = getBounds();
+
         var bw:Number = bounds.width;
         var bh:Number = bounds.height;

         // Actual size is always the bounds size
+        var oldWidth:Number = _width;
+	    var oldHeight:Number = _height;
         _width = bw;
         _height = bh;
-
+        dispatchPropertyChangeEvent("width", oldWidth, _width);
+        dispatchPropertyChangeEvent("height", oldHeight, _height);
+
         // Make sure we don't divide by zero while calculating the scale
         if (bw == 0)
             bw = 1;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4894
Author:   hmuller@adobe.com
Date:     2009-02-07T17:17:54.948626Z

Log Message:
-----------
I10 Bug fixes: FxScroller mouse wheel scrolling, FxScrollerSkin.

QE Notes: Mustella tests pass
Doc Notes: None
Bugs:
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScrollerLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
@@ -0,0 +1,251 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+
+package mx.components
+{
+
+import mx.components.baseClasses.FxScrollBar;
+import mx.components.Group;
+import mx.core.ILayoutElement;
+import mx.core.IViewport;
+import mx.core.ScrollPolicy;
+import mx.layout.LayoutBase;
+import mx.layout.LayoutElementFactory;
+import mx.components.FxScroller;
+import mx.components.baseClasses.GroupBase;
+import mx.components.Skin;
+
+
+internal class FxScrollerLayout extends LayoutBase
+{
+    public function FxScrollerLayout()
+    {
+        super();
+    }
+
+    static private function LayoutElementFor(item:Object):ILayoutElement
+    {
+        return (item) ? LayoutElementFactory.getLayoutElementFor(item) : null;
+    }
+
+    private function getScroller():FxScroller
+    {
+        var g:Skin = target as Skin;
+        return (g) ? g.fxComponent as FxScroller : null;
+    }
+
+    /**
+     * @private
+     *  Computes the union of the preferred size of the visible
+     *  scrollbars and the viewport.
+     *
+     *  This becomes the ScrollerSkin's measuredWidth,Height.
+     *
+     *  The ScrollerSkin's minimum size is only big enough to
+     *  acccomodate the visible scrollbars.
+     *
+     *  The viewport does not contribute to the minimum size.
+     *
+     *  Note also: at updateDisplayList() time, we honor the vertical
+     *  scrollbar's minimum height, and the horizontal scrollbar's
+     *  minimum width.
+     */
+    override public function measure():void
+    {
+        var scroller:FxScroller = getScroller();
+        if (!scroller)
+            return;
+
+        var hsb:FxScrollBar = scroller.horizontalScrollBar;
+        var showHSB:Boolean = false;
+        switch(scroller.horizontalScrollPolicy) {
+            case ScrollPolicy.ON:
+                if (hsb) showHSB = true;
+                break;
+            case ScrollPolicy.AUTO:
+                if (hsb) showHSB = hsb.visible;
+                break;
+        }
+
+        var vsb:FxScrollBar = scroller.verticalScrollBar;
+        var showVSB:Boolean = false;
+        switch(scroller.verticalScrollPolicy) {
+           case ScrollPolicy.ON:
+                if (vsb) showVSB = true;
+                break;
+            case ScrollPolicy.AUTO:
+                if (vsb) showVSB = vsb.visible;
+                break;
+        }
+
+        var measuredW:Number = 0;
+        var measuredH:Number = 0;
+        var minW:Number = 0;
+        var minH:Number = 0;
+
+        var viewport:IViewport = scroller.viewport;
+        if (viewport)
+        {
+            var viewportElt:ILayoutElement = LayoutElementFor(viewport);
+            measuredW = viewportElt.getPreferredBoundsWidth();
+            measuredH = viewportElt.getPreferredBoundsHeight();
+        }
+
+        if (showHSB)
+        {
+            var hsbElt:ILayoutElement = LayoutElementFor(hsb);
+            measuredH += hsbElt.getPreferredBoundsHeight();
+            minW += hsbElt.getMinBoundsWidth();
+            minH += hsbElt.getMinBoundsHeight();
+        }
+        if (showVSB)
+        {
+            var vsbElt:ILayoutElement = LayoutElementFor(vsb);
+            measuredW += vsbElt.getPreferredBoundsWidth();
+            minW += vsbElt.getMinBoundsWidth();
+            minH += vsbElt.getMinBoundsHeight();
+        }
+
+        var g:GroupBase = target;
+        g.measuredWidth = measuredW;
+        g.measuredHeight = measuredH;
+        g.minWidth = minW;
+        g.minHeight = minH;
+    }
+
+    /**
+     *  @private
+     *  Arrange the viewport and scrollbars conventionally within
+     *  the specified width and height: vertical scrollbar on the
+     *  right, horizontal scrollbar along the bottom.
+     *
+     *  In other words, the Scroller's height will not
+     *  shrink below the vertical scrollbar's minimum height, and its
+     *  width will not shrink below the horizontal scrollbar's
+     *  minimum width.
+     *
+     *  The scrollbars are made visible if the viewport's content size is
+     *  bigger than the actual size.
+     *
+     *  If the visibility of either scrollbar changes we apply invalidateSize()
+     *  to the ScrollerSkin.
+     *
+     *  This causes new values for measuredWidth,Height to be computed, and
+     *  it causes the update process to be restarted.
+     *
+     *  Note also: the logic for calling updateDisplayList and then restarting
+     *  the process if the component has become invalid is in
+     *  mx.managers.LayoutManager::validateDisplayList.
+     *
+     */
+    override public function updateDisplayList(w:Number, h:Number):void
+    {
+        var scroller:FxScroller = getScroller();
+        if (!scroller)
+            return;
+
+        var viewport:IViewport = scroller.viewport;
+        var hsb:FxScrollBar = scroller.horizontalScrollBar;
+        var vsb:FxScrollBar = scroller.verticalScrollBar;
+        var hsbElt:ILayoutElement = LayoutElementFor(hsb);
+        var vsbElt:ILayoutElement = LayoutElementFor(vsb);
+
+        // Decide which scrollbars will be visible
+        var showHSB:Boolean = false;
+        var hAuto:Boolean = false;
+        switch(scroller.horizontalScrollPolicy) {
+            case ScrollPolicy.ON:
+                if (hsb) showHSB = true;
+                break;
+            case ScrollPolicy.AUTO:
+                if (hsb && viewport)
+                {
+                    showHSB = viewport.contentWidth > w;
+                    hAuto = true;
+                }
+                break;
+        }
+        var showVSB:Boolean = false;
+        var vAuto:Boolean = false;
+        switch(scroller.verticalScrollPolicy) {
+           case ScrollPolicy.ON:
+                if (vsb) showVSB = true;
+                break;
+            case ScrollPolicy.AUTO:
+                if (vsb && viewport)
+                {
+                    showVSB = viewport.contentHeight > h;
+                    vAuto = true;
+                }
+                break;
+        }
+
+        // Shrink the viewport's width,height for the visible scrollbars
+        var viewportH:Number = h;
+        var hsbH:Number = 0;
+        if (showHSB)
+        {
+            hsbH = hsbElt.getPreferredBoundsHeight();
+            viewportH -= hsbH;
+        }
+        var viewportW:Number = w;
+        var vsbW:Number = 0;
+        if (showVSB)
+        {
+            vsbW = vsbElt.getPreferredBoundsWidth();
+            viewportW -= vsbW;
+        }
+
+        // If the scrollBarPolicy is auto, and we're only showing one scrollbar,
+        // the viewport may have shrunk enough to require showing the other one.
+
+        if (showVSB && !showHSB && hAuto && (viewport.contentWidth > viewportW))
+        {
+            showHSB = true;
+            hsbH = hsbElt.getPreferredBoundsHeight();
+            viewportH -= hsbH;
+        }
+        else if (!showVSB && showHSB && vAuto && (viewport.contentHeight > viewportH))
+        {
+            showVSB = true;
+            vsbW = vsbElt.getPreferredBoundsWidth();
+            viewportW -= vsbW;
+        }
+
+        // layout the viewport
+        if (viewport)
+        {
+            var viewportElt:ILayoutElement = LayoutElementFor(viewport);
+            viewportElt.setLayoutBoundsSize(viewportW, viewportH);
+            viewportElt.setLayoutBoundsPosition(0,0);
+        }
+
+        // layout the scrollbars
+        if (hsb) hsb.visible = showHSB;
+        if (showHSB)
+        {
+            hsbElt.setLayoutBoundsSize(Math.max(hsbElt.getMinBoundsWidth(), viewportW), hsbH);
+            hsbElt.setLayoutBoundsPosition(0, h - hsbH);
+        }
+        if (vsb) vsb.visible = showVSB;
+        if (showVSB)
+        {
+            vsbElt.setLayoutBoundsSize(vsbW, Math.max(vsbElt.getMinBoundsHeight(), viewportH));
+            vsbElt.setLayoutBoundsPosition(w - vsbW, 0);
+        }
+
+        target.setContentSize(w, h);
+    }
+
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 6306
Author:   egeorgie@adobe.com
Date:     2009-04-28T01:17:42.359155Z

Log Message:
-----------
Layout PARB changes - rename "layout" package to "layouts"

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer:
tests: checkintests

Modified Paths:
--------------
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/BasicLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/BasicLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutElementHelper.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/RowAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/RowAlign.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/Block.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/Block.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/VerticalAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalAlign.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LinearLayoutVector.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBarHorizontalLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/HorizontalLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HGroup.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutBase.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/HorizontalAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VGroup.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/VerticalLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/ColumnAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/ColumnAlign.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileOrientation.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileOrientation.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
@@ -18,7 +18,7 @@

 import spark.components.Scroller;
 import spark.core.IViewport;
-import spark.layout.supportClasses.LayoutBase;
+import spark.layouts.supportClasses.LayoutBase;

 [ExcludeClass]


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

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

 package spark.effects.supportClasses
 {


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

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

 package mx.charts.chartClasses
 {


Utility method is null that evaluates even NaN numbers

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/ObjectUtil.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/ObjectUtil.as
@@ -25,5 +25,13 @@
 			}
 			return null;
 		}
-	}
+
+		public static function isNull(item:Object):Boolean {
+			return (item is Number && isNaN(Number(item))) || item == null;
+		}
+
+		public static function isNotNull(item:Object):Boolean {
+			return ! isNull(item);
+		}
+}
 }


fixed selection/probing bugs

fixed selection/probing bugs

Change-Id: I0665e1df73a5647eb268d0057c9c4692f2f75ca3

--- WeaveUISpark/src/weave/utils/SpatialIndex.as
+++ WeaveUISpark/src/weave/utils/SpatialIndex.as
@@ -204,7 +204,7 @@
 				{
 					//trace(key.keyType,key.localName,'(',_keysArrayIndex,'/',_keysArray.length,')');
 					// begin outer loop iteration
-					_boundsArray = getBoundsFromKey(key);
+					_boundsArray = _keyToBoundsMap[key];

 					if (!_boundsArray)
 						continue;
@@ -386,7 +386,7 @@
 						var genGeomIsPoint:Boolean = genGeom.isPoint();
 						var simplifiedGeom:Vector.<Vector.<BLGNode>> = genGeom.getSimplifiedGeometry(minImportance, dataBounds);

-						if (/*simplifiedGeom.length == 0 && */genGeom.bounds.overlaps(queryBounds))
+						if (simplifiedGeom.length == 0 && genGeom.bounds.overlaps(queryBounds))
 						{
 							result.push(key);
 							continue;
@@ -749,8 +749,7 @@
 			var queryGeomVertices:Array = geometry.getVertices();
 			var keys:Array = getKeysBoundingBoxOverlap((geometry as SimpleGeometry).bounds, filterBoundingBoxesByImportance ? minImportance : 0);

-			if (_keyToGeometriesMap == null || !Weave.properties.enableGeometryProbing.value)
-				return keys;
+			var geomEnabled:Boolean = _keyToGeometriesMap && Weave.properties.enableGeometryProbing.value;

 			var result:Array = [];

@@ -758,11 +757,11 @@
 			keyLoop: for (var i:int = keys.length; i--;)
 			{
 				var key:IQualifiedKey = keys[i];
-				var geoms:Array = _keyToGeometriesMap[key];
-
-				if (!geom || geoms.length == 0)
-				{
-					var keyBounds:Array = getBoundsFromKey(key);
+
+				var geoms:Array = geomEnabled ? _keyToGeometriesMap[key] : null;
+				if (!geoms || geoms.length == 0)
+				{
+					var keyBounds:Array = _keyToBoundsMap[key];
 					for (var j:int = 0; j < keyBounds.length; j++)
 					{
 						setTempBounds(keyBounds[j]);


color for class discrimination lines

color for class discrimination lines

--- WeaveUISpark/src/weave/visualization/plotters/AnchorPlotter.as
+++ WeaveUISpark/src/weave/visualization/plotters/AnchorPlotter.as
@@ -325,7 +325,7 @@
 				nextClassAnchor.y = Math.sin(nextClassPos);
 				dataBounds.projectPointTo(nextClassAnchor, screenBounds);

-				graphics.lineStyle(2, 2, .4);
+				graphics.lineStyle(2, 0xb8860B, .4);
 				//graphics.lineStyle(2,Math.random() * uint.MAX_VALUE);
 				classIncrementor ++;
 				graphics.moveTo(previousClassAnchor.x, previousClassAnchor.y);


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/automation/src/mx/automation/events/AutomationReplayEvent.as
+++ frameworks/projects/automation/src/mx/automation/events/AutomationReplayEvent.as
@@ -0,0 +1,172 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.events
+{
+
+	import flash.events.Event;
+	import mx.automation.IAutomationObject;
+
+	/**
+	 *  The AutomationReplayEvent class represents event objects that are dispatched
+	 *  by the AutomationManager, and used by the functional testing classes
+	 *  and any other classes that must replay user interactions.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class AutomationReplayEvent extends Event
+	{
+		include "../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class constants
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  The AutomationReplayEvent.REPLAY constant defines the value of the
+		 *  type property of the event object for a replay event.
+		 *
+		 *
The properties of the event object have the following values:

+		 *

+		 *
Property	Value

+		 *
automationObject	Delegate of the UIComponent
+		 *        that dispatched the interaction earlier.

+		 *
bubbles	false

+		 *
cancelable	false

+		 *
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.

+		 *
replayableEvent	Event that needs to be replayed.

+		 *
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 replay
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static const REPLAY:String = "replay";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 *
+		 *  @param type The event type; indicates the action that caused the event.
+		 *
+		 *  @param bubbles Whether the event can bubble up the display list hierarchy.
+		 *
+		 *  @param cancelable Whether the behavior associated with the event can be prevented.
+		 *
+		 *  @param automationObject Delegate of the UIComponent that dispatched the interaction earlier.
+		 *
+		 *  @param replayableEvent Event that needs to be replayed.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function AutomationReplayEvent(type:String = "replay",
+											  bubbles:Boolean = false,
+											  cancelable:Boolean = false,
+											  automationObject:IAutomationObject = null,
+											  replayableEvent:Event = null)
+		{
+			super(type, bubbles, cancelable);
+
+			this.automationObject = automationObject;
+			this.replayableEvent = replayableEvent;
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Properties
+		//
+		//--------------------------------------------------------------------------
+
+		//----------------------------------
+		//  automationObject
+		//----------------------------------
+
+		/**
+		 *  Delegate of the UIComponent object on which this event will be replayed
+		 *  since the target on an event that was not really dispatched
+		 *  is not available.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var automationObject:IAutomationObject;
+
+		//----------------------------------
+		//  replayableEvent
+		//----------------------------------
+
+		/**
+		 *  Event to the replayed.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var replayableEvent:Event;
+
+		//----------------------------------
+		//  succeeded
+		//----------------------------------
+
+		/**
+		 *  Contains true if the replay was successful, and false if not.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var succeeded:Boolean;
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods: Event
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function clone():Event
+		{
+			return new AutomationReplayEvent(type, bubbles, cancelable,
+				automationObject,
+				replayableEvent);
+		}
+	}
+
+}


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

--- frameworks/projects/mx/src/mx/effects/effectClasses/RemoveChildActionInstance.as
+++ frameworks/projects/mx/src/mx/effects/effectClasses/RemoveChildActionInstance.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.effects.effectClasses
 {


:tada: tetris works.. now to figure out why

--- index.as
+++ index.as
@@ -35,6 +35,7 @@
 let is_running = true;
 let CYCLES: uint8;
 let IME = false;
+let IME_pending = false;
 let PC: uint16 = 0;
 let IE: uint8;
 let IF: uint8;
@@ -140,15 +141,11 @@
     let licensee_0 = *(rom + 0x0144);
     let licensee_1 = *(rom + 0x0145);

-    if licensee_0 < 30 or licensee_0 > 39 or licensee_1 < 30 or licensee_1 > 39 {
-      printf("warn: unexpected (new) licensee code: %02X %02X\n", licensee_0, licensee_1);
-    }
-
-    licensee_0 -= 30;
-    licensee_1 -= 30;
-
-    licensee = licensee_1 | (licensee_0 << 4);
-  }
+    printf("warn: unexpected (new) licensee code: %02X %02X\n", licensee_0, licensee_1);
+  }
+
+  // CGB Flag
+  let cgb_mode = *(rom + 0x143);

   // SGB Flag
   let is_sgb = *(rom + 0x146) == 0x03;
@@ -181,6 +178,15 @@
   printf("%-20s : %s\n", "Title", rom_title);
   printf("%-20s : %02X\n", "Licensee", licensee);
   printf("%-20s : %d\n", "SGB", is_sgb);
+
+  if cgb_mode == 0x80 {
+    printf("%-20s : %s\n", "CGB", "compatible");
+  } else if cgb_mode == 0xC0 {
+    printf("%-20s : %s\n", "CGB", "require");
+  } else {
+    printf("%-20s : %s\n", "CGB", "no");
+  }
+
   printf("%-20s : %02X\n", "Cartridge", cart);
   printf("%-20s : %d\n", "ROM Size", rom_size);
   printf("%-20s : %d\n", "External RAM Size", ext_ram_size);
@@ -253,6 +259,10 @@

   // I/O Ports

+  // if address == 0xFF00 {
+  //   return joy_read(address);
+  // }
+
   if (address & 0xF0) >= 0x40 and (address & 0xF0) <= 0x70 {
     // GPU Register
     return gpu_read(address);
@@ -264,11 +274,11 @@
     return IF | 0xE0;
   } else if address == 0xFFFF {
     // IE – Interrupt Enable (R/W)
-    return IE;
-  }
-
-  // printf("warn: unhandled read from memory: $%04X\n", address);
-  return 0;
+    return IE | 0xE0;
+  }
+
+  printf("warn: unhandled read from memory: $%04X\n", address);
+  return 0xFF;
 }

 // Read 16-bits
@@ -311,28 +321,27 @@
     // GPU VRAM
     *(vram + (address & 0x1FFF)) = value;

-    // GPU –> Update Tile
-    gpu_update_tile(address, value);
-
     return;
   }

   // External RAM: $A000 – $BFFF
   if (address & 0xF000) <= 0xB000 {
-    printf("warn: unhandled write to external ram: $%04X ($%02X)\n", address, value);
+    // printf("warn: unhandled write to external ram: $%04X ($%02X)\n", address, value);
     return;
   }

   // Work RAM: $C000 – $DFFF
   // ECHO (of Work RAM): $E000 – $FDFF
   if (address & 0xF000) <= 0xD000 or address <= 0xFDFF {
+    // WRAM
     *(wram + (address & 0x1FFF)) = value;
     return;
   }

   // Sprite Attribute Table (OAM): $FE00 – $FE9F
   if (address >= 0xFE00) and (address <= 0xFE9F) {
-    *(oam + (address & 0xFF)) = value;
+    // TODO: OAM
+    // *(oam + (address & 0xFF)) = value;
     return;
   }

@@ -344,9 +353,15 @@

   // High RAM (HRAM): $FF80 – $FFFE
   if (address >= 0xFF80 and address <= 0xFFFE) {
+    // HRAM
     *(hram + ((address & 0xFF) - 0x80)) = value;
     return;
   }
+
+  // if address == 0xFF00 {
+  //   joy_write(address, value);
+  //   return;
+  // }

   // GPU Register
   if (address & 0xF0) >= 0x40 and (address & 0xF0) <= 0x70 {
@@ -384,7 +399,7 @@
     return;
   }

-  // printf("warn: unhandled write to memory: $%04X ($%02X)\n", address, value);
+  printf("warn: unhandled write to memory: $%04X ($%02X)\n", address, value);
   // exit(-1);
 }

@@ -1796,14 +1811,13 @@
     flag_set(FLAG_C, true);
   }

-  flag_set(FLAG_H, false);
-  // if flag_get(FLAG_N) {
-  //   if flag_get(FLAG_H) {
-  //     flag_set(FLAG_H, (*A & 0xF) <= 5);
-  //   }
-  // } else {
-  //   flag_set(FLAG_H, (*A & 0xF) > 9);
-  // }
+  if flag_get(FLAG_N) {
+    if flag_get(FLAG_H) {
+      flag_set(FLAG_H, (*A & 0xF) <= 5);
+    }
+  } else {
+    flag_set(FLAG_H, (*A & 0xF) > 9);
+  }

   *A = uint8(r & 0xFF);

@@ -2229,12 +2243,6 @@
   } else {
     HALT = true;
   }
-
-  // } else {
-  //   if (IE & IF & 0x1F) != 0 {
-  //
-  //   }
-  // }
 }

 // [77] LD (HL), A
@@ -2687,7 +2695,7 @@
   }

   // Set instruction time to the base/min
-  CYCLES = *(cycletable_CB + opcode);
+  CYCLES += *(cycletable_CB + opcode);

   // Execute instruction
   (*(optable_CB + opcode))();
@@ -2870,8 +2878,7 @@

 // [F0] LD A, ($FF00 + n)
 def op_F0() {
-  let n = uint16(mmu_next8());
-  *A = mmu_read8(0xFF00 + n);
+  *A = mmu_read8(0xFF00 + uint16(mmu_next8()));
 }

 // [F1] POP AF
@@ -2932,12 +2939,14 @@

 // [FB] EI
 def op_FB() {
-  IME = true;
+  IME_pending = true;
 }

 // [FE] CP n
-def op_FE() {
-  om_sub8(*A, mmu_next8());
+def op_FE()
+{
+  let n = mmu_next8();
+  om_sub8(*A, n);
 }

 // [FF] RST $38
@@ -4236,6 +4245,11 @@
   wram = malloc(0x2000);
   oam = malloc(160);
   hram = malloc(127);
+
+  // memset(vram, 0, 0x2000);
+  // memset(wram, 0, 0x2000);
+  // memset(oam, 0, 160);
+  // memset(hram, 0, 127);
 }

 def cpu_fini() {
@@ -4299,14 +4313,59 @@
 }

 def cpu_step(): uint8 {
-  // IF HALT; just return 4 (cycles)
-  if HALT {
-    if IME or (IE & IF & 0x1F) == 0 {
-      return 4;
-    } else {
-      HALT = false;
-    }
-  }
+  CYCLES = 0;
+
+  // // IF HALT; just return 4 (cycles)
+  // if HALT {
+  //   if IME or (IE & IF & 0x1F) == 0 {
+  //     return 4;
+  //   } else {
+  //     HALT = false;
+  //   }
+  // }
+  //
+  // // STEP -> Interrupts
+  // if IME and (IE > 0) and (IF > 0) {
+  //   om_push16(&PC);
+  //
+  //   if (IF & 0x01) != 0 and (IE & 0x01) != 0 {
+  //     // V-Blank
+  //     PC = 0x40;
+  //     IF &= ~0x01;
+  //   } else if (IF & 0x02) != 0 and (IE & 0x02) != 0 {
+  //     // LCD STAT
+  //     PC = 0x48;
+  //     IF &= ~0x02;
+  //   } else if (IF & 0x04) != 0 and (IE & 0x04) != 0 {
+  //     // Timer
+  //     PC = 0x50;
+  //     IF &= ~0x04;
+  //   } else if (IF & 0x08) != 0 and (IE & 0x08) != 0 {
+  //     // Serial
+  //     PC = 0x58;
+  //     IF &= ~0x08;
+  //   } else if (IF & 0x10) != 0 and (IE & 0x10) != 0 {
+  //     // Joypad
+  //     PC = 0x60;
+  //     IF &= ~0x10;
+  //   }
+  //
+  //   CYCLES += 20;
+  //   IME = false;
+  //
+  //   if HALT {
+  //     printf("disable halt (from interrupt)\n");
+  //
+  //     CYCLES += 4;
+  //     HALT = false;
+  //   }
+  // }
+  //
+  // if IME_pending {
+  //   // Re-enable IME
+  //   IME_pending = false;
+  //   IME = true;
+  // }

   // Get next opcode
   let opcode = mmu_next8();
@@ -4325,7 +4384,7 @@
   }

   // Set instruction time to the base/min
-  CYCLES = *(cycletable + opcode);
+  CYCLES += *(cycletable + opcode);

   // Execute instruction
   (*(optable + opcode))();
@@ -4354,6 +4413,11 @@
 let gpu_sprite_enable: bool;
 let gpu_bg_enable: bool;

+let gpu_stat_lyc_compare_enable: bool = false;
+let gpu_stat_oam_enable: bool = false;
+let gpu_stat_vblank_enable: bool = false;
+let gpu_stat_hblank_enable: bool = false;
+
 // 0=9800-9BFF, 1=9C00-9FFF
 let gpu_window_tm_select: bool;
 let gpu_bg_tm_select: bool;
@@ -4364,9 +4428,6 @@
 // 0=8x8, 1=8x16
 let gpu_sprite_size: bool;

-// Tiles (screen)
-let gpu_tiles: ***uint8;
-
 // Framebuffer
 let gpu_framebuffer: *uint8;
 let framebuffer: *uint32;
@@ -4384,76 +4445,11 @@

   framebuffer = malloc(160 * 144 * 4) as *uint32;
   memset(framebuffer as *uint8, 0, 160 * 144 * 4);
-
-  gpu_tiles = malloc(512 * 8) as ***uint8;
-  let i = 0;
-  while i < 512 {
-    *(gpu_tiles + i) = malloc(8 * 8) as **uint8;
-    let x = 0;
-    while x < 8 {
-      *(*(gpu_tiles + i) + x) = malloc(8);
-      memset(*(*(gpu_tiles + i) + x), 0, 8);
-      x += 1;
-    }
-    i += 1;
-  }
 }

 def gpu_fini() {
-  let i = 0;
-  while i < 512 {
-    let x = 0;
-    while x < 8 {
-      free(*(*(gpu_tiles + i) + x));
-      x += 1;
-    }
-    free(*(gpu_tiles + i) as *uint8);
-    i += 1;
-  }
-
-  free(gpu_tiles as *uint8);
   free(gpu_framebuffer);
   free(framebuffer as *uint8);
-}
-
-def gpu_update_tile(address: uint16, value: uint8) {
-  // VRAM is 0x8000 – 0x9FFF (0x0000 – 0x1FFF)
-  // Tile Data is 0x8000 – 0x17FF
-  address &= 0x1FFE;
-  if address > 0x17FF { return; }
-
-  // Determine the tile (and row of it)
-  let tile = (address >> 4) & 0x1FF;
-  let y = (address >> 1) & 0x7;
-
-  let x: uint8 = 0;
-  while x < 8 {
-    // Bit index for pixel
-    let sx: uint8 = 1 << (7 - x);
-
-    let n0 = *(vram + address);
-    let n1 = *(vram + address + 1);
-
-    let lo = if testb(n0, 7 - x) { 1; } else { 0; };
-    let hi = if testb(n1, 7 - x) { 2; } else { 0; };
-
-    let color = lo | hi;
-
-    if tile == 0 {
-      if value == 0 {
-        break;
-      }
-    }
-
-    // Update tile
-    // 0 = Off
-    // 1 = 33% On
-    // 2 = 66% On
-    // 3 = 100% On
-    *(*(*(gpu_tiles + tile) + y) + x) = uint8(color);
-
-    x += 1;
-  }
 }

 def gpu_reset() {
@@ -4466,11 +4462,11 @@
   // if not gpu_lcd_enable {
   //   return;
   // }
-  //
+
   // if gpu_window_enable {
   //   printf("WINDOW IS ENABLED\n");
   // }
-  //
+
   // if not gpu_bg_enable {
   //   // Background not enabled; turn off all pixels on this line
   //   // let i = 0;
@@ -4511,16 +4507,27 @@
     // Tile Map
     let tile: int16;
     if gpu_td_select {
-      tile = int16(uint8(*(vram + map + offset)));
+      tile = int16(*(vram + map + offset));
     } else {
       tile = int16(int8(*(vram + map + offset))) + 256;
     }

     // Tile Data
-    let pixel = *(*(*(gpu_tiles + tile) + y) + x);
+    // tile = 0;
+    let td_address: int16 = tile * 16 + int16(y) * 2;
+
+    // Make a bitmask for the pixel being rendered
+    let pixel_mask = 0x80 >> (x % 8);
+
+    // Check the color bits for that pixel
+    let palette_lo = if *(vram + td_address) & pixel_mask != 0 { 1; } else { 0; };
+    let palette_hi = if *(vram + td_address + 1) & pixel_mask != 0 { 1; } else { 0; };
+
+    // Combine them into a single index from 0 to 3
+    let palette_index = uint8((palette_hi << 1) | palette_lo);

     // Palette
-    let color = (gpu_palette >> (pixel * 2)) & 0x3;
+    let color = (gpu_palette >> (palette_index * 2)) & 0x3;

     // Push pixel to framebuffer
     *(gpu_framebuffer + (int64(gpu_line) * 160) + i) = color;
@@ -4553,7 +4560,7 @@
         0;
       };

-      *(framebuffer + (y * (160) + x)) = color;
+      *(framebuffer + (y * 160 + x)) = color;

       x += 1;
     }
@@ -4590,7 +4597,7 @@
         gpu_mode = 1;
         vblank_begin = true;

-        // TODO: VBLANK Interrupt
+        // VBLANK Interrupt
         IF |= 0x01;
       } else {
         gpu_mode = 2;
@@ -4609,7 +4616,7 @@
       } else {
         gpu_line += 1;
       }
-    } else if gpu_line == 153 {
+    } else if gpu_line == 153 and gpu_mode_clock >= 56 {
       gpu_line = 0;
     }
   }
@@ -4632,9 +4639,15 @@
     );
   } else if address == 0xFF41 {
     // STAT – LCDC Status (R/W)
-    // TODO: Status interrupt enable/disable
-    // TODO: Coincidence Interrupt (LYC / LY)
-    return uint8(gpu_mode);
+    return (
+      bit(true, 7) |
+      bit(gpu_stat_lyc_compare_enable, 6) |
+      bit(gpu_stat_oam_enable, 5) |
+      bit(gpu_stat_vblank_enable, 4) |
+      bit(gpu_stat_hblank_enable, 3) |
+      bit(gpu_line == gpu_line_compare, 2) |
+      uint8(gpu_mode)
+    );
   } else if address == 0xFF44 {
     // LY – LCDC Y-Coordinate (R)
     return gpu_line;
@@ -4661,6 +4674,12 @@
     gpu_sprite_size = testb(value, 2);
     gpu_sprite_enable = testb(value, 1);
     gpu_bg_enable = testb(value, 0);
+  } else if address == 0xFF41 {
+    // STAT – LCDC Status (R/W)
+    gpu_stat_lyc_compare_enable = testb(value, 6);
+    gpu_stat_oam_enable = testb(value, 5);
+    gpu_stat_vblank_enable = testb(value, 4);
+    gpu_stat_hblank_enable = testb(value, 3);
   } else if address == 0xFF42 {
     // SCY – Scroll Y (R/W)
     gpu_scy = value;
@@ -4674,29 +4693,60 @@
     // BGP – Background Palette (R/W)
     gpu_palette = value;
   } else {
-    // printf("warn: unhandled write to GPU register: $%04X ($%02X)\n",
-      // address, value);
-  }
-}
-
-def gpu_dump_tile(filename: str, tile: uint8) {
-  let stream = fopen(filename, "wb");
-
-  let y = 0;
-  while y < 8 {
-    let x = 0;
-    while x < 8 {
-      fprintf(stream, "%02x ",
-        *(*(*(gpu_tiles + tile) + y) + x)
-      );
-
-      x += 1;
-    }
-    fprintf(stream, "\n");
-    y += 1;
-  }
-
-  fclose(stream);
+    printf("warn: unhandled write to GPU register: $%04X ($%02X)\n",
+      address, value);
+  }
+}
+
+// =============================================================================
+// [IN] Input / Joypad
+// =============================================================================
+let joy_sel_button = false;
+let joy_sel_direction = false;
+
+def joy_reset() {
+  joy_sel_button = false;
+  joy_sel_direction = false;
+}
+
+def joy_write(address: uint16, value: uint8) {
+  if address == 0xFF00 {
+    joy_sel_button = not testb(value, 5);
+    joy_sel_direction = not testb(value, 4);
+  } else {
+    printf("warn: unhandled write to Joypad register: $%04X ($%02X)\n",
+      address, value);
+  }
+}
+
+def joy_read(address: uint16): uint8 {
+  if address == 0xFF00 {
+    // P1 – Joypad (R/W)
+    // Bit 7 - Not used
+    // Bit 6 - Not used
+    // Bit 5 - P15 Select Button Keys      (0=Select)
+    // Bit 4 - P14 Select Direction Keys   (0=Select)
+    // Bit 3 - P13 Input Down  or Start    (0=Pressed) (Read Only)
+    // Bit 2 - P12 Input Up    or Select   (0=Pressed) (Read Only)
+    // Bit 1 - P11 Input Left  or Button B (0=Pressed) (Read Only)
+    // Bit 0 - P10 Input Right or Button A (0=Pressed) (Read Only)
+
+    // NOTE: This is backwards logic to me. 0 = True ?
+
+    return (
+      bit(true, 7) |
+      bit(true, 6) |
+      bit(not joy_sel_button, 5) |
+      bit(not joy_sel_direction, 4) |
+      bit(true, 3) |
+      bit(true, 2) |
+      bit(true, 1) |
+      bit(true, 0)
+    );
+  } else {
+    printf("warn: unhandled read from Joypad register: $%04X\n", address);
+    return 0xFF;
+  }
 }

 // =============================================================================
@@ -4711,39 +4761,7 @@
     // STEP -> GPU
     let vblank_begin = gpu_step(cycles);

-    // STEP -> Interrupts
-    if IME and (IE > 0) and (IF > 0) {
-      SP -= 2;
-      mmu_write16(SP, PC);
-
-      if (IF & 0x01) != 0 and (IE & 0x01) != 0 {
-        // V-Blank
-        PC = 0x40;
-        IF &= ~0x01;
-      } else if (IF & 0x02) != 0 and (IE & 0x02) != 0 {
-        // LCD STAT
-        PC = 0x48;
-        IF &= ~0x02;
-      } else if (IF & 0x04) != 0 and (IE & 0x04) != 0 {
-        // Timer
-        PC = 0x50;
-        IF &= ~0x04;
-      } else if (IF & 0x08) != 0 and (IE & 0x08) != 0 {
-        // Serial
-        PC = 0x58;
-        IF &= ~0x08;
-      } else if (IF & 0x10) != 0 and (IE & 0x10) != 0 {
-        // Joypad
-        PC = 0x60;
-        IF &= ~0x10;
-      }
-
-      IME = false;
-    }
-
     if vblank_begin {
-      let begin = clock();
-
       // Rasterize framebuffer
       gpu_present();

@@ -4752,9 +4770,6 @@

       // Blit pixels
       sdl_render();
-
-      let end = clock();
-      let elapsed = float64(end - begin) / float64(CLOCKS_PER_SEC);
     }
   }
 }


changed names in requirement editor to be consistent with Character/Item/Plaque terms

--- editor/src/main/flex/org/arisgames/editor/util/AppConstants.as
+++ editor/src/main/flex/org/arisgames/editor/util/AppConstants.as
@@ -58,19 +58,19 @@
     public static const REQUIREMENT_PLAYER_HAS_ITEM_DATABASE:String = "PLAYER_HAS_ITEM";
     public static const REQUIREMENT_PLAYER_HAS_ITEM_HUMAN:String = "Player Has Item";
     public static const REQUIREMENT_PLAYER_DOES_NOT_HAVE_ITEM_DATABASE:String = "PLAYER_DOES_NOT_HAVE_ITEM";
-    public static const REQUIREMENT_PLAYER_DOES_NOT_HAVE_ITEM_HUMAN:String = "Player Does Not Have Item";
+    public static const REQUIREMENT_PLAYER_DOES_NOT_HAVE_ITEM_HUMAN:String = "Player Doesn't Have Item";
     public static const REQUIREMENT_PLAYER_VIEWED_ITEM_DATABASE:String = "PLAYER_VIEWED_ITEM";
     public static const REQUIREMENT_PLAYER_VIEWED_ITEM_HUMAN:String = "Player Viewed Item";
     public static const REQUIREMENT_PLAYER_HAS_NOT_VIEWED_ITEM_DATABASE:String = "PLAYER_HAS_NOT_VIEWED_ITEM";
-    public static const REQUIREMENT_PLAYER_HAS_NOT_VIEWED_ITEM_HUMAN:String = "Player Has Not Viewed Item";
+    public static const REQUIREMENT_PLAYER_HAS_NOT_VIEWED_ITEM_HUMAN:String = "Player Never Viewed Item";
     public static const REQUIREMENT_PLAYER_VIEWED_NODE_DATABASE:String = "PLAYER_VIEWED_NODE";
-    public static const REQUIREMENT_PLAYER_VIEWED_NODE_HUMAN:String = "Player Viewed Node";
+    public static const REQUIREMENT_PLAYER_VIEWED_NODE_HUMAN:String = "Player Viewed Plaque";
     public static const REQUIREMENT_PLAYER_HAS_NOT_VIEWED_NODE_DATABASE:String = "PLAYER_HAS_NOT_VIEWED_NODE";
-    public static const REQUIREMENT_PLAYER_HAS_NOT_VIEWED_NODE_HUMAN:String = "Player Has Not Viewed Node";
+    public static const REQUIREMENT_PLAYER_HAS_NOT_VIEWED_NODE_HUMAN:String = "Player Never Viewed Plaque";
     public static const REQUIREMENT_PLAYER_VIEWED_NPC_DATABASE:String = "PLAYER_VIEWED_NPC";
-    public static const REQUIREMENT_PLAYER_VIEWED_NPC_HUMAN:String = "Player Viewed NPC";
+    public static const REQUIREMENT_PLAYER_VIEWED_NPC_HUMAN:String = "Player Greeted By Character";
     public static const REQUIREMENT_PLAYER_HAS_NOT_VIEWED_NPC_DATABASE:String = "PLAYER_HAS_NOT_VIEWED_NPC";
-    public static const REQUIREMENT_PLAYER_HAS_NOT_VIEWED_NPC_HUMAN:String = "Player Has Not Viewed NPC";
+    public static const REQUIREMENT_PLAYER_HAS_NOT_VIEWED_NPC_HUMAN:String = "Player Never Greeted By Character";
     public static const REQUIREMENT_PLAYER_HAS_UPLOADED_MEDIA_ITEM_DATABASE:String = "PLAYER_HAS_UPLOADED_MEDIA_ITEM";
     public static const REQUIREMENT_PLAYER_HAS_UPLOADED_MEDIA_ITEM_HUMAN:String = "Player Has Uploaded Media Item";


more fixes to width/height handling

more fixes to width/height handling

--- frameworks/projects/Core/as/src/org/apache/flex/core/UIBase.as
+++ frameworks/projects/Core/as/src/org/apache/flex/core/UIBase.as
@@ -165,14 +165,6 @@
          */
 		public function get explicitWidth():Number
 		{
-			if (isNaN(_explicitWidth))
-			{
-				var value:* = ValuesManager.valuesImpl.getValue(this, "width");
-				if (value !== undefined) {
-					_explicitWidth = Number(value);
-				}
-			}
-
 			return _explicitWidth;
 		}

@@ -206,14 +198,6 @@
          */
         public function get explicitHeight():Number
 		{
-			if (isNaN(_explicitHeight))
-			{
-				var value:* = ValuesManager.valuesImpl.getValue(this, "height");
-				if (value !== undefined) {
-					_explicitHeight = Number(value);
-				}
-			}
-
 			return _explicitHeight;
 		}

@@ -482,9 +466,6 @@
                 return false;
             if (!isNaN(_percentWidth))
                 return false;
-            var value:* = ValuesManager.valuesImpl.getValue(this, "width");
-            if (value !== undefined)
-                return false;
             var left:* = ValuesManager.valuesImpl.getValue(this, "left");
             var right:* = ValuesManager.valuesImpl.getValue(this, "right");
             return (left === undefined || right === undefined);
@@ -504,9 +485,6 @@
             if (!isNaN(_explicitHeight))
                 return false;
             if (!isNaN(_percentHeight))
-                return false;
-            var value:* = ValuesManager.valuesImpl.getValue(this, "height");
-            if (value !== undefined)
                 return false;
             var top:* = ValuesManager.valuesImpl.getValue(this, "top");
             var bottom:* = ValuesManager.valuesImpl.getValue(this, "bottom");
@@ -895,30 +873,33 @@
         {
             var c:Class;

-			if (isNaN(_width)) {
+			if (isNaN(_width) && isNaN(_percentWidth))
+            {
 				var value:* = ValuesManager.valuesImpl.getValue(this,"width");
-				if (value !== undefined) {
-					var s:String = String(value);
-					var lastChar:String = s.substr(s.length-1,s.length);
-					if (lastChar == "%") {
-						_percentWidth = Number(s);
-					}
-					else {
-						_width = Number(s);
-					}
+				if (value !== undefined)
+                {
+					if (value is String)
+                    {
+                        var s:String = String(value);
+    					_percentWidth = Number(s.substring(0, s.length - 1));
+                    }
+					else
+						_width = value as Number;
 				}
 			}

-			if (isNaN(_height)) {
+			if (isNaN(_height) && isNaN(_percentHeight))
+            {
 				value = ValuesManager.valuesImpl.getValue(this,"height");
-				if (value !== undefined) {
-					s = String(value);
-					lastChar = s.substr(s.length-1,s.length);
-					if (lastChar == "%") {
-						_percentHeight = Number(s);
-					} else {
-						_height = Number(s);
-					}
+				if (value !== undefined)
+                {
+                    if (value is String)
+                    {
+    					s = String(value);
+						_percentHeight = Number(s.substring(0, s.length - 1));
+					}
+                    else
+						_height = value as Number;
 				}
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 9857
Author:   jimurphy@adobe.com
Date:     2009-09-01T01:02:58.854673Z

Log Message:
-----------
Merged 3.x revisions 9543,9658,9748,9837 -> trunk

checkintests: pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/OrderedProperties.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>

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

--- frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
+++ frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
@@ -12,6 +12,7 @@
 package mx.core
 {

+import flash.display.LoaderInfo;
 import flash.display.MovieClip;
 import flash.events.ErrorEvent;
 import flash.events.Event;
@@ -576,7 +577,8 @@
     private function rslCompleteHandler(event:Event):void
     {
         var rsl:RSLItem = rslListLoader.getItem(rslListLoader.getIndex());
-        preloadedRSLs[event.target] = rsl.urlRequest.url;
+        if (event.target is LoaderInfo)
+            preloadedRSLs[event.target] = rsl.urlRequest.url;
         update();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4009
Author:   jimurphy@adobe.com
Date:     2008-11-04T15:10:34.970681Z

Log Message:
-----------
Merged alpha_gumbo revisions 3929,3936-3937,3945,3956,3971,3986,3994,4002,4006 -> trunk

Modified Paths:
--------------
<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/flex4/src/mx/graphics/BitmapGraphic.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/flex4/src/mx/effects/FxRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/flash_component_icon.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffectInstance.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/utilities/src/flash_container_icon_small.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.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/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/TweenEffectInstance.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ResizeMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/flash_container_icon.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffect.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/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/flash_component_icon_small.png</path>

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

--- frameworks/projects/framework/src/mx/effects/EffectInstance.as
+++ frameworks/projects/framework/src/mx/effects/EffectInstance.as
@@ -512,6 +512,11 @@
     //
     //--------------------------------------------------------------------------

+    public function seek(seekTime:Number):void
+    {
+        // Nothing to do for non-animated effects
+    }
+
     /**
      *  @copy mx.effects.IEffectInstance#initEffect()
      */


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

--- frameworks/projects/framework/src/mx/effects/EffectInstance.as
+++ frameworks/projects/framework/src/mx/effects/EffectInstance.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
 {


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

--- frameworks/projects/framework/src/mx/effects/EffectInstance.as
+++ frameworks/projects/framework/src/mx/effects/EffectInstance.as
@@ -43,6 +43,11 @@
  *  for their custom effects.

  *
  *  @see mx.effects.Effect
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class EffectInstance extends EventDispatcher implements IEffectInstance
 {
@@ -58,6 +63,11 @@
      *  Constructor.
      *
      *  @param target UIComponent object to animate with this effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function EffectInstance(target:Object)
     {
@@ -114,6 +124,11 @@

     /**
      *  Number of times that the instance has been played.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var playCount:int = 0;

@@ -158,6 +173,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#className
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get className():String
     {
@@ -178,6 +198,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#duration
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get duration():Number
     {
@@ -213,6 +238,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#effect
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get effect():IEffect
     {
@@ -240,6 +270,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#effectTargetHost
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get effectTargetHost():IEffectTargetHost
     {
@@ -266,6 +301,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#hideFocusRing
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get hideFocusRing():Boolean
     {
@@ -294,6 +334,11 @@
      *  This value is between 0 and the value of the
      *  duration property.
      *  Use the seek() method to change the position of the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get playheadTime():Number
     {
@@ -342,6 +387,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#propertyChanges
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get propertyChanges():PropertyChanges
     {
@@ -368,6 +418,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#repeatCount
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get repeatCount():int
     {
@@ -394,6 +449,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#repeatDelay
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get repeatDelay():int
     {
@@ -420,6 +480,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#startDelay
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get startDelay():int
     {
@@ -446,6 +511,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#suspendBackgroundProcessing
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get suspendBackgroundProcessing():Boolean
     {
@@ -472,6 +542,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#target
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get target():Object
     {
@@ -498,6 +573,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#triggerEvent
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get triggerEvent():Event
     {
@@ -525,6 +605,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#initEffect()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function initEffect(event:Event):void
     {
@@ -553,6 +638,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#startEffect()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function startEffect():void
     {
@@ -578,6 +668,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#play()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function play():void
     {
@@ -593,6 +688,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#pause()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function pause():void
     {
@@ -605,6 +705,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#stop()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function stop():void
     {
@@ -624,6 +729,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#resume()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function resume():void
     {
@@ -636,6 +746,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#reverse()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function reverse():void
     {
@@ -645,6 +760,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#end()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function end():void
     {
@@ -656,6 +776,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#finishEffect()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function finishEffect():void
     {
@@ -680,6 +805,11 @@

     /**
      *  @copy mx.effects.IEffectInstance#finishRepeat()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function finishRepeat():void
     {


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

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