Transferred from the Adobe Open Source Subversion Repository

Revision: 4029
Author:   shodgson@adobe.com
Date:     2008-11-06T18:07:29.770134Z

Log Message:
-----------
Method visibility change: private -> protected function faultPendingSends(event:ChannelEvent):void

Bug: NA (getting checkintests-messaging suite passing in LCDS trunk)
QA: NA
Doc: No
Checkintests Pass: Yes

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as

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

--- frameworks/projects/rpc/src/mx/messaging/ChannelSet.as
+++ frameworks/projects/rpc/src/mx/messaging/ChannelSet.as
@@ -1314,133 +1314,6 @@
     //--------------------------------------------------------------------------

     /**
-     *  Redispatches message events from the currently connected Channel.
-     *
-     *  @param event The MessageEvent from the Channel.
-     */
-    protected function messageHandler(event:MessageEvent):void
-    {
-        dispatchEvent(event);
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    // Private Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  Helper method to connect the current internal Channel.
-     */
-    private function connectChannel():void
-    {
-        if (!connected && !_connecting)
-        {
-            _connecting = true;
-            _currentChannel.connect(this);
-            // Listen for any server pushed messages on the Channel.
-            _currentChannel.addEventListener(MessageEvent.MESSAGE, messageHandler);
-        }
-    }
-
-    /**
-     *  @private
-     *  Helper method to disconnect the current internal Channel.
-     */
-    private function disconnectChannel():void
-    {
-        _connecting = false;
-        // Stop listening for server pushed messages on the Channel.
-        _currentChannel.removeEventListener(MessageEvent.MESSAGE, messageHandler);
-        _currentChannel.disconnect(this);
-    }
-
-    /**
-     *  @private
-     *  Helper method to dispatch authentication-related RPC events.
-     *
-     *  @param event The event to dispatch.
-     */
-    private function dispatchRPCEvent(event:AbstractEvent):void
-    {
-        event.callTokenResponders();
-        dispatchEvent(event);
-    }
-
-    /**
-     *  @private
-     *  Helper method to hunt to the next available internal Channel for the
-     *  ChannelSet.
-     *
-     *  @return True if hunting to the next available Channel was successful; false if hunting
-     *          exhausted available channels and has reset to the beginning of the set.
-     *
-     *  @throws mx.messaging.errors.NoChannelAvailableError If the ChannelSet has no internal
-     *                                  Channels to use.
-     */
-    private function hunt():Boolean
-    {
-        if (_channels.length == 0)
-        {
-            var message:String = resourceManager.getString(
-                "messaging", "noAvailableChannels");
-            throw new NoChannelAvailableError(message);
-        }
-
-        // Advance to next channel, and reset to beginning if all Channels in the set
-        // have been attempted.
-        if (++_currentChannelIndex >= _channels.length)
-        {
-            _currentChannelIndex = -1;
-            return false;
-        }
-
-        // If we've advanced past the first channel, indicate that we're hunting.
-        if (_currentChannelIndex > 0)
-            _hunting = true;
-
-        // Set current channel.
-        if (configured)
-        {
-            if (_channels[_currentChannelIndex] != null)
-            {
-                _currentChannel = _channels[_currentChannelIndex];
-            }
-            else
-            {
-                _currentChannel = ServerConfig.getChannel(_channelIds[
-                                        _currentChannelIndex], _clustered);
-                _currentChannel.setCredentials(_credentials);
-                _channels[_currentChannelIndex] = _currentChannel;
-            }
-        }
-        else
-        {
-            _currentChannel = _channels[_currentChannelIndex];
-        }
-
-        // Ensure that the current channel is assigned failover URIs it if was lazily instantiated.
-        if ((_channelFailoverURIs != null) && (_channelFailoverURIs[_currentChannel.id] != null))
-            _currentChannel.failoverURIs = _channelFailoverURIs[_currentChannel.id];
-
-        return true;
-    }
-
-    /**
-     *  @private
-     *  This method is invoked by a timer and it works around a reconnect issue
-     *  with NetConnection based channels within a single frame by reconnecting after a slight delay.
-     */
-    private function reconnectChannel(event:TimerEvent):void
-    {
-        _reconnectTimer.stop();
-        _reconnectTimer.removeEventListener(TimerEvent.TIMER, reconnectChannel);
-        _reconnectTimer = null;
-        connectChannel();
-    }
-
-    /**
      *  @private
      *  Helper method to fault pending messages.
      *  The ErrorMessage is tagged with a __retryable__ header to indicate that
@@ -1450,7 +1323,7 @@
      *  @param event A ChannelEvent.DISCONNECT or a ChannelFaultEvent that is the root cause
      *               for faulting these pending sends.
      */
-    private function faultPendingSends(event:ChannelEvent):void
+    protected function faultPendingSends(event:ChannelEvent):void
     {
         while (_pendingSends.length > 0)
         {
@@ -1486,6 +1359,133 @@
             errorMsg.rootCause = event;
             ps.agent.fault(errorMsg, pendingMsg);
         }
+    }
+
+    /**
+     *  Redispatches message events from the currently connected Channel.
+     *
+     *  @param event The MessageEvent from the Channel.
+     */
+    protected function messageHandler(event:MessageEvent):void
+    {
+        dispatchEvent(event);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Private Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Helper method to connect the current internal Channel.
+     */
+    private function connectChannel():void
+    {
+        if (!connected && !_connecting)
+        {
+            _connecting = true;
+            _currentChannel.connect(this);
+            // Listen for any server pushed messages on the Channel.
+            _currentChannel.addEventListener(MessageEvent.MESSAGE, messageHandler);
+        }
+    }
+
+    /**
+     *  @private
+     *  Helper method to disconnect the current internal Channel.
+     */
+    private function disconnectChannel():void
+    {
+        _connecting = false;
+        // Stop listening for server pushed messages on the Channel.
+        _currentChannel.removeEventListener(MessageEvent.MESSAGE, messageHandler);
+        _currentChannel.disconnect(this);
+    }
+
+    /**
+     *  @private
+     *  Helper method to dispatch authentication-related RPC events.
+     *
+     *  @param event The event to dispatch.
+     */
+    private function dispatchRPCEvent(event:AbstractEvent):void
+    {
+        event.callTokenResponders();
+        dispatchEvent(event);
+    }
+
+    /**
+     *  @private
+     *  Helper method to hunt to the next available internal Channel for the
+     *  ChannelSet.
+     *
+     *  @return True if hunting to the next available Channel was successful; false if hunting
+     *          exhausted available channels and has reset to the beginning of the set.
+     *
+     *  @throws mx.messaging.errors.NoChannelAvailableError If the ChannelSet has no internal
+     *                                  Channels to use.
+     */
+    private function hunt():Boolean
+    {
+        if (_channels.length == 0)
+        {
+            var message:String = resourceManager.getString(
+                "messaging", "noAvailableChannels");
+            throw new NoChannelAvailableError(message);
+        }
+
+        // Advance to next channel, and reset to beginning if all Channels in the set
+        // have been attempted.
+        if (++_currentChannelIndex >= _channels.length)
+        {
+            _currentChannelIndex = -1;
+            return false;
+        }
+
+        // If we've advanced past the first channel, indicate that we're hunting.
+        if (_currentChannelIndex > 0)
+            _hunting = true;
+
+        // Set current channel.
+        if (configured)
+        {
+            if (_channels[_currentChannelIndex] != null)
+            {
+                _currentChannel = _channels[_currentChannelIndex];
+            }
+            else
+            {
+                _currentChannel = ServerConfig.getChannel(_channelIds[
+                                        _currentChannelIndex], _clustered);
+                _currentChannel.setCredentials(_credentials);
+                _channels[_currentChannelIndex] = _currentChannel;
+            }
+        }
+        else
+        {
+            _currentChannel = _channels[_currentChannelIndex];
+        }
+
+        // Ensure that the current channel is assigned failover URIs it if was lazily instantiated.
+        if ((_channelFailoverURIs != null) && (_channelFailoverURIs[_currentChannel.id] != null))
+            _currentChannel.failoverURIs = _channelFailoverURIs[_currentChannel.id];
+
+        return true;
+    }
+
+    /**
+     *  @private
+     *  This method is invoked by a timer and it works around a reconnect issue
+     *  with NetConnection based channels within a single frame by reconnecting after a slight delay.
+     */
+    private function reconnectChannel(event:TimerEvent):void
+    {
+        _reconnectTimer.stop();
+        _reconnectTimer.removeEventListener(TimerEvent.TIMER, reconnectChannel);
+        _reconnectTimer = null;
+        connectChannel();
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 14016
Author:   klin@adobe.com
Date:     2010-02-06T00:12:41.408269Z

Log Message:
-----------
Fix for List RTE when dropping into list with null dataProvider. If the dataProvider is null, we create an ArrayCollection to hold items being dropped in the List.

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

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

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -21,6 +21,7 @@
 import flash.text.TextField;
 import flash.ui.Keyboard;

+import mx.collections.ArrayCollection;
 import mx.collections.IList;
 import mx.core.DragSource;
 import mx.core.EventPriority;
@@ -1969,6 +1970,10 @@
         if (caretIndex != -1)
             newSelection.push(dropIndex + caretIndex);

+        // Create dataProvider if needed
+        if (!dataProvider)
+            dataProvider = new ArrayCollection();
+
         var copyItems:Boolean = (event.action == DragManager.COPY);
         for (i = 0; i < items.length; i++)
         {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -42,6 +42,46 @@
  *  @productversion Flex 4
  */
 [Style(name="alternatingItemColors", type="Array", arrayType="uint", format="Color", inherit="yes", theme="spark")]
+
+/**
+ *  The alpha of the border for this component.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="borderAlpha", type="Number", inherit="no", theme="spark")]
+
+/**
+ *  The color of the border for this component.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="borderColor", type="uint", format="Color", inherit="no", theme="spark")]
+
+/**
+ *  Controls the visibility of the border for this component.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="borderVisible", type="Boolean", inherit="no", theme="spark")]
+
+/**
+ *  The alpha of the content background for this component.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="contentBackgroundAlpha", type="Number", inherit="yes", theme="spark")]

 /**
  *  @copy spark.components.supportClasses.GroupBase#style:contentBackgroundColor


Transferred from the Adobe Open Source Subversion Repository

Revision: 10070
Author:   hmuller@adobe.com
Date:     2009-09-08T22:16:45.074989Z

Log Message:
-----------
SkinnableDataContainer and SkinnableContainer no longer implement IViewport.

GroupBase/renderFillForMouseOpaque() now handles groups whose content size is larger than their actual size.

QE Notes: Cyclone passed
Doc Notes:
Bugs: sdk-20893, sdk-20741, sdk-21730
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -871,12 +871,12 @@
         if (!layout)
             return;

-        var spDelta:Point = layout.getScrollPositionDeltaToElement(index);
+        var spDelta:Point = dataGroup.layout.getScrollPositionDeltaToElement(index);

         if (spDelta)
         {
-            horizontalScrollPosition += spDelta.x;
-            verticalScrollPosition += spDelta.y;
+            dataGroup.horizontalScrollPosition += spDelta.x;
+            dataGroup.verticalScrollPosition += spDelta.y;
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3764
Author:   egeorgie@adobe.com
Date:     2008-10-21T06:22:03.043905Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-17676 offset line with height set does not respect the top property
QE Notes: Test path with width/height set and xFrom > xTo and xTo > xFrom combinations.
Doc Notes: None
Bugs: sdk-17676
Reviewer: Chet

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Line.as

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

--- frameworks/projects/spark/src/spark/primitives/Line.as
+++ frameworks/projects/spark/src/spark/primitives/Line.as
@@ -222,14 +222,8 @@
      */
     override protected function drawElement(g:Graphics):void
     {
-        var drawToX:Number = xFrom <= xTo ? width : -width;
-        var drawToY:Number = yFrom <= yTo ? height : -height;
-
-        drawToX += xFrom;
-        drawToY += yFrom;
-
-        g.moveTo(xFrom + drawX, yFrom + drawY);
-        g.lineTo(drawToX + drawX, drawToY + drawY);
+        g.moveTo(measuredX + drawX, measuredY + drawY);
+        g.lineTo(measuredX + drawX + width, measuredY + drawY + height);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 9777
Author:   dsubrama@adobe.com
Date:     2009-08-28T23:16:15.936854Z

Log Message:
-----------
Checking in the FXG 2.0 cornerRadius work on behalf of Glenn.

We now add 8 new properties: topLeftRadiusX/topLeftRadiusY/topRightRadiusX/topRightRadiusY/bottomLeftRadiusX/bottomLeftRadiusY/bottomRightRadiusX/bottomRightRadiusY to control the x/y radii of each individual corner. Convenience properties radiusX and radiusY exist to propagate values down to the explicit per-corner properties.

QE notes: Please add tests
Doc notes: Yes, please doc
Bugs: None
Reviewer: Evtim, Deepa
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/GraphicsUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Rect.as
+++ frameworks/projects/spark/src/spark/primitives/Rect.as
@@ -17,6 +17,7 @@
 import flash.geom.Rectangle;

 import mx.core.mx_internal;
+import mx.utils.GraphicsUtil;
 import mx.utils.MatrixUtil;

 import spark.primitives.supportClasses.FilledElement;
@@ -67,6 +68,146 @@
     //  Properties
     //
     //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  bottomLeftRadiusX
+    //----------------------------------
+
+    private var _bottomLeftRadiusX:Number;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The x radius of the bottom left corner of the rectangle.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get bottomLeftRadiusX():Number
+    {
+        return _bottomLeftRadiusX;
+    }
+
+    public function set bottomLeftRadiusX(value:Number):void
+    {
+        if (value != _bottomLeftRadiusX)
+        {
+            _bottomLeftRadiusX = value;
+
+            invalidateSize();
+            invalidateDisplayList();
+            invalidateParentSizeAndDisplayList();
+        }
+    }
+
+    //----------------------------------
+    //  bottomLeftRadiusY
+    //----------------------------------
+
+    private var _bottomLeftRadiusY:Number;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The y radius of the bottom left corner of the rectangle.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get bottomLeftRadiusY():Number
+    {
+        return _bottomLeftRadiusY;
+    }
+
+    public function set bottomLeftRadiusY(value:Number):void
+    {
+        if (value != _bottomLeftRadiusY)
+        {
+            _bottomLeftRadiusY = value;
+
+            invalidateSize();
+            invalidateDisplayList();
+            invalidateParentSizeAndDisplayList();
+        }
+    }
+
+    //----------------------------------
+    //  bottomRightRadiusX
+    //----------------------------------
+
+    private var _bottomRightRadiusX:Number;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The x radius of the bottom right corner of the rectangle.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get bottomRightRadiusX():Number
+    {
+        return _bottomRightRadiusX;
+    }
+
+    public function set bottomRightRadiusX(value:Number):void
+    {
+        if (value != bottomRightRadiusX)
+        {
+            _bottomRightRadiusX = value;
+
+            invalidateSize();
+            invalidateDisplayList();
+            invalidateParentSizeAndDisplayList();
+        }
+    }
+
+    //----------------------------------
+    //  bottomRightRadiusY
+    //----------------------------------
+
+    private var _bottomRightRadiusY:Number;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The y radius of the bottom right corner of the rectangle.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get bottomRightRadiusY():Number
+    {
+        return _bottomRightRadiusY;
+    }
+
+    public function set bottomRightRadiusY(value:Number):void
+    {
+        if (value != _bottomRightRadiusY)
+        {
+            _bottomRightRadiusY = value;
+
+            invalidateSize();
+            invalidateDisplayList();
+            invalidateParentSizeAndDisplayList();
+        }
+    }

     //----------------------------------
     //  radiusX
@@ -77,7 +218,10 @@
     [Inspectable(category="General")]

     /**
-     *  The corner radius to use along the x axis.
+     *  The default corner radius to use for the x axis on all corners. The
+     *  topLeftRadiusX, topRightRadiusX,
+     *  bottomLeftRadiusX, and bottomRightRadiusX
+     *  properties take precedence over this property.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -110,7 +254,10 @@
     [Inspectable(category="General")]

     /**
-     *  The corner radius to use along the y axis.
+     *  The default corner radius to use for the y axis on all corners. The
+     *  topLeftRadiusY, topRightRadiusY,
+     *  bottomLeftRadiusY, and bottomRightRadiusY
+     *  properties take precedence over this property.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -128,6 +275,146 @@
         {
             _radiusY = value;

+            invalidateSize();
+            invalidateDisplayList();
+            invalidateParentSizeAndDisplayList();
+        }
+    }
+
+    //----------------------------------
+    //  topLeftRadiusX
+    //----------------------------------
+
+    private var _topLeftRadiusX:Number;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The x radius of the top left corner of the rectangle.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get topLeftRadiusX():Number
+    {
+        return _topLeftRadiusX;
+    }
+
+    public function set topLeftRadiusX(value:Number):void
+    {
+        if (value != _topLeftRadiusX)
+        {
+            _topLeftRadiusX = value;
+
+            invalidateSize();
+            invalidateDisplayList();
+            invalidateParentSizeAndDisplayList();
+        }
+    }
+
+    //----------------------------------
+    //  topLeftRadiusY
+    //----------------------------------
+
+    private var _topLeftRadiusY:Number;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The y radius of the top left corner of the rectangle.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get topLeftRadiusY():Number
+    {
+        return _topLeftRadiusY;
+    }
+
+    public function set topLeftRadiusY(value:Number):void
+    {
+        if (value != _topLeftRadiusY)
+        {
+            _topLeftRadiusY = value;
+
+            invalidateSize();
+            invalidateDisplayList();
+            invalidateParentSizeAndDisplayList();
+        }
+    }
+
+    //----------------------------------
+    //  topRightRadiusX
+    //----------------------------------
+
+    private var _topRightRadiusX:Number;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The x radius of the top right corner of the rectangle.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get topRightRadiusX():Number
+    {
+        return _topRightRadiusX;
+    }
+
+    public function set topRightRadiusX(value:Number):void
+    {
+        if (value != topRightRadiusX)
+        {
+            _topRightRadiusX = value;
+
+            invalidateSize();
+            invalidateDisplayList();
+            invalidateParentSizeAndDisplayList();
+        }
+    }
+
+    //----------------------------------
+    //  topRightRadiusY
+    //----------------------------------
+
+    private var _topRightRadiusY:Number;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The y radius of the top right corner of the rectangle.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get topRightRadiusY():Number
+    {
+        return _topRightRadiusY;
+    }
+
+    public function set topRightRadiusY(value:Number):void
+    {
+        if (value != _topRightRadiusY)
+        {
+            _topRightRadiusY = value;
+
             invalidateSize();
             invalidateDisplayList();
             invalidateParentSizeAndDisplayList();
@@ -150,10 +437,23 @@
      */
     override protected function draw(g:Graphics):void
     {
-        if (radiusX != 0)
-        {
+        // If any of the explicit radiusX values are specified, we have corner-specific rounding.
+        if (!isNaN(topLeftRadiusX) || !isNaN(topRightRadiusX) ||
+            !isNaN(bottomLeftRadiusX) || !isNaN(bottomRightRadiusX))
+        {
+            // All of the fallback rules are implemented in drawRoundRectComplex2().
+            GraphicsUtil.drawRoundRectComplex2(g, drawX, drawY, width, height,
+                                               radiusX, radiusY,
+                                               topLeftRadiusX, topLeftRadiusY,
+                                               topRightRadiusX, topRightRadiusY,
+                                               bottomLeftRadiusX, bottomLeftRadiusY,
+                                               bottomRightRadiusX, bottomRightRadiusY);
+        }
+        else if (radiusX != 0)
+        {
+            var rX:Number = radiusX;
             var rY:Number =  radiusY == 0 ? radiusX : radiusY;
-            g.drawRoundRect(drawX, drawY, width, height, radiusX * 2, rY * 2);
+            g.drawRoundRect(drawX, drawY, width, height, rX * 2, rY * 2);
         }
         else
         {
@@ -169,7 +469,7 @@
                                                         postLayoutTransform:Boolean = true):Number
     {
         if (postLayoutTransform && hasComplexLayoutMatrix)
-            width = getRoundRectBoundingBox(width, height, radiusX, radiusY,
+            width = getRoundRectBoundingBox(width, height, this,
                                             layoutFeatures.layoutMatrix).width;

         // Take stroke into account
@@ -184,7 +484,7 @@
                                                          postLayoutTransform:Boolean = true):Number
     {
         if (postLayoutTransform && hasComplexLayoutMatrix)
-            height = getRoundRectBoundingBox(width, height, radiusX, radiusY,
+            height = getRoundRectBoundingBox(width, height, this,
                                              layoutFeatures.layoutMatrix).height;

         // Take stroke into account
@@ -222,7 +522,7 @@
             newSize = new Point(minWidth, minHeight);

         return strokeExtents.left +
-            getRoundRectBoundingBox(newSize.x, newSize.y, radiusX, radiusY, m).x;
+            getRoundRectBoundingBox(newSize.x, newSize.y, this, m).x;
     }

     /**
@@ -256,7 +556,7 @@
             newSize = new Point(minWidth, minHeight);

         return strokeExtents.top +
-            getRoundRectBoundingBox(newSize.x, newSize.y, radiusX, radiusY, m).y;
+            getRoundRectBoundingBox(newSize.x, newSize.y, this, m).y;
     }

     /**
@@ -266,7 +566,7 @@
     {
         var stroke:Number = getStrokeExtents(postLayoutTransform).left;
         if (postLayoutTransform && hasComplexLayoutMatrix)
-            return stroke + getRoundRectBoundingBox(width, height, radiusX, radiusY,
+            return stroke + getRoundRectBoundingBox(width, height, this,
                                                     layoutFeatures.layoutMatrix).x;

         return stroke + this.x;
@@ -279,7 +579,7 @@
     {
         var stroke:Number = getStrokeExtents(postLayoutTransform).top;
         if (postLayoutTransform && hasComplexLayoutMatrix)
-            return stroke + getRoundRectBoundingBox(width, height, radiusX, radiusY,
+            return stroke + getRoundRectBoundingBox(width, height, this,
                                                     layoutFeatures.layoutMatrix).y;

         return stroke + this.y;
@@ -290,28 +590,49 @@
      */
     static private function getRoundRectBoundingBox(width:Number,
                                                     height:Number,
-                                                    radiusX:Number,
-                                                    radiusY:Number,
+                                                    r:Rect,
                                                     m:Matrix):Rectangle
     {
         // We can find the round rect bounds by finding the
         // bounds of the four ellipses at the four corners

         // Make sure that radiusX & radiusY don't exceed the width & height:
-        radiusX = Math.min(radiusX, width / 2);
-        radiusY = Math.min(radiusY, height / 2);
+        var maxRadiusX:Number = width / 2;
+        var maxRadiusY:Number = height / 2;
+
+        var radiusX:Number = r.radiusX;
+        var radiusY:Number = r.radiusY == 0 ? radiusX : r.radiusY;
+
+        function radiusValue(def:Number, value:Number, max:Number):Number
+        {
+            var result:Number = isNaN(value) ? def : value;
+            return Math.min(result, max);
+        }

         // FIXME (egeorgie): optimize to not allocate a new Rectangle?
         var boundingBox:Rectangle;
-
+        var rX:Number;
+        var rY:Number;
+
         // top-left corner ellipse
-        boundingBox = MatrixUtil.getEllipseBoundingBox(radiusX, radiusY, radiusX, radiusY, m, boundingBox);
+        rX = radiusValue(radiusX, r.topLeftRadiusX, maxRadiusX);
+        rY = radiusValue(rX, r.topLeftRadiusY, maxRadiusY);
+        boundingBox = MatrixUtil.getEllipseBoundingBox(rX, rY, rX, rY, m, boundingBox);
+
         // top-right corner ellipse
-        boundingBox = MatrixUtil.getEllipseBoundingBox(width - radiusX, radiusY, radiusX, radiusY, m, boundingBox);
+        rX = radiusValue(radiusX, r.topRightRadiusX, maxRadiusX);
+        rY = radiusValue(rX, r.topRightRadiusY, maxRadiusY);
+        boundingBox = MatrixUtil.getEllipseBoundingBox(width - rX, rY, rX, rY, m, boundingBox);
+
         // bottom-right corner ellipse
-        boundingBox = MatrixUtil.getEllipseBoundingBox(width - radiusX, height - radiusY, radiusX, radiusY, m, boundingBox);
+        rX = radiusValue(radiusX, r.bottomRightRadiusX, maxRadiusX);
+        rY = radiusValue(rX, r.bottomRightRadiusY, maxRadiusY);
+        boundingBox = MatrixUtil.getEllipseBoundingBox(width - rX, height - rY, rX, rY, m, boundingBox);
+
         // bottom-left corner ellipse
-        boundingBox = MatrixUtil.getEllipseBoundingBox(radiusX, height - radiusY, radiusX, radiusY, m, boundingBox);
+        rX = radiusValue(radiusX, r.bottomLeftRadiusX, maxRadiusX);
+        rY = radiusValue(rX, r.bottomLeftRadiusY, maxRadiusY);
+        boundingBox = MatrixUtil.getEllipseBoundingBox(rX, height - rY, rX, rY, m, boundingBox);

         return boundingBox;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 16946
Author:   jimurphy@adobe.com
Date:     2010-07-15T19:35:19.689574Z

Log Message:
-----------
Commit for Tom Jordahl
Add a [Mixin] class that will register the required class aliases in the event the mxml compiler generation  [RemoteClass(alias="")] code is not called because an application does not use the Flex UI framework.

Add a reference to this class in the RPCClasses file so it always gets loaded.

QE notes: Need a remoting and messaging regression test that doesn't use Flex UI.
Bugs: Watson bug 2638788

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/rpc/src/mx/utils/RpcClassAliasInitializer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/rpc/src/RPCClasses.as</path>

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

--- frameworks/projects/rpc/src/RPCClasses.as
+++ frameworks/projects/rpc/src/RPCClasses.as
@@ -56,6 +56,7 @@
 import mx.utils.HexDecoder; HexDecoder;
 import mx.utils.HexEncoder; HexEncoder;
 import mx.utils.Translator; Translator;
+import mx.utils.RpcClassAliasInitializer; RpcClassAliasInitializer;
 }

 }


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

--- frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as
+++ frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as
@@ -20,6 +20,11 @@
  *  The event lets objects in other sandboxes know what is going on in this sandbox.
  *  The events are informational in nature as opposed to a SWFBridgeRequest,
  *  which request an object do something on its behalf.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class SWFBridgeEvent extends Event
 {
@@ -34,6 +39,11 @@
 	/**
 	 *	Dispatched to a parent bridge or sandbox root to notify it that
 	 *  another application has been activated.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public static const BRIDGE_APPLICATION_ACTIVATE:String =
         "bridgeApplicationActivate";
@@ -43,12 +53,22 @@
 	 *  that the SWF is about to be unloaded. The SystemManager marshals and
 	 *  re-dispatches the event so that application code can remove references
 	 *  that would prevent the SWF file from unloading.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const BRIDGE_APPLICATION_UNLOADING:String = "bridgeApplicationUnloading";

 	/**
 	 *  Dispatched through bridges to all other FocusManagers to notify them
 	 *  that another FocusManager is now active.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const BRIDGE_FOCUS_MANAGER_ACTIVATE:String =
         "bridgeFocusManagerActivate";
@@ -56,6 +76,11 @@
 	/**
 	 *  Dispatched through a parent bridge to its SWFLoader to notify it
 	 *  that a new SystemManager has been initialized.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const BRIDGE_NEW_APPLICATION:String =
         "bridgeNewApplication";
@@ -74,6 +99,11 @@
      *  application dispatching the event. The event might be dispatched
      *  directly to a sandbox root instead of over a bridge, so event.target
      *  might not be the bridge of the application dispatching the event.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public static const BRIDGE_WINDOW_ACTIVATE:String = "bridgeWindowActivate";

@@ -91,6 +121,11 @@
      *  application dispatching the event. The event might be dispatched
      *  directly to a sandbox root instead of over a bridge, so event.target
      *  might not be the bridge of the application dispatching the event.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     public static const BRIDGE_WINDOW_DEACTIVATE:String = "brdigeWindowDeactivate";

@@ -107,6 +142,11 @@
      *  @param event A SWFBridgeRequest which might have been created in a different ApplicationDomain.
      *
      *  @return A SWFBridgeEvent that was created in the caller's ApplicationDomain.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function marshal(event:Event):SWFBridgeEvent
     {
@@ -135,6 +175,11 @@
 	 *  @param data An object that is null by default, but can contain information about the event, depending on the
 	 *  type of event.
 	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function SWFBridgeEvent(type:String, bubbles:Boolean = false,
                                        cancelable:Boolean = false,
@@ -157,6 +202,11 @@

 	/**
 	 *  Information about the event.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var data:Object;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12085
Author:   klin@adobe.com
Date:     2009-11-21T20:42:53.350711Z

Log Message:
-----------
Reverting 12078 until I can fix the errors.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/ScrollBarTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/VideoPlayer.as
+++ frameworks/projects/spark/src/spark/components/VideoPlayer.as
@@ -1526,8 +1526,8 @@

             scrubBar.addEventListener(TrackBaseEvent.THUMB_PRESS, scrubBar_thumbPressHandler);
             scrubBar.addEventListener(TrackBaseEvent.THUMB_RELEASE, scrubBar_thumbReleaseHandler);
-            scrubBar.addEventListener(FlexEvent.CHANGE_END, scrubBar_changeEndHandler);
-            scrubBar.addEventListener(FlexEvent.CHANGE_START, scrubBar_changeStartHandler);
+            scrubBar.addEventListener(Event.CHANGE, scrubBar_changeHandler);
+            scrubBar.addEventListener(FlexEvent.CHANGING, scrubBar_changingHandler);
         }
         else if (instance == fullScreenButton)
         {
@@ -1669,8 +1669,8 @@
         {
             scrubBar.removeEventListener(TrackBaseEvent.THUMB_PRESS, scrubBar_thumbPressHandler);
             scrubBar.removeEventListener(TrackBaseEvent.THUMB_RELEASE, scrubBar_thumbReleaseHandler);
-            scrubBar.removeEventListener(FlexEvent.CHANGE_END, scrubBar_changeEndHandler);
-            scrubBar.removeEventListener(FlexEvent.CHANGE_START, scrubBar_changeStartHandler);
+            scrubBar.removeEventListener(Event.CHANGE, scrubBar_changeHandler);
+            scrubBar.removeEventListener(FlexEvent.CHANGING, scrubBar_changingHandler);
         }
         else if (instance == fullScreenButton)
         {
@@ -2234,7 +2234,7 @@
     /**
      *  @private
      */
-    private function scrubBar_changeStartHandler(event:Event):void
+    private function scrubBar_changingHandler(event:Event):void
     {
         scrubBarChanging = true;
     }
@@ -2268,7 +2268,7 @@
     /**
      *  @private
      */
-    private function scrubBar_changeEndHandler(event:Event):void
+    private function scrubBar_changeHandler(event:Event):void
     {
         seek(scrubBar.value);


Transferred from the Adobe Open Source Subversion Repository

Revision: 3441
Author:   hmuller@adobe.com
Date:     2008-10-01T18:07:00.685329Z

Log Message:
-----------
Fixed bug 17125

Restored break statements that had gone missing in a refactoring
of VerticalLayout::verticalScrollPositionDelta() and in
HozitonalLayout::horizontalScrollPositionDelta().

QE: No
Doc: No
Checkintests: Pass
Reviewer: Evtim
Bugs:
  SDK-17125 - RTE when scrolling DataGroup using keyboard

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -548,7 +548,7 @@
         var g:GroupBase = target;
         if (!g)
             return 0;
-
+
         var maxIndex:int = g.numLayoutItems -1;
         if (maxIndex < 0)
             return 0;
@@ -577,6 +577,7 @@
                 if (inView(firstIndex) >= 1)
                    firstIndex = Math.max(0, firstIndex -1);
                 itemR = itemScan(g, firstIndex, -1);
+                break;
             }

             // Compute the bounds of the last item that's not
@@ -591,6 +592,7 @@
                 if (inView(lastIndex) >= 1)
                    lastIndex = Math.min(maxIndex, lastIndex + 1);
                 itemR = itemScan(g, lastIndex, +1);
+                break;
             }
         }


Fix switcher script into voltage to transition from elevator instead of bridge.


Transferred from the Adobe Open Source Subversion Repository

Revision: 88
Author:   open-source-svn-admin@adobe.com
Date:     2008-01-03T22:47:56.499469Z

Log Message:
-----------
Perforce Change 191925 by proberts@proberts-laptop-flex on 2008/01/03 16:47:12 Severity: ignore Details: doc additions/clean up for FlexNativeMenu. Also FLEXDOCS-320 (update documentation for FlexNativeMenuEvent.MENU_SHOW to explain that the index, label, and item properties are null) Affected files ...

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessagingError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidChannelError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXContext.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidDestinationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as
+++ frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as
@@ -1,21 +1,14 @@
-/*************************************************************************
- *
- * ADOBE CONFIDENTIAL
- * __________________
- *
- *  [2002] - [2007] Adobe Systems Incorporated
- *  All Rights Reserved.
- *
- * NOTICE:  All information contained herein is, and remains
- * the property of Adobe Systems Incorporated and its suppliers,
- * if any.  The intellectual and technical concepts contained
- * herein are proprietary to Adobe Systems Incorporated
- * and its suppliers and may be covered by U.S. and Foreign Patents,
- * patents in process, and are protected by trade secret or copyright law.
- * Dissemination of this information or reproduction of this material
- * is strictly forbidden unless prior written permission is obtained
- * from Adobe Systems Incorporated.
- */
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
 package mx.messaging
 {

@@ -64,6 +57,7 @@
 //[Deprecated(since="3.0.0")]

 [ExcludeClass]
+
 /**
  * @private
  *  The base class for message queue implementations.


Transferred from the Adobe Open Source Subversion Repository

Revision: 4060
Author:   egeorgie@adobe.com
Date:     2008-11-10T20:04:18.301112Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-17266 Scaling Gumbo Button causes corners to be rounded instead of sharp

The fix is to update the skin stroke to scale.

QE Notes: None
Doc Notes: None
Bugs: SDK-16487 FLEXDOCS-533
Reviewer: Glenn
tests: checkintests, Mustella (Button)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarDownButtonSkin.mxml</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/flex4/src/mx/skins/spark/FxVSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSpinnerDecrButtonSkin.mxml</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/mx/skins/spark/FxVScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarRightButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxTextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/Stroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSpinnerIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxCheckBoxSkin.mxml</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/mx/skins/spark/FxScrollBarLeftButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxRadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHScrollBarThumbSkin.mxml</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/flex4/src/mx/skins/spark/FxVScrollBarTrackSkin.mxml</path>

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

--- frameworks/projects/framework/src/mx/graphics/GradientStroke.as
+++ frameworks/projects/framework/src/mx/graphics/GradientStroke.as
@@ -37,7 +37,7 @@
      *  LineScaleMode.NONE, LineScaleMode.NORMAL,
      *  and LineScaleMode.VERTICAL.
      *  This parameter is optional,
-     *  with a default value of LineScaleMode.NONE.
+     *  with a default value of LineScaleMode.NORMAL.
      *
      *  @param caps A value from the CapsStyle class
      *  that specifies the type of caps at the end of lines.


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

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

 package mx.accessibility
 {


Revert "Merge pull request #199 from kaltura/BJG-MassiveBuffers"

This reverts commit 37ec803ddce11d1fc85009cbaaa5453d26d98f34, reversing
changes made to aa222d72bcd7871ccbfa597ced55bbffaeef4c67.

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
@@ -461,7 +461,6 @@
 		protected var _timeCache_liveEdge:Number = 0.0;
 		protected var _timeCache_liveEdgeMinusWindowDuration:Number = NaN;
 		protected var _timeCache_streamStartAbsoluteTime:Number = NaN;
-		protected var _timeCache_lastTime:Number = NaN;

 		/**
 		 * @inheritDoc
@@ -477,8 +476,6 @@
 			if(startTime - _timeCache_LastUpdatedTimestamp > _timeCache_ExpirationPeriod)
 				_timeCache_LastUpdatedTimestamp = NaN;

-			_timeCache_lastTime = super.time;
-
 			// If cache invalid, repopulate it.
 			if(isNaN(_timeCache_LastUpdatedTimestamp) && indexHandler)
 			{
@@ -487,45 +484,21 @@
 					logger.debug("Repopulating time cache.");
 				}

-				var activeManifest:HLSManifestParser = indexHandler.getLastSequenceManifest();
-				var didValidUpdate:Boolean = false;
-
-				if(activeManifest && !isNaN(_initialTime))
-				{
-					if(activeManifest.streamEnds == false)
-					{
-						if(indexHandler.isLiveEdgeValid)
-						{
-							_timeCache_liveEdge = indexHandler.liveEdge;
-							_timeCache_liveEdgeMinusWindowDuration = _timeCache_liveEdge - indexHandler.windowDuration;
-							//trace("   o Perceived live stream (" + _timeCache_liveEdge + ", " + _timeCache_liveEdgeMinusWindowDuration + ")");
-							didValidUpdate = true;
-						}
-						else
-						{
-							//trace("   o Failed to perceive live stream.");
-						}
-					}
-					else
-					{
-						//trace("   o Perceived VOD stream.");
-						_timeCache_liveEdge = 0;
-						_timeCache_liveEdgeMinusWindowDuration = 0;
-						didValidUpdate = true;
-					}
-				}
-
-				if(didValidUpdate)
-				{
-					_timeCache_streamStartAbsoluteTime = indexHandler.streamStartAbsoluteTime;
-					_timeCache_LastUpdatedTimestamp = startTime;
+				if(indexHandler.isLiveEdgeValid)
+				{
+					_timeCache_liveEdge = indexHandler.liveEdge;
+					_timeCache_liveEdgeMinusWindowDuration = _timeCache_liveEdge - indexHandler.windowDuration;
+					//trace("   o Perceived live stream (" + _timeCache_liveEdge + ", " + _timeCache_liveEdgeMinusWindowDuration + ")");
 				}
 				else
 				{
-					// Failed to cache so can't return a real value.
-					//trace("Failed to updated time cache so aborting.");
-					return NaN;
-				}
+					//trace("   o Perceived VOD stream.");
+					_timeCache_liveEdge = 0;
+					_timeCache_liveEdgeMinusWindowDuration = 0;
+				}
+
+				_timeCache_streamStartAbsoluteTime = indexHandler.streamStartAbsoluteTime;
+				_timeCache_LastUpdatedTimestamp = startTime;
 			}

 			// First determine our absolute time.
@@ -538,9 +511,7 @@
 			{
 				var lastMan:HLSManifestParser = indexHandler.getLastSequenceManifest();
 				if(lastMan && lastMan.streamEnds == true && _timeCache_streamStartAbsoluteTime)
-					potentialNewTime -= _timeCache_streamStartAbsoluteTime;
-				else
-					return absoluteTime;
+					potentialNewTime -= _timeCache_streamStartAbsoluteTime;
 			}

 			// Take into account any cached live edge offset.


Transferred from the Adobe Open Source Subversion Repository

Revision: 22970
Author:   jasonsj@adobe.com
Date:     2011-10-11T23:29:21.729869Z

Log Message:
-----------
For iOS, SkinnablePopUpContainer ignores soft keyboard events when orientation is changing.

When computing callout max size and soft keyboard effects, use the original cached height instead of the current height in order to stabilize position and sizing. Clear explicit height (due to Resize effect) if the pop-up originally had no explicit height. Allow explicit height settings during the soft keyboard effect to clobber the cached height.

QE notes:
Doc notes:
Bugs:
SDK-31726 [ios] SPUC SK Effects: Callout when resized and turned orientation, arrow points in the wrong direction
Reviewer: tkraikit
Tests run: checkintests, mustella
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/Callout.as
+++ frameworks/projects/mobilecomponents/src/spark/components/Callout.as
@@ -528,6 +528,62 @@

         _explicitMoveForSoftKeyboard = true;
     }
+
+    //----------------------------------
+    //  calloutMaxWidth
+    //----------------------------------
+
+    private var _calloutMaxWidth:Number = NaN;
+
+    /**
+     *  @private
+     */
+    mx_internal function get calloutMaxWidth():Number
+    {
+        return _calloutMaxWidth;
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function set calloutMaxWidth(value:Number):void
+    {
+        if (_calloutMaxWidth == value)
+            return;
+
+        _calloutMaxWidth = value;
+
+        invalidateMaxSize();
+    }
+
+
+    //----------------------------------
+    //  calloutMaxHeight
+    //----------------------------------
+
+    private var _calloutMaxHeight:Number = NaN;
+
+    /**
+     *  @private
+     */
+    mx_internal function get calloutMaxHeight():Number
+    {
+        return _calloutMaxHeight;
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function set calloutMaxHeight(value:Number):void
+    {
+        if (_calloutMaxHeight == value)
+            return;
+
+        _calloutMaxHeight = value;
+
+        invalidateMaxSize();
+    }
+

     //--------------------------------------------------------------------------
     //
@@ -535,8 +591,6 @@
     //
     //--------------------------------------------------------------------------

-    private var calloutMaxWidth:Number = NaN;
-
     /**
      *  @private
      */
@@ -548,8 +602,6 @@
         return calloutMaxWidth;
     }

-    private var calloutMaxHeight:Number = NaN;
-
     /**
      *  @private
      */
@@ -574,10 +626,6 @@
         // Compute max size based on actual positions
         commitMaxSize();

-        // Invalidate skin size to use calloutMaxWidth and calloutMaxHeight
-        if (!isMaxSizeSet)
-            skin.invalidateSize();
-
         if (arrow)
         {
             // arrowDirection can be set in 2 ways: (1) horizontalPostion/verticalPosition
@@ -720,6 +768,21 @@

         if (isOpen)
             invalidatePositionFlag = true;
+    }
+
+    /**
+     *  @private
+     *  Force a new measurement when callout should use it's screen-constrained
+     *  max size.
+     */
+    private function invalidateMaxSize():void
+    {
+        // calloutMaxWidth and calloutMaxHeight don't invalidate
+        // explicitMaxWidth or explicitMaxHeight. If callout's max size changes
+        // and explicit max sizes aren't set, then invalidate size here so that
+        // callout's max size is applied.
+        if (!canSkipMeasurement() && !isMaxSizeSet)
+            invalidateSize();
     }

     /**
@@ -1290,6 +1353,18 @@

     /**
      *  @private
+     *  Return the original height if the soft keyboard is active. This height
+     *  is used to stabilize AUTO positioning so that the position is based
+     *  on the original height of the Callout instead of a possibly shorter
+     *  height due to soft keyboard effects.
+     */
+    mx_internal function get calloutHeight():Number
+    {
+        return (isSoftKeyboardEffectActive) ? softKeyboardEffectCachedHeight : getLayoutBoundsHeight();
+    }
+
+    /**
+     *  @private
      *  Compute max width and max height. Uses the the owner and screen bounds
      *  as well as preferred positions to determine max width and max height
      *  for all possible exterior and interior positions.
@@ -1301,13 +1376,15 @@
         var ownerRight:Number = ownerBounds.right;
         var ownerTop:Number = ownerBounds.top;
         var ownerBottom:Number = ownerBounds.bottom;
+        var maxW:Number;
+        var maxH:Number;

         switch (actualHorizontalPosition)
         {
             case CalloutPosition.MIDDLE:
             {
                 // Callout matches screen width
-                calloutMaxWidth = screen.width - (margin * 2);
+                maxW = screen.width - (margin * 2);
                 break;
             }
             case CalloutPosition.START:
@@ -1322,7 +1399,7 @@
             default:
             {
                 // Maximum is the larger of the actual position or flipped position
-                calloutMaxWidth = Math.max(ownerLeft, screen.right - ownerRight) - margin;
+                maxW = Math.max(ownerLeft, screen.right - ownerRight) - margin;
                 break;
             }
         }
@@ -1330,15 +1407,15 @@
         // If preferred position was AUTO, then allow maxWidth to grow to
         // fit the interior position if the owner is wide
         if ((horizontalPosition == CalloutPosition.AUTO) &&
-            (ownerBounds.width > calloutMaxWidth))
-            calloutMaxWidth += ownerBounds.width;
+            (ownerBounds.width > maxW))
+            maxW += ownerBounds.width;

         switch (actualVerticalPosition)
         {
             case CalloutPosition.MIDDLE:
             {
                 // Callout matches screen height
-                calloutMaxHeight = screen.height - (margin * 2);
+                maxH = screen.height - (margin * 2);
                 break;
             }
             case CalloutPosition.START:
@@ -1353,7 +1430,7 @@
             default:
             {
                 // Maximum is the larger of the actual position or flipped position
-                calloutMaxHeight = Math.max(ownerTop, screen.bottom - ownerBottom) - margin;
+                maxH = Math.max(ownerTop, screen.bottom - ownerBottom) - margin;
                 break;
             }
         }
@@ -1361,8 +1438,11 @@
         // If preferred position was AUTO, then allow maxHeight to grow to
         // fit the interior position if the owner is tall
         if ((verticalPosition == CalloutPosition.AUTO) &&
-            (ownerBounds.height > calloutMaxHeight))
-            calloutMaxHeight += ownerBounds.height;
+            (ownerBounds.height > maxH))
+            maxH += ownerBounds.height;
+
+        calloutMaxWidth = maxW;
+        calloutMaxHeight = maxH;
     }

     /**
@@ -1431,7 +1511,7 @@
         var ownerWidth:Number = (ownerVisualElement) ? ownerVisualElement.getLayoutBoundsWidth() : owner.width;
         var ownerHeight:Number = (ownerVisualElement) ? ownerVisualElement.getLayoutBoundsHeight() : owner.height;
         var calloutWidth:Number = getLayoutBoundsWidth();
-        var calloutHeight:Number = getLayoutBoundsHeight();
+        var calloutHeight:Number = this.calloutHeight;

         switch (horizontalPos)
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18173
Author:   jasonsj@adobe.com
Date:     2010-10-15T17:03:20.801634Z

Log Message:
-----------
Mobile Theme Initial check-in

* New light-look visuals from XD
* Changed airmobile-config.xml to use standalone Mobile theme instead of Spark overlay
* Added theme="spark, mobile" where spark was already white-listed and support is implemented and/or planned for Mobile/spark.css (see https://zerowing.corp.adobe.com/display/flexmobile/Mobile+Theme+Styles+Spec)
* MobileSkin has symbolColor and chromeColor support. Override beginChromeColorFill and drawChromeColor when defining custom chromeColor visuals.
* CheckBox and RadioButton now have chromeColor and symbolColor support
* Added textShadowColor and textShadowAlpha support to Button and ActionBar
* Added chromeColor support to HScrollBar and VScrollBar

QE notes: All mobile skins have been updaetd.
Doc notes: Update mobile skinning documentation for new APIs
Bugs:
SDK-28043 Investigate usage of "viewWidth", "viewHeight" for the Flex Mobile Skin Assets
SDK-27609 Mobile scroll bar skins should use chromeColor
SDK-27646 cornerradius has no effect on button in mobile application
Reviewer: gruehle
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_symbol.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_symbol.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/metadata/ContainerBackgroundStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/TextInput_border.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_down.fxg</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_upSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_upSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuItemSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RadioButton.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_downSelected.fxg</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/themes/Mobile/spark.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/airmobile-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_downSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationButtonSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as
@@ -14,6 +14,7 @@

 import flash.display.DisplayObject;
 import flash.display.GradientType;
+import flash.display.Graphics;
 import flash.geom.Matrix;

 import mx.core.mx_internal;
@@ -44,7 +45,10 @@
  *  @productversion Flex 4.5
  */
 public class ButtonSkin extends ButtonSkinBase
-{
+{
+    private static const CORNER_ELLIPSE_SIZE:uint = 20;
+
+    private static const BOTTOM_BORDER_SHADOW:uint = 1;

     //--------------------------------------------------------------------------
     //
@@ -56,6 +60,7 @@
         super();
         upBorderSkin = Button_up;
         downBorderSkin = Button_down;
+        useChromeColor = true;
     }

     //--------------------------------------------------------------------------
@@ -66,13 +71,8 @@
     private var bgImg:DisplayObject;

     private var changeFXGSkin:Boolean = false;
+
     private var borderClass:Class;
-
-    private static var matrix:Matrix = new Matrix();
-
-    // Used for gradient background
-    private static const alphas:Array = [1, 1, 1];
-    private static const ratios:Array = [0, 127.5, 255];

     //--------------------------------------------------------------------------
     //
@@ -151,8 +151,6 @@
         {
             layoutBorder(bgImg, unscaledWidth, unscaledHeight);
         }
-
-        drawBackground(unscaledWidth, unscaledHeight);

         // The label and icon should be placed on top of the FXG skins
         super.updateDisplayList(unscaledWidth, unscaledHeight);
@@ -172,33 +170,10 @@
         positionPart(bgImg, 0, 0);
     }

-    /**
-     *  Draws the background of the skin. Override this function to change the background.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
+    override protected function drawChromeColor(chromeColorGraphics:Graphics, unscaledWidth:Number, unscaledHeight:Number):void
     {
-        var colors:Array = [];
-
-        graphics.clear();
-
-        // Draw the gradient background
-        matrix.createGradientBox(unscaledWidth - 1, unscaledHeight - 1, Math.PI / 2, 0, 0);
-        var chromeColor:uint = getStyle("chromeColor");
-        colors[0] = ColorUtil.adjustBrightness2(chromeColor, 20);
-        colors[1] = chromeColor;
-        colors[2] = ColorUtil.adjustBrightness2(chromeColor, -20);
-
-        graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, matrix);
-
-        // Draw the background rectangle within the border, so the corners of the rect don't
-        // spill over into the rounded corners of the Button
-        graphics.drawRect(1, 1, unscaledWidth - 1, unscaledHeight - 1);
-        graphics.endFill();
+        // bottom line is a shadow
+        chromeColorGraphics.drawRoundRect(0, 0, unscaledWidth, unscaledHeight - BOTTOM_BORDER_SHADOW, CORNER_ELLIPSE_SIZE, CORNER_ELLIPSE_SIZE);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 14120
Author:   matamel@adobe.com
Date:     2010-02-11T12:52:08.058010Z

Log Message:
-----------
Made body read/write more extensible, no functionality change.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/AbstractMessage.as

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

--- frameworks/projects/rpc/src/mx/messaging/messages/AbstractMessage.as
+++ frameworks/projects/rpc/src/mx/messaging/messages/AbstractMessage.as
@@ -483,10 +483,10 @@
             if (i == 0)
             {
                 if ((flags & BODY_FLAG) != 0)
-                    body = input.readObject();
+                    readExternalBody(input);
                 else
                     body = null; // default body is {} so need to set it here
-
+
                 if ((flags & CLIENT_ID_FLAG) != 0)
                     clientId = input.readObject();

@@ -617,7 +617,7 @@
             output.writeByte(flags);

         if (body != null)
-            output.writeObject(body);
+            writeExternalBody(output);

         if (clientId != null && clientIdBytes == null)
             output.writeObject(clientId);
@@ -689,6 +689,14 @@
         }

         return result;
+    }
+
+    /**
+     * @private
+     */
+    protected function readExternalBody(input:IDataInput):void
+    {
+        body = input.readObject();
     }

     /**
@@ -720,6 +728,14 @@

         return flagsArray;
     }
+
+    /**
+     * @private
+     */
+    protected function writeExternalBody(output:IDataOutput):void
+    {
+        output.writeObject(body);
+    }
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7093
Author:   srahim@adobe.com
Date:     2009-05-19T22:29:04.235821Z

Log Message:
-----------
ASDoc updates
QE Notes: None
Doc Notes: None
Bugs: FLEXDOCS-831
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/DropShadowFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as
+++ frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as
@@ -9,8 +9,84 @@
 import mx.filters.BaseFilter;
 import mx.filters.IBitmapFilter;

+/**
+* The DisplacementMapFilter class uses the pixel values from the specified BitmapData object
+* (called the displacement map image) to perform a displacement of an object.
+* You can use this filter to apply a warped
+* or mottled effect to any object that inherits from the DisplayObject class,
+* such as MovieClip, SimpleButton, TextField, and Video objects, as well as to BitmapData objects.
+*
+*
The use of filters depends on the object to which you apply the filter:

+*

To apply filters to a display object, use the
+* filters property of the display object. Setting the filters
+* property of an object does not modify the object, and you can remove the filter by clearing the
+* filters property.

+*
+*
To apply filters to BitmapData objects, use the BitmapData.applyFilter() method.
+* Calling applyFilter() on a BitmapData object takes the source BitmapData object
+* and the filter object and generates a filtered image.

+*

+*
+*
If you apply a filter to a display object, the value of the cacheAsBitmap property of the
+* display object is set to true. If you clear all filters, the original value of
+* cacheAsBitmap is restored.

+*
+*
The filter uses the following formula:

+*
+* <listing>
+* dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) ~~ scaleX) / 256, y + ((componentY(x, y) - 128) ~~scaleY) / 256)
+* </listing>
+*
+*
where componentX(x, y) gets the componentX property color value
+* from the mapBitmap property at (x - mapPoint.x ,y - mapPoint.y).

+*
+*
The map image used by the filter is scaled to match the Stage scaling.
+* It is not scaled when the object itself is scaled.

+*
+*
This filter supports Stage scaling. However, general scaling, rotation, and
+* skewing are not supported. If the object itself is scaled (if the scaleX
+* and scaleY properties are set to a value other than 1.0),
+* the filter effect is not scaled. It is scaled only when the user zooms in on the Stage.

+*
+* @see flash.display.BitmapData#applyFilter()
+* @see flash.display.DisplayObject#filters
+* @see flash.display.DisplayObject#cacheAsBitmap
+*
+* @langversion 3.0
+* @playerversion Flash 10
+* @playerversion AIR 1.5
+* @productversion Flex 4
+*/
 public class DisplacementMapFilter extends BaseFilter implements IBitmapFilter
 {
+	/**
+	 * Constructor.
+	 *
+	 * @param mapBitmap A BitmapData object containing the displacement map data.
+	 * @param mapPoint A value that contains the offset of the upper-left corner of the
+	 * target display object from the upper-left corner of the map image.
+	 * @param componentX Describes which color channel to use in the map image to displace the x result.
+	 * Possible values are the BitmapDataChannel constants.
+	 * @param componentY Describes which color channel to use in the map image to displace the y result.
+	 * Possible values are the BitmapDataChannel constants.
+	 * @param scaleX The multiplier to use to scale the x displacement result from the map calculation.
+	 * @param scaleY The multiplier to use to scale the y displacement result from the map calculation.
+	 * @param mode The mode of the filter. Possible values are the DisplacementMapFilterMode
+	 * constants.
+	 * @param color Specifies the color to use for out-of-bounds displacements. The valid range of
+	 * displacements is 0.0 to 1.0. Use this parameter if mode is set to DisplacementMapFilterMode.COLOR.
+	 * @param alpha Specifies what alpha value to use for out-of-bounds displacements.
+	 * It is specified as a normalized value from 0.0 to 1.0. For example,
+	 * .25 sets a transparency value of 25%.
+	 * Use this parameter if mode is set to DisplacementMapFilterMode.COLOR.
+	 *
+	 * @see flash.display.BitmapDataChannel
+	 * @see flash.filters.DisplacementMapFilterMode
+	 * @langversion 3.0
+	 * @playerversion Flash 10
+	 * @playerversion AIR 1.5
+	 * @productversion Flex 4
+	 */
 	public function DisplacementMapFilter(mapBitmap:BitmapData = null,
 										  mapPoint:Point = null, componentX:uint = 0,
 										  componentY:uint = 0, scaleX:Number = 0.0,
@@ -314,6 +390,16 @@
 		}
 	}

+	/**
+	 * Returns a copy of this filter object.
+	 * @return A new DisplacementMapFilter instance with all the same properties as the
+	 * original one.
+	 *
+	 * @langversion 3.0
+	 * @playerversion Flash 10
+	 * @playerversion AIR 1.5
+	 * @productversion Flex 4
+	 */
 	public function clone():BitmapFilter
 	{
 		return null;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12127
Author:   hmuller@adobe.com
Date:     2009-11-23T23:58:00.001192Z

Log Message:
-----------
Additional min/max Inspectable metadata, mostly for the filter classes.

QE notes:
Doc notes:
Bugs: sdk-24365
Reviewer: Chet, Jason, Ryan
Tests run:
Is noteworthy for integration: no

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/framework/src/mx/filters/BaseDimensionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.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/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.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/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as
+++ frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as
@@ -142,6 +142,8 @@

     private var _alpha:Number = 0;

+    [Inspectable(minValue="0.0", maxValue="1.0")]
+
     /**
      *  Specifies the alpha transparency value to use for out-of-bounds
      *  displacements. It is specified as a normalized value from 0.0 to 1.0. For


Transferred from the Adobe Open Source Subversion Repository

Revision: 11120
Author:   hmuller@adobe.com
Date:     2009-10-24T00:02:50.868070Z

Log Message:
-----------
Added a toString() override to AsyncListView.

QE notes:
Doc notes: none
Bugs: sdk-23799
Reviewer: Alex
Tests run:
Is noteworthy for integration: no

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/AsyncListView.as

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

--- frameworks/projects/framework/src/mx/collections/AsyncListView.as
+++ frameworks/projects/framework/src/mx/collections/AsyncListView.as
@@ -671,6 +671,7 @@
      *  values aren't available yet.   The array will not be updated when the ASyncList replaces
      *  the pending items with actual (or failed) values.
      *
+     *  @return an array with the same elements as this AsyncListView.
      *  @langversion 3.0
      *  @playerversion Flash 9
      *  @playerversion AIR 1.1
@@ -689,21 +690,31 @@

     /**
-     *  Prints the contents of this view to a string and returns it.
-     *
-     *  @return The contents of this view, in string form.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  Returns a string that contains the list's length and the number of pending item requests.
+     *  This method does not include the list's items, it will not trigger pending requests.
+     *
+     *  @return A brief description of the list.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
      */
     public function toString():String
     {
-        if (list && Object(list).toString)
-            return Object(list).toString();
+        var s:String = getQualifiedClassName(this);
+
+        if (list)
+        {
+            var nRequests:int = 0;
+            for each (var responder:ListItemResponder in pendingResponders)
+                nRequests += 1;
+            s += " length=" + length + ", " + nRequests + " pending requests";
+        }
         else
-            return getQualifiedClassName(this);
+            s += " no list";
+
+        return s;
     }

 }