Transferred from the Adobe Open Source Subversion Repository

Revision: 5028
Author:   egeorgie@adobe.com
Date:     2009-02-21T00:02:17.627601Z

Log Message:
-----------
IGraphicElement interface clean-up and optimizations.
Animating a GraphicElement that doesn't share the Group's DO should be now faster and smoother since redrawing it won't redraw the Group anymore.

1. Group doesn't always clear the first sequence of display objects now
2. Moved the shared DO logic almost entirely into Group
3. More granular invalidation for GraphicElements

QE Notes: Make sure we have test that count the number of display objects for a given set of graphic elements and a group
Doc Notes:
Bugs: None
Reviewer: Glenn, Ryan, Jason
tests: None

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/InvalidatingSprite.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/BitmapGraphic.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/ISharedDisplayObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/IGraphicElement.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/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/ISharedGraphicsDisplayObject.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -272,7 +272,7 @@
             layoutFeatures.updatePending = true;

         // If we are sharing a display object we need to redraw
-        if (!displayObject || !nextSiblingNeedsDisplayObject)
+        if (shareIndex >= 0)
             invalidateDisplayList();
         else
             invalidateProperties(); // We apply the transform in commitProperties
@@ -280,7 +280,7 @@
         // Trigger a layout pass
         if (triggerLayout)
             invalidateParentSizeAndDisplayList();
-    }
+        }

     /**
      * @private
@@ -502,19 +502,9 @@
     /**
      *  @inheritDoc
      */
-    public function parentChanged(value:DisplayObjectContainer):void
-    {
-        // Should I check to make sure it's a Group here?
-        if (_parent !== value)
-        {
-            _parent = value;
-            if (_parent && _parent is IInvalidating)
-            {
-                IInvalidating(_parent).invalidateProperties();
-                IInvalidating(_parent).invalidateSize();
-                IInvalidating(_parent).invalidateDisplayList();
-            }
-        }
+    public function parentChanged(value:Group):void
+    {
+        _parent = value;
     }

     //----------------------------------
@@ -1575,7 +1565,7 @@
         _transform = value;
     }

-	/**
+    /**
 	 * A utility method to update the rotation and scale of the transform while keeping a particular point, specified in the component's own coordinate space,
 	 * fixed in the parent's coordinate space.  This function will assign the rotation and scale values provided, then update the x/y/z properties
 	 * as necessary to keep tx/ty/tz fixed.
@@ -1908,14 +1898,8 @@
             return;

         _visible = value;
-
         visibleChanged = true;
-
         invalidateProperties();
-
-        // TODO: This is a quick fix for MXMLG-228. We should
-        // investigate a better solution.
-        notifyElementLayerChanged();
     }

     //--------------------------------------------------------------------------
@@ -1964,11 +1948,11 @@
         dispatchPropertyChangeEvent("displayObject", oldValue, value);

         // We need to apply the display object related properties.
-        displayObjectChanged = true;
-        invalidateProperties();
-
-        // New display object, we need to redraw
-        invalidateDisplayList();
+        if (shareIndex <= 0)
+        {
+            displayObjectChanged = true;
+            invalidateProperties();
+        }
     }

     //--------------------------------------------------------------------------
@@ -1986,17 +1970,19 @@
      */
     protected function get drawX():Number
     {
-    	// If we have a display object and we might be shared, the display object
-    	// gets moved to 0,0. Otherwise, use the x position plus the offset.
-    	// (Note that in the first case, the offset is already calculated when the
-    	// layout matrix is applied to the display object).
-    	if (displayObject != null && nextSiblingNeedsDisplayObject)
-    		return 0;
-        if(layoutFeatures != null && layoutFeatures.offsets != null)
+        // If we don't share the display object, we will draw at 0,0
+        // since the display object will be positioned at x,y
+        if (shareIndex == -1)
+            return 0;
+
+        // Otherwise we draw at x,y since the display object will be
+        // positioned at 0,0
+        if (layoutFeatures != null && layoutFeatures.offsets != null)
             return x + layoutFeatures.offsets.x;
-		return x;
-    }
-
+
+        return x;
+    }
+
     //----------------------------------
     //  drawY
     //----------------------------------
@@ -2006,14 +1992,16 @@
      */
     protected function get drawY():Number
     {
-    	// If we have a display object and we might be shared, the display object
-    	// gets moved to 0,0. Otherwise, use the x position plus the offset.
-    	// (Note that in the first case, the offset is already calculated when the
-    	// layout matrix is applied to the display object).
-    	if (displayObject != null && nextSiblingNeedsDisplayObject)
-    		return 0;
-        if(layoutFeatures != null && layoutFeatures.offsets != null)
-            return y + layoutFeatures.offsets.y;
+        // If we don't share the display object, we will draw at 0,0
+        // since the display object will be positioned at x,y
+        if (shareIndex == -1)
+            return 0;
+
+        // Otherwise we draw at x,y since the display object will be
+        // positioned at 0,0
+        if (layoutFeatures != null && layoutFeatures.offsets != null)
+            return y + layoutFeatures.offsets.y;
+
         return y;
     }

@@ -2063,33 +2051,7 @@
      */
     public function createDisplayObject():DisplayObject
     {
-        if (displayObject)
-            return displayObject;
-
-        displayObject = new InvalidatingSprite();
-        InvalidatingSprite(displayObject).invalid = true;
-
-        sharedDisplayObject = null;
-
-        return displayObject;
-    }
-
-
-    /**
-     *  @inheritDoc
-     */
-    public function destroyDisplayObject():DisplayObject
-    {
-        // TODO!! Figure out what cleanup to do
-        var oldDisplayObject:DisplayObject;
-
-        if (displayObject)
-        {
-            oldDisplayObject = displayObject;
-            displayObject = null;
-        }
-
-        return oldDisplayObject;
+        return new InvalidatingSprite();
     }

     private var _alwaysCreateDisplayObject:Boolean;
@@ -2112,72 +2074,67 @@
     }

     /**
-     *  @inheritDoc
-     */
-    public function get needsDisplayObject():Boolean
+     *  Documentation is not currently available.
+     */
+    protected function get needsDisplayObject():Boolean
     {
         var result:Boolean = (alwaysCreateDisplayObject ||
-		(_filters && _filters.length > 0) ||
+        (_filters && _filters.length > 0) ||
             _blendMode != BlendMode.NORMAL || _mask ||
             (layoutFeatures != null && (layoutFeatures.layoutScaleX != 1 || layoutFeatures.layoutScaleY != 1 || layoutFeatures.layoutScaleZ != 1 ||
             layoutFeatures.layoutRotationX != 0 || layoutFeatures.layoutRotationY != 0 || layoutFeatures.layoutRotationZ != 0 ||
             layoutFeatures.layoutZ  != 0)) ||
             _colorTransform != null ||
-            _alpha != 1 ||
-            layer != 0);
-
+            _alpha != 1);
+
         if(layoutFeatures != null && layoutFeatures.offsets != null)
         {
             var o:TransformOffsets = layoutFeatures.offsets;
             result = result || (o.scaleX != 1 || o.scaleY != 1 || o.scaleZ != 1 ||
             o.rotationX != 0 || o.rotationY != 0 || o.rotationZ != 0 || o.z  != 0);
         }
-
+
         return result;
     }

     /**
      *  @inheritDoc
      */
-    public function get nextSiblingNeedsDisplayObject():Boolean
-    {
-        // TODO: The displayObject && visible test is a quick fix for MXMLG-228.
-        // Should investigate a better solution.
-        return needsDisplayObject || (displayObject && visible == false);
-    }
-
-    private var _sharedDisplayObject:DisplayObject;
-
-    /**
-     *  @inheritDoc
-     */
-    public function set sharedDisplayObject(value:DisplayObject):void
-    {
-    	if (value !== _sharedDisplayObject)
-    	{
-    		if (_sharedDisplayObject is InvalidatingSprite)
-    			InvalidatingSprite(_sharedDisplayObject).invalid = true;
-        	_sharedDisplayObject = value;
-        	// Invalidate the old _sharedDisplayObject before reassigning it to value
-        	// This should handle the case where value == null (ie. we are no longer sharing)
-        	// Also, instead of setting invalid flag, simply call invalidateDisplayList
-        	invalidateDisplayList();
-     	}
-    }
-
-    /**
-     *  @private
-     */
-    public function get sharedDisplayObject():DisplayObject
-    {
-        return _sharedDisplayObject;
-    }
-
+    public function canDrawToShared(sharedDisplayObject:DisplayObject):Boolean
+    {
+        return !needsDisplayObject && sharedDisplayObject is ISharedGraphicsDisplayObject;
+    }
+
+    /**
+     *  @inheritDoc
+     */
+    public function closeSequence():Boolean
+    {
+        return false;
+    }
+
+    private var _shareIndex:int;
+
+    /**
+     *  @inheritDoc
+     */
+    public function set shareIndex(value:int):void
+    {
+        _shareIndex = value;
+    }
+
+    /**
+     *  @private
+     */
+    public function get shareIndex():int
+    {
+        return _shareIndex;
+    }
+
     protected function get drawnDisplayObject():DisplayObject
     {
     	// _drawnDisplayObject is non-null if we needed to create a mask
-        return _drawnDisplayObject ? _drawnDisplayObject :
-        							 (displayObject ? displayObject : sharedDisplayObject);
+        return _drawnDisplayObject ? _drawnDisplayObject : displayObject;
     }

     /**
@@ -2202,46 +2159,45 @@
     public function getBitmapData(transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF, useLocalSpace:Boolean = true):BitmapData
     {
         if (!layoutFeatures || !layoutFeatures.is3D)
-        {
-			var restoreDisplayObject:Boolean = false;
-			var oldDisplayObject:DisplayObject;
-
-	        if (!displayObject || !nextSiblingNeedsDisplayObject)
-	        {
-	        	restoreDisplayObject = true;
-	        	oldDisplayObject = displayObject;
-	        	displayObject = new InvalidatingSprite();
-	        	UIComponent(parent).$addChild(displayObject);
-	            invalidateDisplayList();
-	            validateDisplayList();
-	        }
-
-	        var topLevel:Sprite = Sprite(IUIComponent(parent).systemManager);
-	    	var rectBounds:Rectangle = displayObject.getBounds(useLocalSpace ? displayObject.parent : topLevel);
-	        var bitmapData:BitmapData = new BitmapData(rectBounds.width, rectBounds.height, transparent, fillColor);
-
-	        var m:Matrix = useLocalSpace ? displayObject.transform.matrix : displayObject.transform.concatenatedMatrix;
-
+        {
+            var restoreDisplayObject:Boolean = false;
+            var oldDisplayObject:DisplayObject;
+
+            if (!displayObject || shareIndex != -1)
+            {
+                restoreDisplayObject = true;
+                oldDisplayObject = displayObject;
+                displayObject = new InvalidatingSprite();
+                UIComponent(parent).$addChild(displayObject);
+                invalidateDisplayList();
+                validateDisplayList();
+            }
+
+            var topLevel:Sprite = Sprite(IUIComponent(parent).systemManager);
+            var rectBounds:Rectangle = displayObject.getBounds(useLocalSpace ? displayObject.parent : topLevel);
+            var bitmapData:BitmapData = new BitmapData(rectBounds.width, rectBounds.height, transparent, fillColor);
+
+            var m:Matrix = useLocalSpace ? displayObject.transform.matrix : displayObject.transform.concatenatedMatrix;
+
             if (m)
                 m.translate(-rectBounds.x, -rectBounds.y);
-
-	        bitmapData.draw(displayObject, m);
+
+            bitmapData.draw(displayObject, m);

-			if (restoreDisplayObject)
-			{
-				UIComponent(parent).$removeChild(displayObject);
-            	displayObject = oldDisplayObject;
-			}
-        	return bitmapData;
+            if (restoreDisplayObject)
+            {
+                UIComponent(parent).$removeChild(displayObject);
+                displayObject = oldDisplayObject;
+            }
+            return bitmapData;

         }
         else
         {
-        	return get3DSnapshot(transparent, fillColor, useLocalSpace);
-        }
-
-    }
-
+            return get3DSnapshot(transparent, fillColor, useLocalSpace);
+        }
+    }
+
    /**
      *  @private
      *  Returns a bitmap snapshot of a 3D transformed displayObject. Since BitmapData.draw ignores
@@ -2254,7 +2210,7 @@
     	var topLevel:Sprite = Sprite(IUIComponent(parent).systemManager);
     	var dispObjParent:DisplayObjectContainer = displayObject.parent;
     	var drawSprite:Sprite = new Sprite();
-
+
     	// Get the visual bounds of the target in both local and global coordinates
         var topLevelRect:Rectangle = displayObject.getBounds(topLevel);
         var displayObjectRect:Rectangle = displayObject.getBounds(dispObjParent);
@@ -2283,11 +2239,11 @@
 		{
 	        newMat3D.position = globalMat3D.position;
 	        displayObject.transform.matrix3D = newMat3D;
-  		}
+        }
   		else
   		{
   			displayObject.transform.matrix3D = globalMat3D;
-  		}
+    }
         // Translate the bitmap so that the left-top bounds ends up at (0,0)
 		var m:Matrix = new Matrix();
 		m.translate(-topLevelRect.left, - topLevelRect.top);
@@ -2353,18 +2309,12 @@

     }

-    // TODO EGeorgie: can we use the standart IInvalidating methods instead of
-    // notifyElementLayerChanged()?
-
     /**
      *  Utility method that notifies the host that this element has changed and needs
      *  its layer to be updated.
      */
     protected function notifyElementLayerChanged():void
     {
-        // TODO EGeorgie: figure this out. For now, invalidateDisplayList
-        // to preseve original behavior before layout API unification.
-        invalidateDisplayList();
         if (parent)
             Group(parent).graphicElementLayerChanged(this);
     }
@@ -2383,9 +2333,8 @@
             return;
         invalidatePropertiesFlag = true;

-        // TODO EGeorgie: hook up directly with the layout manager?
-        if (parent && parent is IInvalidating)
-            IInvalidating(parent).invalidateProperties();
+        if (parent)
+            Group(parent).graphicElementPropertiesChanged(this);
     }

     /**
@@ -2405,7 +2354,6 @@
             return;
         invalidateSizeFlag = true;

-        // TODO EGeorgie: hook up directly with the layout manager?
         if (parent)
             Group(parent).graphicElementSizeChanged(this);
     }
@@ -2437,18 +2385,12 @@
      */
     public function invalidateDisplayList():void
     {
-    	// Mark all elements that share the display object as invalid.
-    	// Always set this because we might already be invalid when
-    	// the drawnDisplayObject is set
-		if (drawnDisplayObject is InvalidatingSprite)
-			InvalidatingSprite(drawnDisplayObject).invalid = true;
-
         if (invalidateDisplayListFlag)
             return;
-
         invalidateDisplayListFlag = true;

-        // TODO EGeorgie: hook up directly with the layout manager?
+        // The Group will take care of redrawing all graphic elements that
+        // share the display object with this element.
         if (parent)
             Group(parent).graphicElementChanged(this);
     }
@@ -2508,7 +2450,9 @@
     {
         //trace("GraphicElement.commitProperties displayObject",displayObject,"this",this);
         var updateTransform:Boolean = false;
-        if (displayObject)
+
+        // If we are the first in the sequence, setup the displayObject properties
+        if (shareIndex <= 0 && displayObject)
         {
             if (alphaChanged || displayObjectChanged)
             {
@@ -2587,27 +2531,27 @@
                 maskTypeChanged = false;
                 applyMaskType();
             }
-
-            if (visibleChanged || displayObjectChanged)
-            {
-                visibleChanged = false;
+
+            // If we don't share the DisplayObject, set the property directly.
+            if (displayObjectChanged && shareIndex == -1)
                 displayObject.visible = _visible;
-            }
-
+
             updateTransform = true;
             displayObjectChanged = false;
         }
-        else
+
+        if (visibleChanged)
         {
-            if (visibleChanged)
-            {
-                visibleChanged = false;
-
-                // If we're sharing a display list, we need to force a redraw
-                // to change visibility.
+            visibleChanged = false;
+
+            // If we don't share the DisplayObject, set the property directly,
+            // otherwise redraw.
+            if (shareIndex == -1)
+                displayObject.visible = _visible;
+            else
                 invalidateDisplayList();
-            }
-        }
+        }
+
         if ((layoutFeatures == null || layoutFeatures.updatePending) ||
             updateTransform)
         {
@@ -2760,10 +2704,15 @@
         {
             applyComputedTransform();
         }
-
+
+        // TODO EGeorgie: don't clear the graphics if the GraphicElement is invisible and explicitly owns the DO?
+        // If we are the first in the sequence, clear the graphics:
+        if (shareIndex <= 0)
+            ISharedGraphicsDisplayObject(drawnDisplayObject).graphics.clear();
+
         if (visible)
             updateDisplayList(_width, _height);
-
+
         // If we aren't doing any more invalidation, send out an UpdateComplete event
         if (!invalidatePropertiesFlag && !invalidateSizeFlag && !invalidateDisplayListFlag && wasInvalid)
             dispatchUpdateComplete();
@@ -3170,16 +3119,17 @@
      *  Applies the transform to the DisplayObject.
      */
     protected function applyComputedTransform():void
-    {
-        if(layoutFeatures != null)
+    {
+        if (layoutFeatures != null)
 	        layoutFeatures.updatePending = false;

-        if(displayObject == null)
+        // Only the first elment in the sequence updates the transform
+        if (shareIndex > 0 || !displayObject)
             return;

-        if(layoutFeatures != null)
+        if (layoutFeatures != null)
         {
-	        if(layoutFeatures.is3D)
+	        if (layoutFeatures.is3D)
 	        {
 	            displayObject.transform.matrix3D = layoutFeatures.computedMatrix3D;
 	        }
@@ -3187,7 +3137,7 @@
 	        {
 	        	var m:Matrix = layoutFeatures.computedMatrix.clone();
 	        	// If the displayObject is shared, then put it at 0,0
-	        	if (!nextSiblingNeedsDisplayObject)
+	        	if (shareIndex == 0)
 	        	{
 	        		m.tx = 0;
 	        		m.ty = 0;
@@ -3198,15 +3148,15 @@
         else
         {
         	// If the displayObject is shared, then put it at 0,0
-        	if (nextSiblingNeedsDisplayObject)
+        	if (shareIndex == 0)
         	{
-        		displayObject.x = _x;
-        		displayObject.y = _y;
+                displayObject.x = 0;
+                displayObject.y = 0;
         	}
         	else
         	{
-        		displayObject.x = 0;
-        		displayObject.y = 0;
+                displayObject.x = _x;
+                displayObject.y = _y;
         	}
         }

@@ -3336,7 +3286,7 @@
                 {
                     _colorTransform = _transform.colorTransform;

-                    if (displayObject)
+                    if (displayObject && shareIndex == -1)
                     {
                         displayObject.transform.colorTransform = _colorTransform;
                     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11811
Author:   dsubrama@adobe.com
Date:     2009-11-14T20:14:54.284449Z

Log Message:
-----------
Fixes for FXG 2.0.

SDK-23790 - We now set the blendMode correctly when switching from an AIM blendMode to a native Flash one.

SDK-24039 - We hoisted the AIM blendMode support up to UIComponent as per Catalyst's request.

SDK-23715 - Positioning of radial gradient strokes is now correct.

As part of this change, the spark.primitives.supportClasses.shaders packaged move into the framework swc/project, specifically mx.graphics.shaderClasses.

QE notes: Regression and re-gening of so many bitmaps.
Doc notes: None
Bugs: SDK-23790, SDK-24039, SDK-23715
Reviewer: Jason/Evtim/Pete
Tests run: Checkintests - known failures with bitmaps
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityMaskFilter.pbk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/HueShader.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SoftLight.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SoftLight.pbk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorBurn.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorBurn.pbk</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/ExclusionShaderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/ColorShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/HueShaderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/FilledElement.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/supportClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SoftLightShader.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorBurnShader.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/SaturationShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Saturation.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Saturation.pbk</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/SoftLightShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/ks5792.jpg</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/ColorBurnShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityMaskShader.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SaturationShader.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Exclusion.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Exclusion.pbk</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/LuminosityShaderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Luminosity.pbj</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Luminosity.pbk</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Color.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Color.pbk</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/ColorDodgeShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Hue.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodge.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Hue.pbk</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodge.pbk</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/LuminosityMaskShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ExclusionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityMaskFilter.pbj</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as
@@ -163,11 +163,11 @@
     protected function beginDraw(g:Graphics):void
     {
         if (stroke)
-            stroke.apply(g,new Rectangle(drawX + measuredX,
-            						    drawY + measuredY,
-            						    Math.max(width, stroke.weight),
-            						    Math.max(height, stroke.weight)),
-                         new Point(drawX, drawY));
+        {
+            var strokeBounds:Rectangle = getStrokeBounds();
+            strokeBounds.offset(drawX, drawY);
+            stroke.apply(g, strokeBounds, new Point(drawX, drawY));
+        }
         else
             g.lineStyle();

@@ -175,7 +175,7 @@
         // otherwise subsequent fills could get messed up.
         g.beginFill(0, 0);
     }
-
+
     /**
      *  Draw the element. This is the second of three steps taken during the drawing
      *  process. Override this method to implement your drawing. The stroke
@@ -207,8 +207,23 @@
     protected function endDraw(g:Graphics):void
     {
         g.endFill();
-    }
-
+
+    }
+
+    /**
+     *  @private
+     *  Returns the bounds of the element, including stroke in local coordinates.
+     */
+    protected function getStrokeBounds():Rectangle
+    {
+        var strokeBounds:Rectangle = getStrokeExtents(false /*postLayoutTransform*/);
+        strokeBounds.x += measuredX;
+        strokeBounds.width += width;
+        strokeBounds.y += measuredY;
+        strokeBounds.height += height;
+        return strokeBounds;
+    }
+
     /**
      *  @private
      */


Added a pad function for Arrays

Added a pad function for Arrays

--- src/org/openPyro/utils/ArrayUtil.as
+++ src/org/openPyro/utils/ArrayUtil.as
@@ -140,5 +140,13 @@
 			return arr;
 		}

+		public static function pad(arr:Array, size:Number, char:* = "0"):Array{
+			var diff:Number = size - arr.length
+			for(var i:int=0; i<diff; i++){
+				arr.push(char);
+			}
+			return arr;
+		}
+
 	}
 }


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

--- frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.as
+++ frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.as
@@ -1,5 +1,29 @@
-
-
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/*
+ *  The methods here would normally just be in IDisplayObject,
+ *  but for backward compatibility, they have to be included
+ *  directly into IFlexDisplayObject, so they are kept in
+ *  this separate include file.
+ */
+
+    /**
+     *  @copy flash.display.DisplayObject#root
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
     function get root():DisplayObject;


removed useless import in Mesh and fixed Mesh.copyFrom() bindings copy to avoid adding the same provider twice

--- src/aerys/minko/scene/node/mesh/Mesh.as
+++ src/aerys/minko/scene/node/mesh/Mesh.as
@@ -13,6 +13,8 @@
 	import aerys.minko.type.data.DataBindings;
 	import aerys.minko.type.data.DataProvider;
 	import aerys.minko.type.data.IDataProvider;
+
+	import flash.utils.flash_proxy;

 	/**
 	 * Mesh objects are a visible instance of a Geometry rendered using a specific
@@ -280,13 +282,18 @@

 			var numProviders : uint = source._bindings.numProviders;

+			bindings.removeAllProviders();
 			for (var providerIndex : uint = 0; providerIndex < numProviders; ++providerIndex)
 			{
 				var provider : IDataProvider = source._bindings.getProviderAt(providerIndex);
-				if (provider != transformData)
+
+				if (provider != source.transformData && provider != source.properties)
 					bindings.addProvider(provider);
 			}

+			_properties = source.properties.clone();
+			bindings.addProvider(_properties);
+
 			copyControllersFrom(source, this, cloneControllers);
 			transform.copyFrom(source.transform);


- debbuging feature: enhanced output of debug mode information
- debbuging feature: added new debug shortcut: While in debug mode (activated through ctrl+shift+d), pressing ctrl+shift+s traces the currently debug-marked elements' styles

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

--- src/reprise/ui/DocumentView.as
+++ src/reprise/ui/DocumentView.as
@@ -77,6 +77,7 @@
 		protected var m_focus:UIObject;

 		protected var m_debuggingMode : Boolean;
+		protected var m_currentDebugElement : UIComponent;
 		protected var m_debugInterface : Sprite;
 		protected var m_validatedElementsCount : int;

@@ -403,17 +404,19 @@

 			removeChild(m_debugInterface);
 			m_debugInterface = null;
+			m_currentDebugElement = null;

 			stage.removeEventListener(MouseEvent.MOUSE_OVER, debugging_mouseOver, true);
 		}
 		protected function debugMarkElement(element : UIComponent) : void
 		{
+			m_currentDebugElement = element;
 			var style : ComputedStyles = element.style;
 			var output : String = '\nElement: ' + element +
 				'\nSelectorpath: ' + element.selectorPath.split('@').join('') + '\n' +
-				'position: ' + (style.position || 'static') + '\n';
-			output += 'left: ' + style.left + 'px, right: ' + style.right + 'px\n';
-			output += 'top: ' + style.top + 'px, bottom: ' + style.bottom + 'px\n';
+				'position: ' + (style.position || 'static') + ', ';
+			output += 'top: ' + style.top + 'px, right: ' + style.right +
+				'px, bottom: ' + style.bottom + 'px, left: ' + style.left + 'px\n';
 			output += 'margin: ' + style.marginTop + 'px ' + style.marginRight + 'px ' +
 				style.marginBottom + 'px ' + style.marginLeft + 'px\n';

@@ -510,6 +513,11 @@
 					toggleDebuggingMode();
 					return;
 				}
+				if (event.keyCode == 19 && m_currentDebugElement) //'s'
+				{
+					log('Complex styles:\n' + m_currentDebugElement.valueForKey('m_complexStyles'));
+					return;
+				}
 				if (event.keyCode == 18) //'r'
 				{
 					reloadStyles();
@@ -522,7 +530,7 @@
 				}
 			}
 		}
-
+
 		protected function startWatchingStylesheets() : void
 		{
 			FileMonitor.instance().removeEventListener(
@@ -581,6 +589,9 @@
 			}
 			if (!element)
 			{
+				removeChild(m_debugInterface);
+				m_debugInterface = null;
+				m_currentDebugElement = null;
 				return;
 			}
 			debugMarkElement(element);


isMute の public 化のコミット漏れ

isMute の public 化のコミット漏れ

--- project/SoundConductor/src/jp/hiiragi/managers/soundConductor/SoundController.as
+++ project/SoundConductor/src/jp/hiiragi/managers/soundConductor/SoundController.as
@@ -25,7 +25,7 @@
 package jp.hiiragi.managers.soundConductor
 {
 	import flash.events.EventDispatcher;
-
+
 	import jp.hiiragi.managers.soundConductor.constants.SoundStatusType;
 	import jp.hiiragi.managers.soundConductor.error.SoundConductorError;
 	import jp.hiiragi.managers.soundConductor.error.SoundConductorErrorType;
@@ -228,6 +228,11 @@
 			return _playingData.loops;
 		}

+
+		public function get isMute():Boolean
+		{
+			return _playingData.isMute;
+		}

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


add for B.mode distance related camera move

--- bin/Data/Scripts/Editor/EditorView.as
+++ bin/Data/Scripts/Editor/EditorView.as
@@ -1283,7 +1283,13 @@
                 else if (input.keyDown[KEY_LCTRL])
                     cameraNode.Translate(Vector3(-cameraBaseSpeed,0, 0) * -input.mouseMoveWheel*20 * timeStep * speedMultiplier);
                 else
-                    cameraNode.Translate(Vector3(0, 0, -cameraBaseSpeed) * -input.mouseMoveWheel*20 * timeStep * speedMultiplier);
+                {
+                    Vector3 center = SelectedNodesCenterPoint();
+                    float distance = (cameraNode.worldPosition - center).length;
+                    float ratio = distance / 40.0f;
+                    float factor = ratio < 1.0f ? ratio : 1.0f;
+                    cameraNode.Translate(Vector3(0, 0, -cameraBaseSpeed) * -input.mouseMoveWheel*40*factor*timeStep*speedMultiplier);
+                }
             }
             else
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 15587
Author:   sameer@adobe.com
Date:     2010-04-20T05:29:09.135493Z

Log Message:
-----------
Merge from 4.x to trunk
QE notes:
Doc notes:
Bugs: http://bugs.adobe.com/jira/browse/FLEXDMV-2378
Reviewer: Sreeni
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/controls/advancedDataGridClasses/AdvancedDataGridGroupItemRenderer.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/controls/listClasses/AdvancedListBase.as</path>

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

--- frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.as
+++ frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBase.as
@@ -48,6 +48,7 @@
 import mx.core.IFactory;
 import mx.core.IFlexDisplayObject;
 import mx.core.IInvalidating;
+import mx.core.ILayoutDirectionElement;
 import mx.core.IUIComponent;
 import mx.core.IUID;
 import mx.core.IUITextField;
@@ -3440,6 +3441,8 @@
     {
         // this code is nearly duplicating UIComponent.validateDisplayList();

+		oldLayoutDirection = layoutDirection;
+
         if (invalidateDisplayListFlag)
         {
             // Check if our parent is the top level system manager
@@ -4645,7 +4648,11 @@
             }

             o = highlightIndicator;
-
+
+			// Let the highlightIndicator inherit the layoutDirection
+			if (o is ILayoutDirectionElement)
+				ILayoutDirectionElement(o).layoutDirection = null;
+
             drawHighlightIndicator(
                 o, item.x, rowInfo[rowData.rowIndex].y,
                 item.width, rowInfo[rowData.rowIndex].height,
@@ -4672,6 +4679,8 @@
             {
                 o = new SpriteAsset();
                 o.mouseEnabled = false;
+				// Let the selectionIndicator inherit the layoutDirection
+				ILayoutDirectionElement(o).layoutDirection = null;
                 selectionLayer.addChild(DisplayObject(o));
                 selectionIndicators[rowData.uid] = o;

@@ -4690,6 +4699,10 @@
             {
                 o = selectionIndicators[rowData.uid];

+				// Let the selectionIndicator inherit the layoutDirection
+				if (o is ILayoutDirectionElement)
+					ILayoutDirectionElement(o).layoutDirection = null;
+
                 drawSelectionIndicator(
                     o, item.x, effectiveRowY /* rowInfo[rowData.rowIndex].y */,
                     item.width, rowInfo[rowData.rowIndex].height,
@@ -4739,6 +4752,10 @@
                 }

                 o = caretIndicator;
+
+				// Let the caretIndicator inherit the layoutDirection
+				if (o is ILayoutDirectionElement)
+					ILayoutDirectionElement(o).layoutDirection = null;

                 drawCaretIndicator(
                     o, item.x, rowInfo[rowData.rowIndex].y,


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

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

 package mx.effects.effectClasses
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

 package spark.skins.mobile
 {


fixed warnings

fixed warnings

--- WeaveJS/src/weavejs/util/StringView.as
+++ WeaveJS/src/weavejs/util/StringView.as
@@ -37,6 +37,7 @@
 		public function StringView (vInput, sEncoding = undefined/* optional (default: UTF-8) */, nOffset = undefined/* optional */, nLength = undefined/* optional */) {

 			var fTAView:Class, aWhole:Array, aRaw:Array, fPutOutptCode:Function, fGetOutptChrSize:Function, nInptLen:int, nStartIdx:int = isFinite(nOffset) ? nOffset : 0, nTranscrType:int = 15;
+			var nChrCode:int, nChrIdx:int;

 			if (sEncoding) { this.encoding = sEncoding.toString(); }

@@ -205,8 +206,6 @@

 						nStartIdx = 0;

-						var nChrCode:int;
-
 						for (nChrIdx = 0; nChrIdx < nCharStart; nChrIdx++) {
 							nChrCode = fGetInptChrCode(vSource, nStartIdx);
 							nStartIdx += fGetInptChrSize(nChrCode);
@@ -230,8 +229,6 @@
 						/* mapping... */

 						nOutptLen = 0;
-
-						var nChrIdx:int;

 						for (nChrIdx = 0, nInptIdx = 0; nChrIdx < nCharEnd; nInptIdx += fGetInptChrSize(nChrCode)) {
 							nChrCode = fGetInptChrCode(vSource, nInptIdx);
@@ -640,7 +637,7 @@
 				nRawIdx = isFinite(nChrOffset) ? nChrOffset : 0;
 				nRawEnd = isFinite(nChrLen) ? nChrLen + nRawIdx : aSource.length;

-				for (nRawIdx; nRawIdx < nRawEnd; nRawIdx++) {
+				for (; nRawIdx < nRawEnd; nRawIdx++) {
 					fCallback.call(oThat || null, aSource[nRawIdx], nRawIdx, nRawIdx, aSource);
 				}


Grab our starting location from the scene when we switch scenes so that
getIntendedLocation() will return a valid value even before we've moved
somewhere in our new scene.

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

--- src/as/com/threerings/whirled/spot/client/SpotSceneDirector.as
+++ src/as/com/threerings/whirled/spot/client/SpotSceneDirector.as
@@ -39,18 +39,20 @@
 import com.threerings.crowd.chat.data.ChatCodes;
 import com.threerings.crowd.client.LocationAdapter;
 import com.threerings.crowd.client.LocationDirector;
+import com.threerings.crowd.data.BodyObject;
 import com.threerings.crowd.data.PlaceObject;

 import com.threerings.whirled.client.SceneDirector;
 import com.threerings.whirled.data.SceneModel;
-import com.threerings.whirled.data.ScenedBodyObject;
 import com.threerings.whirled.util.WhirledContext;

 import com.threerings.whirled.spot.data.ClusteredBodyObject;
 import com.threerings.whirled.spot.data.Location;
 import com.threerings.whirled.spot.data.Portal;
+import com.threerings.whirled.spot.data.SceneLocation;
 import com.threerings.whirled.spot.data.SpotCodes;
 import com.threerings.whirled.spot.data.SpotScene;
+import com.threerings.whirled.spot.data.SpotSceneObject;

 /**
  * Extends the standard scene director with facilities to move between locations within a scene.
@@ -77,9 +79,7 @@
         _scdir = scdir;

         // wire ourselves up to hear about leave place notifications
-        locdir.addLocationObserver(new LocationAdapter(null, function (place :PlaceObject) :void {
-            handleDeparture();
-        }));
+        locdir.addLocationObserver(new LocationAdapter(null, handleSceneChange, null));
     }

     /**
@@ -121,10 +121,9 @@

         // sanity check the server's notion of what scene we're in with our notion of it
         var sceneId :int = _scdir.getScene().getId();
-        var sbobj :ScenedBodyObject = (_wctx.getClient().getClientObject() as ScenedBodyObject);
-        if (sceneId != sbobj.getSceneId()) {
+        if (sceneId != _self.getSceneId()) {
             log.warning("Client and server differ in opinion of what scene we're in " +
-                        "[sSceneId=" + sbobj.getSceneId() + ", cSceneId=" + sceneId + "].");
+                        "[sSceneId=" + _self.getSceneId() + ", cSceneId=" + sceneId + "].");
             return false;
         }

@@ -375,12 +374,17 @@
     }

     /**
-     * Clean up after a few things when we depart from a scene.
-     */
-    protected function handleDeparture () :void
-    {
-        // clear out our last known location id
-        _location = null;
+     * Called when we move from one scene to another, or to a non-scene.
+     */
+    protected function handleSceneChange (plobj :PlaceObject) :void
+    {
+        // determine our location in the new scene if we have one
+        var scloc :SceneLocation = null;
+        var ssobj :SpotSceneObject = (plobj as SpotSceneObject);
+        if (ssobj != null) {
+            scloc = ssobj.occupantLocs.get((_self as BodyObject).getOid()) as SceneLocation;
+        }
+        _location = (scloc == null) ? null : scloc.loc;
     }

     /**


fixed adding map title to map from category

fixed adding map title to map from category

sometimes the map title wouldn't update when moving from the category
panel to load up a map, it has been solved.

--- Arguments/src/components/CategoryPanel.as
+++ Arguments/src/components/CategoryPanel.as
@@ -195,6 +195,7 @@
 		protected function onMapObjectClicked(event:MouseEvent):void{
 			var thisMapInfo:MapMetaData = mapMetaDataVector[parseInt((Button) (event.target).id)];
 			rsp.clickableMapOwnerInformation.label = thisMapInfo.mapCreator;
+			rsp.mapTitle.text=thisMapInfo.mapName;
 			rsp.clickableMapOwnerInformation.toolTip =
 				thisMapInfo.firstname + " " + thisMapInfo.lastname + "\n" + thisMapInfo.url + '\n' + Language.lookup('MapOwnerURLWarning');
 			rsp.clickableMapOwnerInformation.addEventListener(MouseEvent.CLICK, function event(e:Event):void{


Applying patch from Tominaga

Applying patch from Tominaga

--- src/org/httpclient/HttpRequest.as
+++ src/org/httpclient/HttpRequest.as
@@ -124,7 +124,7 @@

       _body = new ByteArray();
       _body.writeUTFBytes(params.map(function(item:*, index:int, array:Array):String {
-          return encodeURI(item.name) + "=" + encodeURI(item.value);
+          return encodeURIComponent(item.name) + "=" + encodeURIComponent(item.value);
         }).join(sep));

       _body.position = 0;


OPEN - issue REPRISE-36: Change SimpleTween to remove dependency on GlobalMCManager
http://j.fork.de:8080/browse/REPRISE-36

fixed

also, cleaned the class a little bit and let it extend AbstractAsynchronousCommand instead of implementing the interface on its own

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

--- src/reprise/tweens/SimpleTween.as
+++ src/reprise/tweens/SimpleTween.as
@@ -9,41 +9,37 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package reprise.tweens {
+package reprise.tweens
+{
+	import reprise.commands.AbstractAsynchronousCommand;
+	import reprise.events.TweenEvent;
+
+	import flash.display.Shape;
 	import flash.events.Event;
 	import flash.events.EventDispatcher;
-	import flash.utils.getTimer;
-
-	import reprise.commands.IAsynchronousCommand;
-	import reprise.core.GlobalMCManager;
-	import reprise.events.CommandEvent;
-	import reprise.events.TweenEvent;
-	public class SimpleTween extends EventDispatcher
-		implements IAsynchronousCommand
+	import flash.utils.getTimer;
+
+	public class SimpleTween extends AbstractAsynchronousCommand
 	{
 		/***************************************************************************
 		*							public properties							   *
 		***************************************************************************/
-		public static const DIRECTION_FORWARD : Number = 1;
-		public static const DIRECTION_BACKWARD : Number = -1;
+		public static const DIRECTION_FORWARD : int = 1;
+		public static const DIRECTION_BACKWARD : int = -1;

 		/***************************************************************************
 		*							protected properties							   *
 		***************************************************************************/
-		protected var m_direction:Number;
-		protected var m_isRunning:Boolean;
-		protected var m_isCancelled:Boolean;
-
-		protected var m_startTime : Number;
-		protected var m_currentTime:Number;
-		protected var m_duration:Number;
-		protected var m_delay : uint;
+		protected static const g_frameEventDispatcher : Shape = new Shape();
+
+		protected var m_direction : int;
+		protected var m_startTime : int;
+		protected var m_currentTime:int;
+		protected var m_duration : int;
+		protected var m_delay : int;

 		protected var m_tweenedProperties:Array;
-
-		protected var m_priority : Number;
-		protected var m_id : Number;

 		/***************************************************************************
@@ -176,7 +172,7 @@
 		/**
 		 * returns the tween's direction
 		 */
-		public function getDirection () : Number
+		public function getDirection () : int
 		{
 			return m_direction;
 		}
@@ -184,30 +180,30 @@
 		/**
 		 * sets the tween's direction
 		 */
-		public function setDirection (newDirection:Number) : void
-		{
-			m_direction = newDirection;
+		public function setDirection(direction : int) : void
+		{
+			m_direction = direction;
 		}

 		/**
 		 * returns true if tweens is running
 		 */
-		public function isRunning () : Boolean
-		{
-			return m_isRunning;
-		}
-
+		public function isRunning() : Boolean
+		{
+			return m_isExecuting;
+		}
+
 		/**
 		 * starts the tween
 		 */
-		public function startTween (executeFirstTickImmediately:Boolean = false) : void
+		public function startTween(executeFirstTickImmediately:Boolean = false) : void
 		{
 			m_isCancelled = false;
-			if (!m_isRunning && m_currentTime < m_duration)
-			{
-				GlobalMCManager.instance().stage().addEventListener(
+			if (!m_isExecuting && m_currentTime < m_duration)
+			{
+				g_frameEventDispatcher.addEventListener(
 					Event.ENTER_FRAME, executeTick);
-				m_isRunning = true;
+				m_isExecuting = true;
 				m_startTime = getTimer() + m_currentTime;
 				dispatchEvent(new TweenEvent(TweenEvent.START, true));
 				if (executeFirstTickImmediately)
@@ -217,27 +213,26 @@
 			}
 		}

-		public function execute(...rest) : void
-		{
-			startTween();
-		}
-
-		public function cancel() : void
-		{
-			m_isCancelled = true;
+		public override function execute(...rest) : void
+		{
+			if (m_isExecuting)
+			{
+				return;
+			}
+			super.execute();
+			startTween(true);
+		}
+
+		public override function cancel() : void
+		{
 			resetTween();
-			dispatchEvent(new CommandEvent(Event.CANCEL));
-		}
-
-		public function isCancelled() : Boolean
-		{
-			return m_isCancelled;
+			super.cancel();
 		}

 		/**
 		 * resets the tween's position and stops
 		 */
-		public function resetTween () : void
+		public function resetTween() : void
 		{
 			stopTween();
 			m_currentTime = 0;
@@ -246,16 +241,16 @@
 		/**
 		 * stops the tween
 		 */
-		public function stopTween () : void
-		{
-			GlobalMCManager.instance().stage().removeEventListener(
+		public function stopTween() : void
+		{
+			g_frameEventDispatcher.removeEventListener(
 				Event.ENTER_FRAME, executeTick);
-			m_isRunning = false;
+			m_isExecuting = false;
 		}

 		public function finish() : void
 		{
-			if (!m_isRunning)
+			if (!m_isExecuting)
 			{
 				return;
 			}
@@ -265,39 +260,19 @@
 			dispatchEvent(new TweenEvent(Event.COMPLETE, true));
 		}

-		public function setPriority(value : Number) : void
-		{
-			m_priority = value;
-		}
-		public function priority() : Number
-		{
-			return m_priority;
-		}
-		public function setId(value : Number) : void
-		{
-			m_id = value;
-		}
-		public function id() : Number
-		{
-			return m_id;
-		}
-
 		public override function toString() : String
 		{
 			return "reprise.tweens.SimpleTween";
 		}

-		public function didSucceed() : Boolean
+		public override function didSucceed() : Boolean
 		{
 			return true;
 		}

-		public function isExecuting() : Boolean
-		{
-			return isRunning();
-		}
-		public function reset() : void
-		{
+		public override function reset() : void
+		{
+			super.reset();
 			resetTween();
 		}

@@ -319,7 +294,6 @@
 			{
 				m_currentTime = m_duration;
 			}
-	//		trace([m_currentTime, m_duration]);
 			tweenProperties();
 			dispatchEvent(new TweenEvent(TweenEvent.TICK, true));
 			if (m_currentTime == m_duration)


Transferred from the Adobe Open Source Subversion Repository

Revision: 16143
Author:   sameer@adobe.com
Date:     2010-05-17T11:05:14.835012Z

Log Message:
-----------
Updating the length of the HierarchicalCollectionView in case of refresh event.

QE notes: None
Doc notes: None
Bugs: http://bugs.adobe.com/jira/browse/FLEXDMV-2426
Reviewer: Sreeni
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/collections/HierarchicalCollectionView.as

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

--- frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as
+++ frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as
@@ -1425,7 +1425,12 @@
         if (event is CollectionEvent)
         {
             var ce:CollectionEvent = CollectionEvent(event);
-            if (ce.kind == CollectionEventKind.RESET)
+			if (ce.kind == CollectionEventKind.REFRESH)
+			{
+				// collection refreshed, update length
+				updateLength();
+			}
+			else if (ce.kind == CollectionEventKind.RESET)
             {
                 // initialize the collection again - its source is modified
                 if (hierarchicalData)


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

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

 package mx.managers.systemClasses
 {


- change: Removed the ill-conceived display freezing ability of UIComponent

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

--- src/reprise/ui/UIComponent.as
+++ src/reprise/ui/UIComponent.as
@@ -117,8 +117,6 @@
 		protected var m_autoFlags : Object = {};
 		protected var m_positionInFlow : int = 1;
 		protected var m_positioningType : String;
-		protected var m_freezeDisplay : Boolean;
-		protected var m_isFrozen : Boolean;

 		//validation properties
 		protected var m_stylesInvalidated : Boolean;
@@ -952,37 +950,6 @@
 			m_currentStyles.visibility = visibilityProperty;
 			super.setVisibility(visible);
 		}
-
-		/**
-		 * Freezes the components' display by making a bitmap copy of its current state and showing
-		 * that instead of the actual content.
-		 *
-		 * As long as the component is frozen using this method, it is not validated at all, not
-		 * even to check for style changes - it simply can't have any other state than being frozen.
-		 */
-		public function freezeDisplay() : void
-		{
-			m_instanceStyles.setStyle('freezeDisplay', 'freeze !important');
-			applyDisplayFreezing();
-		}
-
-		/**
-		 * Unfreezes the component, reactivating its interactive display.
-		 *
-		 * Note that this method only reverts the effects of #freezeDisplay. It doesn't actually
-		 * set any styles but only removes the one set by #freezeDisplay.
-		 */
-		public function unfreezeDisplay() : void
-		{
-			if (!m_instanceStyles.hasStyle('freezeDisplay') ||
-				m_instanceStyles.getStyle('freezeDisplay').specifiedValue() != true ||
-				!m_instanceStyles.getStyle('freezeDisplay').important())
-			{
-				return;
-			}
-			m_instanceStyles.setStyle('freezeDisplay', null);
-			removeDisplayFreezing();
-		}

 		/**
 		* Sets the elements alpha property immediately and without invalidating the element
@@ -1517,10 +1484,6 @@
 					{
 						UIComponent(m_parentElement).validateAfterChildren();
 					}
-					return;
-				}
-				if (m_isFrozen)
-				{
 					return;
 				}

@@ -1564,7 +1527,7 @@
 		 */
 		protected override function validateAfterChildren() : void
 		{
-			if (!m_isRendered || m_isFrozen)
+			if (!m_isRendered)
 			{
 				return;
 			}
@@ -1740,7 +1703,7 @@

 		protected override function validateChildren() : void
 		{
-			if (!m_isRendered || m_isFrozen)
+			if (!m_isRendered)
 			{
 				return;
 			}
@@ -1853,13 +1816,6 @@
 			styles.mergeCSSDeclaration(m_elementDefaultStyles, false, true);

 			styles.mergeCSSDeclaration(m_weakStyles, false, true);
-
-			m_freezeDisplay = (styles.hasStyle('freezeDisplay') &&
-				styles.getStyle('freezeDisplay').specifiedValue() == true);
-			if (m_isFrozen && !m_freezeDisplay)
-			{
-				removeDisplayFreezing();
-			}

 			//check if styles or other relevant factors have changed and stop validation
 			//if not.
@@ -2191,7 +2147,7 @@

 		protected function applyOutOfFlowChildPositions() : void
 		{
-			if (!m_isRendered || m_isFrozen)
+			if (!m_isRendered)
 			{
 				return;
 			}
@@ -2206,11 +2162,6 @@
 				UIComponent(child).applyOutOfFlowChildPositions();
 			}
 			super.calculateKeyLoop();
-
-			if (m_freezeDisplay)
-			{
-				applyDisplayFreezing();
-			}
 		}

 		/**
@@ -2681,59 +2632,6 @@
 					m_hScrollbar.setVisibility(false);
 				}
 			}
-		}
-
-		protected function applyDisplayFreezing() : void
-		{
-			var bounds : Rectangle;
-			if (!m_currentStyles.overflow || m_currentStyles.overflow == 'visible')
-			{
-				bounds = this.getBounds(this);
-			}
-			if (!bounds || bounds.width < 0 || bounds.width > 2880 ||
-				bounds.height < 0 || bounds.height > 2880)
-			{
-				bounds = new Rectangle(m_positionOffset.x, m_positionOffset.y,
-					m_borderBoxWidth, m_borderBoxHeight);
-				if (!m_currentStyles.overflow || m_currentStyles.overflow == 'visible')
-				{
-					log('f invalid DisplayObject bounds for element ' + this +
-						', selectorPath: ' + m_selectorPath.split('@').join(''));
-					log('please send a reproducible test case to till@fork.de, if at all possible');
-				}
-			}
-			m_frozenContent = new BitmapData(bounds.width, bounds.height, true, 0x0);
-
-			m_contentDisplay.x -= bounds.left;
-			m_contentDisplay.y -= bounds.top;
-			m_frozenContent.draw(this, null, null, null,
-				new Rectangle(0, 0, bounds.width, bounds.height), true);
-			m_contentDisplay.visible = false;
-			m_frozenContentDisplay = new Bitmap(m_frozenContent, 'auto', true);
-			m_frozenContentDisplay.x = bounds.left;
-			m_frozenContentDisplay.y = bounds.top;
-			m_contentDisplay.x += bounds.left;
-			m_contentDisplay.y += bounds.top;
-			addChild(m_frozenContentDisplay);
-			m_isFrozen = true;
-		}
-
-		protected function removeDisplayFreezing() : void
-		{
-			if (m_isInvalidated)
-			{
-				//force revalidation of this component. It might have been ignored during the last
-				//validation cycle due to freezing.
-				m_isInvalidated = false;
-				invalidate();
-				return;
-			}
-			m_frozenContent.dispose();
-			m_frozenContent = null;
-			removeChild(m_frozenContentDisplay);
-			m_frozenContentDisplay = null;
-			m_contentDisplay.visible = true;
-			m_isFrozen = false;
 		}

 		protected function createScrollbar(


Transferred from the Adobe Open Source Subversion Repository

Revision: 8401
Author:   smgilson@adobe.com
Date:     2009-07-06T21:34:44.861518Z

Log Message:
-----------
ASDoc on filters/BevelFilter.as

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

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

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

--- frameworks/projects/spark/src/spark/filters/ShaderFilter.as
+++ frameworks/projects/spark/src/spark/filters/ShaderFilter.as
@@ -72,8 +72,24 @@
  *
As properties on the ShaderFilter change (such as during animation), the
  * ShaderFilter automatically reapplies itself to the filters array of the visual
  * component it is applied to.

- *
- * @see mx.effects.AnimateFilter
+ *
+ *  @mxml
+ *
The <ShaderFilter> tag inherits all of the tag
+ *  attributes of its superclass and adds the following tag attributes:

+ *
+ *

+ *  <ShaderFilter
+ *    Properties
+ *    bottomExtension="0"
+ *    leftExtension="0"
+ *    precisionHint="full"
+ *    rightExtension="0"
+ *    shader="[]"
+ *    topExtension="0"
+ *  />
+ *

+ *
+ * @see spark.effects.AnimateFilter
  *
  * @example Simple ShaderFilter example:
  * <listing version="3.0">
@@ -212,6 +228,8 @@

     /**
      * A flash.display.Shader instance.
+     *
+     *  @see flash.display.Shader
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -231,6 +249,8 @@

     /**
      *  @copy flash.filters.ShaderFilter#bottomExtension
+     *
+     *  @default 0
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -259,6 +279,8 @@

     /**
      *  @copy flash.filters.ShaderFilter#topExtension
+     *
+     *  @default 0
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -287,6 +309,8 @@

     /**
      *  @copy flash.filters.ShaderFilter#leftExtension
+     *
+     *  @default 0
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -315,6 +339,8 @@

     /**
      *  @copy flash.filters.ShaderFilter#rightExtension
+     *
+     *  @default 0
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -345,9 +371,11 @@
     private var _precisionHint:String = ShaderPrecision.FULL;

     /**
-     * The precision of math operations performed by the underlying shader.
-     * The set of possible values for the precisionHint property is defined
-     * by the constants in the ShaderPrecision class.
+     *  The precision of math operations performed by the underlying shader.
+     *  The set of possible values for the precisionHint property is defined
+     *  by the constants in the ShaderPrecision class.
+     *
+     *  @default ShaderPrecision.FULL
      *
      *  @see flash.display.Shader
      *  @see flash.display.ShaderPrecision


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

--- frameworks/projects/framework/src/mx/containers/utilityClasses/IConstraintLayout.as
+++ frameworks/projects/framework/src/mx/containers/utilityClasses/IConstraintLayout.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 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: 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@1282040 13f79535-47bb-0310-9956-ffa450edef68

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

 package spark.components.supportClasses
 {


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

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


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/spark/src/spark/components/IItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/IItemRenderer.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: 7862
Author:   jszeto@adobe.com
Date:     2009-06-15T22:06:23.250745Z

Log Message:
-----------
GraphicElement PARB Changes

mx.core.AdvancedLayoutFeatures
•	Rename layer -> depth
•	Rename offsets -> postLayoutTransformOffsets

mx.core.IVisualElement
•	Rename layer -> depth

mx.core.UIComponent
•	Rename offsets -> postLayoutTransformOffsets
•	Rename layer -> depth

mx.graphics.GradientBase
•	Remove scaleX

mx.graphics.GradientStroke
•	Add apply(g:Graphics, bounds:Rectangle)

mx.graphics.IStroke
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.LinearGradient
•	Add scaleX

mx.graphics.LinearGradientStroke
•	Add scaleX
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.RadialGradient
•	Add scaleX

mx.graphics.RadialGradientStroke
•	Add scaleX
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.SolidColorStroke
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.flash.UIMovieClip
•	Rename offsets -> postLayoutTransformOffsets
•	Rename layer -> depth

spark.components.PopUpAnchor
•	Change popUp type from UIComponent -> IFlexDisplayObject
•	Rename positionPopUp -> calculatePopUpPosition
•	Rename autoSizePopUpWidth -> popUpWidthMatchesAnchorWidth
•	Rename autoSizePopUpHeight -> popUpHeightMatchesAnchorHeight

spark.core.RelativePosition
•	Rename and move spark.core.RelativePosition -> spark.components.PopUpPosition
•	Rename EXACT -> TOP_LEFT (topLeft)

spark.core.SpriteVisualElement
•	Rename layer -> depth
•	Remove computeMatrix

spark.primitives.BitmapImage
•	Change _NORMAL_UINT from protected -> private
•	Change _REPEAT_UINT from protected -> private
•	Change _SCALE_UINT from protected -> private
•	Change resizeModeToUINT from protected -> private
•	Rename drawElement -> draw

spark.primitives.Line
•	Rename skipMeasure -> canSkipMeasurement
•	Rename drawElement -> draw

spark.primitives.Path
•	Change graphicsPath fro protected -> mx_internal
•	Rename skipMeasure -> canSkipMeasurement
•	Rename drawElement -> draw
•	Rename renderGraphicsAtScale -> generateGraphicsPath
•	Change generateGraphicsPath from protected -> mx_internal
•	Rename notifyElementLayerChanged -> invalidateDisplayObjectSharing

spark.primitives.Rect
•	Rename drawElement -> draw

spark.primitives.supportClasses.GraphicElement
•	Rename layer -> depth
•	Rename offsets -> postLayoutTransformOffsets
•	Rename getBitmapData -> captureBitmapData
•	Rename notifyElementLayerChanged -> invalidateDisplayObjectSharing
•	Rename skipMeasure -> canSkipMeasurement
•	Add protected hasComplexLayoutMatrix:Boolean getter
•	Remove target
•	Remove computeMatrix
•	Change DEFAULT_MAX_WIDTH from public -> private
•	Change DEFAULT_MAX_HEIGHT from public -> private
•	Change DEFAULT_MIN_WIDTH from public -> private
•	Change DEFAULT_MIN_HEIGHT from public -> private
•	Change allocateLayoutFeatures from protected -> mx_internal
•	Change invalidateTransform from protected -> private
•	Change captureBitmapData from public -> mx_internal
•	Change applyMaskType from protected -> mx_internal
•	Change dispatchPropertyChangeEvent from protected -> private
•	Change applyComputedTransform from protected -> mx_internal
•	Change filterChangedHandler from protected -> private

spark.supportClasses.StrokedElement
•	Rename drawElement -> draw
•	Remove getStroke()
•	Add getStrokeExtents() override

QE Notes: None
Doc Notes: None
Bugs: N/A
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.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/framework/src/mx/graphics/LinearGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/effects/AnimateTransform.as
+++ frameworks/projects/spark/src/spark/effects/AnimateTransform.as
@@ -1268,23 +1268,23 @@
                 // they might not have explcitly defined any offsets.  If that's the case,
                 // we still need to capture default start values, so let's initialize the offsets
                 // to a default set anyway.
-                if(postLayoutTransformPropertiesSet && target.offsets == null)
+            if(postLayoutTransformPropertiesSet && target.postLayoutTransformOffsets == null)
                 {
-                    target.offsets = new TransformOffsets();
+            	target.postLayoutTransformOffsets = new TransformOffsets();
                 }

                 // if the target doesn't have any offsets, there's no need to capture
                 // offset values.
-                if(target.offsets != null)
+            if(target.postLayoutTransformOffsets != null)
                 {
-                    var offsets:TransformOffsets = target.offsets;
-                    valueMap.postLayoutRotationX = offsets.rotationX;
-                    valueMap.postLayoutRotationY = offsets.rotationY;
-                    valueMap.postLayoutRotationZ = offsets.rotationZ;
-
-                    valueMap.postLayoutScaleX = offsets.scaleX;
-                    valueMap.postLayoutScaleY = offsets.scaleY;
-                    valueMap.postLayoutScaleZ = offsets.scaleZ;
+            	var postLayoutTransformOffsets:TransformOffsets = target.postLayoutTransformOffsets;
+            	valueMap.postLayoutRotationX = postLayoutTransformOffsets.rotationX;
+            	valueMap.postLayoutRotationY = postLayoutTransformOffsets.rotationY;
+            	valueMap.postLayoutRotationZ = postLayoutTransformOffsets.rotationZ;
+
+            	valueMap.postLayoutScaleX = postLayoutTransformOffsets.scaleX;
+            	valueMap.postLayoutScaleY = postLayoutTransformOffsets.scaleY;
+            	valueMap.postLayoutScaleZ = postLayoutTransformOffsets.scaleZ;

                     if (valueMap.postLayoutTranslationX === undefined ||
                         valueMap.postLayoutTranslationY === undefined ||
@@ -1462,19 +1462,19 @@
                         position.z = xformPosition.z;
                 }

-                if(target.offsets != null)
+				if(target.postLayoutTransformOffsets != null)
                 {
-                    var offsets:TransformOffsets = target.offsets;
+					var postLayoutTransformOffsets:TransformOffsets = target.postLayoutTransformOffsets;
                     if (!isNaN(transitionValues.postLayoutRotationX) ||
                         !isNaN(transitionValues.postLayoutRotationY) ||
                         !isNaN(transitionValues.postLayoutRotationZ))
                     {
                         offsetRotation.x = !isNaN(transitionValues.postLayoutRotationX) ?
-                            transitionValues.postLayoutRotationX : offsets.rotationX;
+			                transitionValues.postLayoutRotationX : postLayoutTransformOffsets.rotationX;
                         offsetRotation.y = !isNaN(transitionValues.postLayoutRotationY) ?
-                            transitionValues.postLayoutRotationY : offsets.rotationY;
+			                transitionValues.postLayoutRotationY : postLayoutTransformOffsets.rotationY;
                         offsetRotation.z = !isNaN(transitionValues.postLayoutRotationZ) ?
-                            transitionValues.postLayoutRotationZ : offsets.rotationZ;
+			                transitionValues.postLayoutRotationZ : postLayoutTransformOffsets.rotationZ;
                         tmpOffsetRotation = offsetRotation;
                     }

@@ -1483,11 +1483,11 @@
                         !isNaN(transitionValues.postLayoutScaleZ))
                     {
                         offsetScale.x = !isNaN(transitionValues.postLayoutScaleX) ?
-                            transitionValues.postLayoutScaleX : offsets.scaleX;
+			                transitionValues.postLayoutScaleX : postLayoutTransformOffsets.scaleX;
                         offsetScale.y = !isNaN(transitionValues.postLayoutScaleY) ?
-                            transitionValues.postLayoutScaleY : offsets.scaleY;
+			                transitionValues.postLayoutScaleY : postLayoutTransformOffsets.scaleY;
                         offsetScale.z = !isNaN(transitionValues.postLayoutScaleZ) ?
-                            transitionValues.postLayoutScaleZ : offsets.scaleZ;
+			                transitionValues.postLayoutScaleZ : postLayoutTransformOffsets.scaleZ;
                         tmpOffsetScale = offsetScale;
                     }

@@ -1780,8 +1780,8 @@
             // flag.  In that case, we can assume that they need an offsets object if one doesn't already exist.
             // Second, if we captured post-layout changes from a state change. In that case, we can assume that since values were captured,
             // offsets must already exist.
-            if(target.offsets == null)
-                target.offsets = new TransformOffsets();
+	        if(target.postLayoutTransformOffsets == null)
+	            target.postLayoutTransformOffsets = new TransformOffsets();

             if (_postLayoutTranslationX)
                 motionPaths.push(_postLayoutTranslationX);
@@ -1913,4 +1913,4 @@
     }

 }
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5201
Author:   egeorgie@adobe.com
Date:     2009-03-07T02:17:47.081375Z

Log Message:
-----------
Updates to the LayoutBase, mostly asdocs.

QE Notes: None
Doc Notes:
Bugs: None
Reviewer: Hans
tests: checkintests, mustella (group, layout)

Modified Paths:
--------------
<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/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
@@ -68,7 +68,7 @@
         }
         else
         {
-            if (hasPercentHeight(layoutElement))
+            if (!isNaN(layoutElement.percentHeight))
                newHeight = calculatePercentHeight(layoutElement, height);
         }

@@ -1113,7 +1113,7 @@
                     continue;

                 var layoutElementHeight:Number;
-                if (hasPercentHeight(layoutElement))
+                if (!isNaN(layoutElement.percentHeight))
                     layoutElementHeight = calculatePercentHeight(layoutElement, targetHeight);
                 else
                     layoutElementHeight = layoutElement.getPreferredBoundsHeight();
@@ -1235,7 +1235,7 @@
                 continue;
             }

-            if (hasPercentWidth(layoutElement) && variableColumnWidth)
+            if (!isNaN(layoutElement.percentWidth) && variableColumnWidth)
             {
                 totalPercentWidth += layoutElement.percentWidth;