Transferred from the Adobe Open Source Subversion Repository

Revision: 11118
Author:   gosmith@adobe.com
Date:     2009-10-23T23:35:38.504561Z

Log Message:
-----------
Did some code cleanup on the Spark components to enforce the conventions about how to order stuff within an AS file.

QE notes: None
Doc notes: None
Bugs: None
Reviewer: None; no functional changes
Tests run: ant checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<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/spark/src/spark/components/RadioButton.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/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.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/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</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/components/supportClasses/ListBase.as</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/src/spark/components/TextInput.as</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/spark/src/spark/components/CheckBox.as</path>

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

--- frameworks/projects/spark/src/spark/components/CheckBox.as
+++ frameworks/projects/spark/src/spark/components/CheckBox.as
@@ -14,11 +14,16 @@

 import flash.events.Event;
 import flash.events.MouseEvent;
+
 import mx.core.mx_internal;

 import spark.components.supportClasses.ToggleButtonBase;

 use namespace mx_internal;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------

 /**
  *  @copy spark.components.supportClasses.GroupBase#style:symbolColor
@@ -40,9 +45,9 @@
 //  Other metadata
 //--------------------------------------

+[AccessibilityClass(implementation="spark.accessibility.CheckBoxAccImpl")]
+
 [IconFile("CheckBox.png")]
-
-[AccessibilityClass(implementation="spark.accessibility.CheckBoxAccImpl")]

 /**
  *  The CheckBox component consists of an optional label and a small box
@@ -110,7 +115,6 @@
      */
     mx_internal static var createAccessibilityImplementation:Function;

-
     //--------------------------------------------------------------------------
     //
     //  Constructor
@@ -130,7 +134,13 @@
         super();
     }

-     /**
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
      *  @private
      */
     override protected function initializeAccessibility():void
@@ -138,7 +148,6 @@
         if (CheckBox.createAccessibilityImplementation != null)
             CheckBox.createAccessibilityImplementation(this);
     }
-
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17259
Author:   cframpto@adobe.com
Date:     2010-08-10T20:19:52.141080Z

Log Message:
-----------
For Beta only, set mouseEnabled=false in the DefaultColumnHeaderRenderer so the mousing over the header doesn't give the impression it can be sorted or resized.
Fix RTE when DataGrid had focus and a key was pressed that neither the DataGrid or the Scroller handled.
Init the caret position to 0,0 if there is at least one row and one column.

QE notes:
Doc notes:
Bugs: SDK-27256, SDK-27343, SDK-27221, SDK-27214
Reviewer: Hans
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DefaultColumnHeaderRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGrid.as
+++ frameworks/projects/spark/src/spark/components/DataGrid.as
@@ -13,6 +13,7 @@
 {
 import flash.display.DisplayObject;
 import flash.events.Event;
+import flash.events.EventPhase;
 import flash.events.KeyboardEvent;
 import flash.geom.Point;
 import flash.geom.Rectangle;
@@ -848,6 +849,11 @@
      */
     override protected function keyDownHandler(event:KeyboardEvent):void
     {
+        // If the key is passed down to the Scroller it will come back here when
+        // it bubbles back up.  It may or may not have default prevented.
+        if (event.eventPhase != EventPhase.AT_TARGET)
+            return;
+
         if (!grid || event.isDefaultPrevented())
             return;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4365
Author:   cframpto@adobe.com
Date:     2008-12-19T19:28:31.780789Z

Log Message:
-----------
Implement enabled/selectable/editable text.

In FxTextArea, FxTextInput and TextGraphic, text is stripped of leading and trailing whitespace by the compiler by including [CollapseWhiteSpace] before the getters.  In contrast, content is only trimmed if the the whiteSpaceCollapse style is set to "collapse".  The default is "preserve".

QE Notes:
Doc Notes: None
Bugs: SDK-18424, SDK-15883, SDK-15884, SDK-18210, SDK-16330, SDK-17683
Reviewer: Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -198,6 +198,9 @@
     //  text
     //----------------------------------

+    // Compiler will strip leading and trailing whitespace from text string.
+    [CollapseWhiteSpace]
+
     /**
      *  @private
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 6265
Author:   gosmith@adobe.com
Date:     2009-04-24T22:52:56.350830Z

Log Message:
-----------
To make RichText more lightweight, it now uses the same technique as RichEditableText2 for its TLF hostFormat. In particular, it uses an object which is not actually a TextLayoutFormat, but instead simply implements ITextLayoutFormat by pulling the format properties directly from the component's CSS styles using getStyle(). This object is now implemented in a new CSSTextLayoutFormat class. It is smaller because it has only one var (for the object to call getStyle() on) rather than a var for every format property.

Also, the code in SimpleText, RichText, and RichEditableText2 for handling embedded fonts is now more uniform; all three classes use an identical getEmbeddedFontContext() method, which can eventually be factored into a base class or utility class after we determine the constellation of text classes that we'll ship with. I also made this code more efficient by using only a static instance of EmbeddedFont and TextFormat.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Alex

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/CSSTextLayoutFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFont.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -32,6 +32,7 @@
 import flashx.textLayout.factory.TextLineFactoryBase;
 import flashx.textLayout.factory.TruncationOptions;
 import flashx.textLayout.formats.FormatValue;
+import flashx.textLayout.formats.ITextLayoutFormat;
 import flashx.textLayout.formats.TextAlign;
 import flashx.textLayout.formats.TextLayoutFormat;
 import flashx.textLayout.formats.VerticalAlign;
@@ -47,6 +48,7 @@
 import mx.core.mx_internal;
 import mx.managers.ISystemManager;

+import spark.core.CSSTextLayoutFormat;
 import spark.primitives.supportClasses.TextGraphicElement;
 import spark.utils.TextUtil;

@@ -98,7 +100,8 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class RichText extends TextGraphicElement implements IFontContextComponent
+public class RichText extends TextGraphicElement
+	implements IFontContextComponent
 {
     include "../core/Version.as";

@@ -113,31 +116,35 @@
      */
     private static function initClass():void
     {
-        // Create a single Configuration used by all RichText instances.
-        staticConfiguration =
-            Configuration(StringTextLineFactory.defaultFactoryConfiguration).clone();
-
-        staticTextLayoutFormat.lineBreak = FormatValue.INHERIT;
+        staticTextLayoutFormat = new TextLayoutFormat();
+		staticTextLayoutFormat.lineBreak = FormatValue.INHERIT;
         staticTextLayoutFormat.paddingLeft = FormatValue.INHERIT;
         staticTextLayoutFormat.paddingRight = FormatValue.INHERIT;
         staticTextLayoutFormat.paddingTop = FormatValue.INHERIT;
         staticTextLayoutFormat.paddingBottom = FormatValue.INHERIT;
         staticTextLayoutFormat.verticalAlign = FormatValue.INHERIT;

+        // Create a single Configuration used by all RichText instances.
+        staticConfiguration = Configuration(
+        	StringTextLineFactory.defaultFactoryConfiguration).clone();
         staticConfiguration.textFlowInitialFormat = staticTextLayoutFormat;

-        // Create the factory used to create text lines from content.
-        staticTextFlowFactory = new TextFlowTextLineFactory();
-        staticTextFlowFactory.verticalScrollPolicy = "off";
-        staticTextFlowFactory.horizontalScrollPolicy = "off";
-
-        // Create the factory used to create text lines from text.
+        // Create the factory used to create TextLines from 'text'.
         staticStringFactory = new StringTextLineFactory(staticConfiguration);
         staticStringFactory.verticalScrollPolicy = "off";
         staticStringFactory.horizontalScrollPolicy = "off";
+
+        // Create the factory used to create TextLines from 'content'.
+        staticTextFlowFactory = new TextFlowTextLineFactory();
+        staticTextFlowFactory.verticalScrollPolicy = "off";
+        staticTextFlowFactory.horizontalScrollPolicy = "off";
+
+        staticEmbeddedFont = new EmbeddedFont("", false, false);
+
+        staticTextFormat = new TextFormat();
      }

-    initClass();
+    initClass();

     //--------------------------------------------------------------------------
     //
@@ -149,8 +156,7 @@
      *  @private
      *  Used for determining whitespace processing during import.
      */
-    private static var staticTextLayoutFormat:TextLayoutFormat =
-        new TextLayoutFormat();
+    private static var staticTextLayoutFormat:TextLayoutFormat;

     /**
      *  @private
@@ -169,6 +175,24 @@
      *  To compose text lines using a text flow.
      */
     private static var staticTextFlowFactory:TextFlowTextLineFactory;
+
+    /**
+     *  @private
+     *  Used in getEmbeddedFontContext().
+     */
+    private static var staticEmbeddedFont:EmbeddedFont;
+
+    /**
+     *  @private
+     *  Used in getEmbeddedFontContext().
+     */
+    private static var staticTextFormat:TextFormat;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class properties
+    //
+    //--------------------------------------------------------------------------

     //----------------------------------
     //  embeddedFontRegistry
@@ -218,45 +242,20 @@
     {
         super();
     }
-

-   //--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
     //
     //  Variables
     //
     //--------------------------------------------------------------------------

-    /**
-     * @private
-     *
-     * Cache last value of embedded font.
-     */
-    private var cachedEmbeddedFont:EmbeddedFont = null;
-
-    /**
-     *  @private
-     * Holds the last recorded value of the module factory used to create the font.
-     */
-    private var embeddedFontContext:IFlexModuleFactory = null;
-
-    /**
-     *  @private
-     *  True if we need to compute the fontLookup
-     */
-    private var autoFontLookup:Boolean = false;
-
-    /**
-     *  @private
-     */
-    private var textFlow:TextFlow;
-
     /**
      *  @private
      *  This object is determined by the CSS styles of the RichText
      *  and is updated by createTextFlow() when the hostFormatsInvalid flag
      *  is true.
      */
-    private var hostTextLayoutFormat:TextLayoutFormat = new TextLayoutFormat();
+    private var hostFormat:ITextLayoutFormat;

     /**
      *  @private
@@ -266,7 +265,12 @@
      *  when styleChanged() is called with a null argument, indicating that
      *  multiple styles have changed.
      */
-    private var hostTextLayoutFormatInvalid:Boolean = false;
+    private var hostFormatChanged:Boolean = true;
+
+    /**
+     *  @private
+     */
+    private var textFlow:TextFlow;

     /**
      *  @private
@@ -287,36 +291,15 @@

     /**
      *  @private
-     */
-    private var _textLineCreator:ITextLineCreator;
-
-    //--------------------------------------------------------------------------
-    //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
-
-    //----------------------------------
-    //  fontContext
-    //----------------------------------
-
-    private var _fontContext:IFlexModuleFactory;
-
-    /**
-     *  @private
-     */
-    public function get fontContext():IFlexModuleFactory
-    {
-        return _fontContext;
-    }
-
-    /**
-     *  @private
-     */
-    public function set fontContext(value:IFlexModuleFactory):void
-    {
-        _fontContext = value;
-    }
+     *  Holds the last recorded value of the module factory
+     *  used to create the font.
+     */
+    mx_internal var embeddedFontContext:IFlexModuleFactory;
+
+    /**
+     *  @private
+     */
+    private var textLineCreator:ITextLineCreator;

     //--------------------------------------------------------------------------
     //
@@ -368,6 +351,37 @@
         super.text = value;
     }

+    //--------------------------------------------------------------------------
+    //
+    //  Properties: IFontContextComponent
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  fontContext
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _fontContext:IFlexModuleFactory;
+
+    /**
+     *  @private
+     */
+    public function get fontContext():IFlexModuleFactory
+    {
+        return _fontContext;
+    }
+
+    /**
+     *  @private
+     */
+    public function set fontContext(value:IFlexModuleFactory):void
+    {
+        _fontContext = value;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Properties
@@ -470,7 +484,7 @@
     {
         super.stylesInitialized();

-        hostTextLayoutFormatInvalid = true;
+        hostFormatChanged = true;
     }

     /**
@@ -480,17 +494,7 @@
     {
         super.styleChanged(styleProp);

-        // If null or "styleName" is passed, indicating that
-        // multiple styles may have changed, set a flag indicating
-        // that hostContainerFormat, hostParagraphFormat,
-        // and hostCharacterFormat need to be recalculated later.
-        // But if a single style has changed, update the corresponding
-        // property in either hostContainerFormat, hostParagraphFormat,
-        // or hostCharacterFormat immediately.
-        if (styleProp == null || styleProp == "styleName")
-            hostTextLayoutFormatInvalid = true;
-        else
-            setHostTextLayoutFormat(styleProp);
+        hostFormatChanged = true;
     }

     //--------------------------------------------------------------------------
@@ -518,89 +522,56 @@
     //
     //--------------------------------------------------------------------------

-    private function checkEmbeddedFontContext():void
-    {
-        var embeddedFont:EmbeddedFont = getEmbeddedFont(
-            hostTextLayoutFormat.fontFamily,
-            hostTextLayoutFormat.fontWeight == "bold",
-            hostTextLayoutFormat.fontStyle == "italic");
-
-        var oldEmbeddedFontContext:IFlexModuleFactory = embeddedFontContext;
-
-        if (autoFontLookup)
-        {
-            embeddedFontContext =
-                embeddedFontRegistry.getAssociatedModuleFactory(
-                    embeddedFont, fontContext);
-
-            // if we found the font, then it is embedded.
-            // Some fonts are not listed in info(), so are not in the above registry.
-            // Call isFontFaceEmbedded() which get the list of embedded fonts from the player.
-            if (embeddedFontContext != null)
+    /**
+     *  @private
+     */
+    private function getEmbeddedFontContext():IFlexModuleFactory
+    {
+		var moduleFactory:IFlexModuleFactory;
+
+		var fontLookup:String = getStyle("fontLookup");
+		if (fontLookup == "auto")
+        {
+			var font:String = getStyle("fontFamily");
+			var bold:Boolean = getStyle("fontWeight") == "bold";
+			var italic:Boolean = getStyle("fontStyle") == "italic";
+
+			staticEmbeddedFont.initialize(font, bold, italic);
+
+            moduleFactory = embeddedFontRegistry.getAssociatedModuleFactory(
+            	staticEmbeddedFont, fontContext);
+
+            // If we found the font, then it is embedded.
+            // But some fonts are not listed in info()
+            // and are therefore not in the above registry.
+            // So we call isFontFaceEmbedded() which gets the list
+            // of embedded fonts from the player.
+            if (!moduleFactory)
             {
-                hostTextLayoutFormat.fontLookup = FontLookup.EMBEDDED_CFF;
+                var sm:ISystemManager;
+                if (fontContext != null && fontContext is ISystemManager)
+                	sm = ISystemManager(fontContext);
+                else if (parent is IUIComponent)
+                	sm = IUIComponent(parent).systemManager;
+
+                staticTextFormat.font = font;
+                staticTextFormat.bold = bold;
+                staticTextFormat.italic = italic;
+
+                if (sm != null && sm.isFontFaceEmbedded(staticTextFormat))
+                    moduleFactory = sm;
             }
-            else
-            {
-                var sm:ISystemManager = creatingSystemManager();
-                var textFormat:TextFormat = new TextFormat();
-                textFormat.font = hostTextLayoutFormat.fontFamily;
-                textFormat.bold = hostTextLayoutFormat.fontWeight == "bold";
-                textFormat.italic = hostTextLayoutFormat.fontStyle == "italic";
-                if (sm != null && sm.isFontFaceEmbedded(textFormat))
-                {
-                    hostTextLayoutFormat.fontLookup = FontLookup.EMBEDDED_CFF;
-                }
-                else
-                {
-                    hostTextLayoutFormat.fontLookup = FontLookup.DEVICE;
-                }
-            }
         }
         else
         {
-            if (hostTextLayoutFormat.fontLookup == FontLookup.EMBEDDED_CFF)
-                embeddedFontContext = fontContext;
-            else
-                embeddedFontContext = null;
-        }
-
-        // force us to re-create the textline factory
-        if (oldEmbeddedFontContext != embeddedFontContext)
-        {
-            _textLineCreator =
-                embeddedFontContext ?
-                ITextLineCreator(embeddedFontContext) : null;
-        }
-    }
-
-    /**
-     *  @private
-     */
-    private function setHostTextLayoutFormat(styleProp:String):void
-    {
-        if (styleProp in hostTextLayoutFormat)
-        {
-            var value:* = getStyle(styleProp);
-
-            if (styleProp == "tabStops" && value === undefined)
-                value = [];
-
-            if (styleProp == "fontLookup")
-            {
-                if (value == "auto")
-                    autoFontLookup = true;
-                else
-                {
-                    autoFontLookup = false;
-                    hostTextLayoutFormat[styleProp] = value;
-                }
-            }
-            else
-                hostTextLayoutFormat[styleProp] = value;
-        }
-    }
-
+            moduleFactory = fontLookup == FontLookup.EMBEDDED_CFF ?
+                			fontContext :
+            				null;
+        }
+
+        return moduleFactory;
+    }
+
     /**
      *  @private
      */
@@ -764,24 +735,43 @@
         contentChanged = false;
         textChanged = false;

-        if (hostTextLayoutFormatInvalid)
-        {
-            for (var p:String in TextLayoutFormat.tlf_internal::description)
-            {
-                setHostTextLayoutFormat(p);
-            }
-            hostTextLayoutFormatInvalid = false;
-        }
-
-        checkEmbeddedFontContext();
+        var oldEmbeddedFontContext:IFlexModuleFactory =
+        	mx_internal::embeddedFontContext;
+
+        // If the CSS styles for this component specify an embedded font,
+        // embeddedFontContext will be set to the module factory that
+        // should create TextLines (since they must be created in the
+        // SWF where the embedded font is.)
+        // Otherwise, this will be null.
+        mx_internal::embeddedFontContext = getEmbeddedFontContext();
+
+        if (mx_internal::embeddedFontContext != oldEmbeddedFontContext)
+        {
+            textLineCreator =
+            	mx_internal::embeddedFontContext ?
+             	ITextLineCreator(mx_internal::embeddedFontContext) :
+                null;
+        }
+
+        if (hostFormatChanged)
+        {
+        	hostFormat = new CSSTextLayoutFormat(this);
+        		// Note: CSSTextLayoutFormat has special processing
+        		// for the fontLookup style. If it is "auto",
+        		// the fontLookup format is set to either
+        		// "device" or "embedded" depending on whether
+        		// embeddedFontContext is null or non-null.
+
+        	hostFormatChanged = false;
+        }

         if (textFlow)
         {
-            textFlow.hostFormat = new TextLayoutFormat(hostTextLayoutFormat);
+            textFlow.hostFormat = hostFormat;

             // There should always be a composer but be safe.
             if (textFlow.flowComposer)
-                textFlow.flowComposer.textLineCreator = _textLineCreator;
+                textFlow.flowComposer.textLineCreator = textLineCreator;
         }

         return textFlow;
@@ -789,7 +779,6 @@

     /**
      *  @private
-     *
      *  This will throw on import error.
      */
     private function importToFlow(source:Object, format:String):TextFlow
@@ -908,16 +897,15 @@

         if (textFlow)
         {
-            staticTextFlowFactory.createTextLines(addTextLine,
-                                                  textFlow,
-                                                  _textLineCreator);
+            staticTextFlowFactory.createTextLines(
+            	addTextLine, textFlow, textLineCreator);
         }
         else
         {
             // We know text is non-null since it got this far.
             staticStringFactory.text = mx_internal::_text;
-            staticStringFactory.textFlowFormat = hostTextLayoutFormat;
-            staticStringFactory.createTextLines(addTextLine, _textLineCreator);
+            staticStringFactory.textFlowFormat = hostFormat;
+            staticStringFactory.createTextLines(addTextLine, textLineCreator);
         }

         mx_internal::bounds = factory.measuredBounds;
@@ -961,35 +949,6 @@

         invalidateDisplayList();
     }
-
-    private function creatingSystemManager():ISystemManager
-    {
-        return ((fontContext != null) && (fontContext is ISystemManager))
-                ? ISystemManager(fontContext)
-                : (parent is IUIComponent) ? IUIComponent(parent).systemManager : null;
-    }
-
-    /**
-     * @private
-     *
-     * Get the embedded font for a set of font attributes.
-     */
-    private function getEmbeddedFont(fontName:String, bold:Boolean, italic:Boolean):EmbeddedFont
-    {
-        // Check if we can reuse a cached value.
-        if (cachedEmbeddedFont)
-        {
-            if (cachedEmbeddedFont.fontName == fontName &&
-                cachedEmbeddedFont.fontStyle == EmbeddedFontRegistry.getFontStyle(bold, italic))
-            {
-                return cachedEmbeddedFont;
-            }
-        }
-
-        cachedEmbeddedFont = new EmbeddedFont(fontName, bold, italic);
-
-        return cachedEmbeddedFont;
-    }
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 6324
Author:   cframpto@adobe.com
Date:     2009-04-28T15:20:11.363586Z

Log Message:
-----------
Integrate Vellum Build 420.

import flashx.textLayout.elements.ITextCreator -> flashx.textLayout.compose.ITextCreator
StringTextLineFactory.defaultFactoryConfiguration -> defaultConfiguration
textLineCreator property added to TextLineFactoryBase and arg removed from createTextLines
factory.bounds -> factory.compositionBounds
factory.measuredBounds -> factory.contentBounds

QE Notes:
Doc Notes:
Bugs:
Reviewers: will be Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/tlf/textLayout.swz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/tlf/textLayout.swf</path>
<path kind="file" action="M">/flex/sdk/trunk/in/tlf/tlf.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -20,11 +20,11 @@
 import flash.text.engine.FontLookup;
 import flash.text.engine.TextLine;

+import flashx.textLayout.compose.ITextLineCreator;
 import flashx.textLayout.conversion.ITextImporter;
 import flashx.textLayout.conversion.TextFilter;
 import flashx.textLayout.elements.Configuration;
 import flashx.textLayout.elements.FlowElement;
-import flashx.textLayout.elements.ITextLineCreator;
 import flashx.textLayout.elements.ParagraphElement;
 import flashx.textLayout.elements.SpanElement;
 import flashx.textLayout.elements.TextFlow;
@@ -128,7 +128,7 @@

         // Create a single Configuration used by all RichText instances.
         staticConfiguration = Configuration(
-        	StringTextLineFactory.defaultFactoryConfiguration).clone();
+        	StringTextLineFactory.defaultConfiguration).clone();
         staticConfiguration.textFlowInitialFormat = staticTextLayoutFormat;

         // Create the factory used to create TextLines from 'text'.
@@ -305,11 +305,6 @@
      *  used to create the font.
      */
     mx_internal var embeddedFontContext:IFlexModuleFactory;
-
-    /**
-     *  @private
-     */
-    private var textLineCreator:ITextLineCreator;

     //--------------------------------------------------------------------------
     //
@@ -783,7 +778,12 @@
         mx_internal::embeddedFontContext = getEmbeddedFontContext();

         if (mx_internal::embeddedFontContext != oldEmbeddedFontContext)
-            textLineCreator = ITextLineCreator(mx_internal::embeddedFontContext);
+        {
+            staticTextFlowFactory.textLineCreator =
+                ITextLineCreator(mx_internal::embeddedFontContext)
+            staticStringFactory.textLineCreator =
+                ITextLineCreator(mx_internal::embeddedFontContext)
+        }

         if (hostFormatChanged)
         {
@@ -803,7 +803,10 @@

             // There should always be a composer but be safe.
             if (textFlow.flowComposer)
-                textFlow.flowComposer.textLineCreator = textLineCreator;
+            {
+                textFlow.flowComposer.textLineCreator =
+                    staticTextFlowFactory.textLineCreator;
+            }
         }

         return textFlow;
@@ -914,8 +917,8 @@
  		else
 		    return;

-        factory.bounds = mx_internal::bounds;
-
+        factory.compositionBounds = mx_internal::bounds;
+
         // Set up the truncation options.
         var truncationOptions:TruncationOptions;
         if (truncation != 0)
@@ -929,18 +932,17 @@

         if (textFlow)
         {
-            staticTextFlowFactory.createTextLines(
-            	addTextLine, textFlow, textLineCreator);
+            staticTextFlowFactory.createTextLines(addTextLine, textFlow);
         }
         else
         {
             // We know text is non-null since it got this far.
             staticStringFactory.text = mx_internal::_text;
             staticStringFactory.textFlowFormat = hostFormat;
-            staticStringFactory.createTextLines(addTextLine, textLineCreator);
-        }
-
-        mx_internal::bounds = factory.measuredBounds;
+            staticStringFactory.createTextLines(addTextLine);
+        }
+
+        mx_internal::bounds = factory.contentBounds;
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 22197
Author:   eday@adobe.com
Date:     2011-08-24T23:43:48.419784Z

Log Message:
-----------
Fix for Scroller bug:  scroll ranges were not being recalculated on orientation changes on Android.

QE notes:
Doc notes:
Bugs: SDK-31145
Reviewer: Glenn
Tests run: checkintests, mustella
Is noteworthy for integration: no

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -1063,6 +1063,7 @@
             viewport.clipAndEnableScrolling = true;
             Group(skin).addElementAt(viewport, 0);
             viewport.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, viewport_propertyChangeHandler);
+            viewport.addEventListener(Event.RESIZE, viewport_resizeHandler);
         }
         if (verticalScrollBar)
             verticalScrollBar.viewport = viewport;
@@ -1081,6 +1082,7 @@
             viewport.clipAndEnableScrolling = false;
             Group(skin).removeElement(viewport);
             viewport.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, viewport_propertyChangeHandler);
+            viewport.removeEventListener(Event.RESIZE, viewport_resizeHandler);
         }
     }

@@ -1854,6 +1856,22 @@
             handleContentSizeChangeOnUpdateComplete);

         handleContentSizeChange();
+    }
+
+    /**
+     *  @private
+     */
+    private function viewport_resizeHandler(event:Event):void
+    {
+        if (getStyle("interactionMode") == InteractionMode.TOUCH)
+        {
+            // If the viewport dimensions have changed, then we may need to update the
+            // scroll ranges and positions per the new viewport size.
+            // Note that the orientationChangeHandler serves the same purpose, but on
+            // some platforms (i.e. Android) the runtime sends the "orientationChange"
+            // event before the new viewport dimensions are set.
+            checkScrollPosition();
+        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 20111
Author:   stshongr@adobe.com
Date:     2011-02-04T00:17:04.027886Z

Log Message:
-----------
Round the slop values to the nearest pixel after converting from inches.

Doc notes: No
Bugs: SDK-29371
Reviewer: Eric
Tests run: checkintests, mobile List mustella tests
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -1872,9 +1872,9 @@
                 {
                     touchScrollHelper = new TouchScrollHelper(this);
                     var dpi:Number = flash.system.Capabilities.screenDPI;
-                    touchScrollHelper.horizontalSlop = minHorizontalSlopInches * dpi;
-                    touchScrollHelper.verticalSlop = minVerticalSlopInches * dpi;
-                    touchScrollHelper.diagonalSlop = minDiagonalSlopInches * dpi;
+                    touchScrollHelper.horizontalSlop = Math.round(minHorizontalSlopInches * dpi);
+                    touchScrollHelper.verticalSlop = Math.round(minVerticalSlopInches * dpi);
+                    touchScrollHelper.diagonalSlop = Math.round(minDiagonalSlopInches * dpi);
                 }
             }
             else


Added all regression models... moving onto drawing the curves... then generating the equations.

--- WeaveUISpark/src/weave/visualization/plotters/RegressionLinePlotter.as
+++ WeaveUISpark/src/weave/visualization/plotters/RegressionLinePlotter.as
@@ -24,14 +24,12 @@
 	import flash.geom.Point;

 	import mx.collections.ArrayCollection;
-	import mx.controls.Alert;
 	import mx.rpc.AsyncToken;
 	import mx.rpc.events.FaultEvent;
 	import mx.rpc.events.ResultEvent;
 	import mx.utils.ArrayUtil;

 	import weave.Weave;
-	import weave.api.WeaveAPI;
 	import weave.api.disposeObjects;
 	import weave.api.getCallbackCollection;
 	import weave.api.newLinkableChild;
@@ -86,9 +84,6 @@

 		private function resetRegressionLine():void
 		{
-			// clear previous values
-			slope = NaN;
-			intercept = NaN;
 			coefficients = null;
 		}
 		private function calculateRRegression():void
@@ -101,43 +96,41 @@
 			{
 				//trace( "calculateRegression() " + xColumn.toString() );
 				Rstring = "fit <- lm(y~x)\n"
-					+"intercept <- coefficients(fit)[1]\n"
-					+"slope <- coefficients(fit)[2]\n"
-					+"rSquared <- summary(fit)$r.squared\n";
-				dataXY = ColumnUtils.joinColumns([xColumn, yColumn], Number, false, filteredKeySet.keys);
-
-
-				// sends a request to Rserve to calculate the slope and intercept of a regression line fitted to xColumn and yColumn
-				token = rService.runScript(null,["x","y"],[dataXY[1],dataXY[2]],["intercept","slope","rSquared"],Rstring,"",false,false,false);
-				addAsyncResponder(token, handleLinearRegressionResult, handleLinearRegressionFault, ++requestID);
-			}
-
+					+"coef <- coefficients(fit)\n" +
+						"+ ";
+			}
+
 			if (currentTrendline.value == POLYNOMIAL)
 			{
-				// ToDo Add rSquared
 				Rstring = "fit <- lm(y ~ poly(x, " + polynomialDegree.value.toString() + ", raw = TRUE))\n"
-					+"coef <- coefficients(fit)\n"
-				dataXY = ColumnUtils.joinColumns([xColumn, yColumn], Number, false, filteredKeySet.keys);
-
-				// sends a request to Rserve to calculate the coefficients of the regression polynomial fitted to xColumn and yColumn
-				token = rService.runScript(null, ["x","y"], [dataXY[1], dataXY[2]], ["coef"], Rstring, "", false, false, false);
-				addAsyncResponder(token, handleLinearRegressionResult, handleLinearRegressionFault, ++requestID);
+					+"coef <- coefficients(fit)\n";
 			}

 			if (currentTrendline.value == LOGARITHMIC)
 			{
-
-			}
+				Rstring = "fit <- lm( y ~ log(x) )\n"
+					+"coef <- coefficients(fit)\n";
+			}
+

 			if (currentTrendline.value == EXPONENTIAL)
 			{
-
+				Rstring = "fit <- lm( log(y) ~ x )\n"
+					+"coef <- coefficients(fit)\n";
+
 			}

 			if (currentTrendline.value == POWER)
 			{
-
-			}
+				Rstring = "fit <- lm( log(y) ~ x )\n"
+					+"coef <- coefficients(fit)\n";
+			}
+
+			dataXY = ColumnUtils.joinColumns([xColumn, yColumn], Number, false, filteredKeySet.keys);
+
+			// sends a request to Rserve to calculate the coefficients of the regression lograrithmic function to xColumn and yColumn
+			token = rService.runScript(null, ["x","y"], [dataXY[1], dataXY[2]], ["coef"], Rstring, "", false, false, false);
+			addAsyncResponder(token, handleLinearRegressionResult, handleLinearRegressionFault, ++requestID);

 		}

@@ -178,7 +171,99 @@
 				if (currentTrendline.value == POLYNOMIAL)
 				{
 					coefficients = ((RresultArray[0] as RResult).value as Array != coefficients) ? (RresultArray[0] as RResult).value as Array : null;
-
+					getCallbackCollection(this).triggerCallbacks();
+				}
+
+				if (currentTrendline.value == EXPONENTIAL)
+				{
+
+				}
+
+				if (currentTrendline.value == POWER)
+				{
+
+				}
+
+				if (currentTrendline.value == LOGARITHMIC)
+				{
+
+
+				}
+			}
+		}
+
+		private function handleLinearRegressionFault(event:FaultEvent, token:Object = null):void
+		{
+			if (this.requestID != int(token))
+			{
+				// ignore outdated results
+				return;
+			}
+
+			reportError(event);
+			intercept = NaN;
+			slope = NaN;
+			coefficients = null;
+			getCallbackCollection(this).triggerCallbacks();
+		}
+
+		public function getSlope():Number { return slope; }
+		public function getIntercept():Number { return intercept; }
+		public function getCoefficients():Array { return coefficients; }
+
+		private var intercept:Number = NaN;
+		private var slope:Number = NaN;
+		private var rSquared:Number = NaN;
+		private var coefficients:Array = null;
+
+		private var tempRange:Range = new Range();
+		private var tempPoint:Point = new Point();
+		private var tempPoint2:Point = new Point();
+
+		override public function drawBackground(dataBounds:IBounds2D, screenBounds:IBounds2D, destination:BitmapData):void
+		{
+			var g:Graphics = tempShape.graphics;
+			g.clear();
+
+			if(currentTrendline.value == LINEAR)
+			{
+//				g.clear();
+//				if(!isNaN(intercept))
+//				{
+//					tempPoint.x = dataBounds.getXMin();
+//					tempPoint2.x = dataBounds.getXMax();
+//
+//					tempPoint.y = (slope*tempPoint.x)+intercept;
+//					tempPoint2.y = (slope*tempPoint2.x)+intercept;
+//
+//					tempRange.setRange( dataBounds.getYMin(), dataBounds.getYMax() );
+//
+//					// constrain yMin to be within y range and derive xMin from constrained yMin
+//					tempPoint.x = tempPoint.x + (tempRange.constrain(tempPoint.y) - tempPoint.y) / slope;
+//					tempPoint.y = tempRange.constrain(tempPoint.y);
+//
+//					// constrain yMax to be within y range and derive xMax from constrained yMax
+//					tempPoint2.x = tempPoint.x + (tempRange.constrain(tempPoint2.y) - tempPoint.y) / slope;
+//					tempPoint2.y = tempRange.constrain(tempPoint2.y);
+//
+//					dataBounds.projectPointTo(tempPoint,screenBounds);
+//					dataBounds.projectPointTo(tempPoint2,screenBounds);
+//					lineStyle.beginLineStyle(null,g);
+//					//g.lineStyle(lineThickness.value, lineColor.value,lineAlpha.value,true,LineScaleMode.NONE);
+//					g.moveTo(tempPoint.x,tempPoint.y);
+//					g.lineTo(tempPoint2.x,tempPoint2.y);
+//
+//					destination.draw(tempShape);
+//				}
+			}
+			else if (currentTrendline.value == POLYNOMIAL)
+			{
+				points = new Vector.<Number>;
+				drawCommand = new Vector.<int>;
+
+				if (coefficients != null)
+				{
+					// ToDo Use screenBounds to determine how many points should be drawn
 					// Preprocess coefficients ==> It might return NaN in higher degree
 					for (var i:int = 0; i < coefficients.length; i++)
 					{
@@ -188,137 +273,12 @@
 							i--;
 						}
 					}
+
 					coefficients.reverse();
-
-					getCallbackCollection(this).triggerCallbacks();
-				}
-
-				if (currentTrendline.value == EXPONENTIAL)
-				{
-
-				}
-
-				if (currentTrendline.value == POWER)
-				{
-
-				}
-
-				if (currentTrendline.value == LOGARITHMIC)
-				{
-
-
-				}
-			}
-		}
-
-		private function handleLinearRegressionFault(event:FaultEvent, token:Object = null):void
-		{
-			if (this.requestID != int(token))
-			{
-				// ignore outdated results
-				return;
-			}
-
-			reportError(event);
-			intercept = NaN;
-			slope = NaN;
-			coefficients = null;
-			getCallbackCollection(this).triggerCallbacks();
-		}
-
-		public function getSlope():Number { return slope; }
-		public function getIntercept():Number { return intercept; }
-		public function getCoefficients():Array { return coefficients; }
-
-		private var intercept:Number = NaN;
-		private var slope:Number = NaN;
-		private var rSquared:Number = NaN;
-		private var coefficients:Array = null;
-
-		private var tempRange:Range = new Range();
-		private var tempPoint:Point = new Point();
-		private var tempPoint2:Point = new Point();
-
-		override public function drawBackground(dataBounds:IBounds2D, screenBounds:IBounds2D, destination:BitmapData):void
-		{
-			var g:Graphics = tempShape.graphics;
-			g.clear();
-
-			if(currentTrendline.value == LINEAR)
-			{
-				g.clear();
-				if(!isNaN(intercept))
-				{
-					tempPoint.x = dataBounds.getXMin();
-					tempPoint2.x = dataBounds.getXMax();
-
-					tempPoint.y = (slope*tempPoint.x)+intercept;
-					tempPoint2.y = (slope*tempPoint2.x)+intercept;
-
-					tempRange.setRange( dataBounds.getYMin(), dataBounds.getYMax() );
-
-					// constrain yMin to be within y range and derive xMin from constrained yMin
-					tempPoint.x = tempPoint.x + (tempRange.constrain(tempPoint.y) - tempPoint.y) / slope;
-					tempPoint.y = tempRange.constrain(tempPoint.y);
-
-					// constrain yMax to be within y range and derive xMax from constrained yMax
-					tempPoint2.x = tempPoint.x + (tempRange.constrain(tempPoint2.y) - tempPoint.y) / slope;
-					tempPoint2.y = tempRange.constrain(tempPoint2.y);
-
-					dataBounds.projectPointTo(tempPoint,screenBounds);
-					dataBounds.projectPointTo(tempPoint2,screenBounds);
-					lineStyle.beginLineStyle(null,g);
-					//g.lineStyle(lineThickness.value, lineColor.value,lineAlpha.value,true,LineScaleMode.NONE);
-					g.moveTo(tempPoint.x,tempPoint.y);
-					g.lineTo(tempPoint2.x,tempPoint2.y);
-
-					destination.draw(tempShape);
-				}
-			}
-			else if (currentTrendline.value == POLYNOMIAL)
-			{
-				points = new Vector.<Number>;
-				drawCommand = new Vector.<int>;
-				var previousPoint:Point = null;
-
-				if (coefficients != null)
-				{
-//					// ToDo Use screenBounds to determine how many points should be drawn
-//					var flag:Boolean = true;
-//					 for (var x:int = dataBounds.getXMin(); x <= dataBounds.getXMax(); x++)
-//					 {
-//						tempPoint.x = x;
-//						tempPoint.y = polynomial(coefficients, x);
-//						dataBounds.projectPointTo(tempPoint, screenBounds);
-//						points.push(tempPoint.x);
-//						points.push(tempPoint.y);
-//
-//						if (flag == true)
-//						{
-//							drawCommand.push(1);
-//							flag = false;
-//						}
-//						else if (screenBounds.containsPoint(previousPoint) && screenBounds.containsPoint(tempPoint))
-//							drawCommand.push(2);
-//						else
-//							drawCommand.push(1);
-//
-//						previousPoint = tempPoint.clone();
-//					}
-//
-//					g.lineStyle(1);
-//					g.drawPath(drawCommand, points);
-//
-//					destination.draw(tempShape);
-
-
-
-					// Draw lines for every 3 pixels
-					var numberOfPoint:Number = Math.floor(screenBounds.getXCoverage() / 3);
-					var increment:Number = dataBounds.getXCoverage() / numberOfPoint;
+
 					var flag:Boolean = true;
-					for (var x:Number = dataBounds.getXMin(); x <= dataBounds.getXMax(); x = x + increment)
-					{
+					 for (var x:int = dataBounds.getXMin(); x < dataBounds.getXMax(); x++)
+					 {
 						tempPoint.x = x;
 						tempPoint.y = polynomial(coefficients, x);
 						dataBounds.projectPointTo(tempPoint, screenBounds);
@@ -330,14 +290,11 @@
 							drawCommand.push(1);
 							flag = false;
 						}
-						else if (screenBounds.containsPoint(previousPoint) && screenBounds.containsPoint(tempPoint))
-							drawCommand.push(2);
-						else
-							drawCommand.push(1);
-
-						previousPoint = tempPoint.clone();
+//						else if (tempPoint.y > screenBounds.getYMax() || tempPoint.y < screenBounds.getYMin())
+//							drawCommand.push(1);
+						else drawCommand.push(2);
 					}
-
+
 					g.lineStyle(1);
 					g.drawPath(drawCommand, points);

@@ -368,7 +325,7 @@
 		}
 		// Trendlines
 		public const polynomialDegree:LinkableNumber = registerLinkableChild(this, new LinkableNumber(2), calculateRRegression);
-		public const currentTrendline:LinkableString = registerLinkableChild(this, new LinkableString(LINEAR), calculateRRegression);
+		public const currentTrendline:LinkableString = registerLinkableChild(this, new LinkableString(""), calculateRRegression);

 		[Bindable] public var trendlines:Array = [LINEAR, POLYNOMIAL, LOGARITHMIC, EXPONENTIAL, POWER];
 		public static const LINEAR:String = "Linear";


Transferred from the Adobe Open Source Subversion Repository

Revision: 1968
Author:   jimurphy@adobe.com
Date:     2008-06-05T15:31:56.961691Z

Log Message:
-----------
Merge 3.0.x revisions [1940,1954] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemEnumerationMode.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/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/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.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/airframework/src/mx/events/AIREvent.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.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/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.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/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>

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

--- frameworks/projects/airframework/src/mx/core/Window.as
+++ frameworks/projects/airframework/src/mx/core/Window.as
@@ -471,7 +471,7 @@
  *
  *  @see mx.core.WindowedApplication
  *
- *  @productversion Apollo 1.0
+ *  @playerversion AIR 1.1
  */
 public class Window extends LayoutContainer implements IWindow
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11468
Author:   smgilson@adobe.com
Date:     2009-11-05T16:54:31.738281Z

Log Message:
-----------
Part 1 of ASDoc localization bug fixes

QE notes: -
Doc notes: -
Bugs: - FLEXDOCS-934, FLEXDOCS-909, FLEXDOCS-908, FLEXDOCS-906, FLEXDOCS-882, FLEXDOCS-883, FLEXDOCS-881
Reviewer: -
Tests run: - checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Pause.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quartic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeLeft.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quintic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quadratic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Cubic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeDown.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/HSBColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ArrayUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/TweenEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeRight.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/DefaultListEffect.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeUp.as</path>

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

--- frameworks/projects/mx/src/mx/effects/easing/Linear.as
+++ frameworks/projects/mx/src/mx/effects/easing/Linear.as
@@ -13,7 +13,7 @@
 {

 /**
- *  The new effects provided as of Flex 4 use classes which implement the
+ *  The Spark effects provided as of Flex 4 use classes which implement the
  *  IEaser interface instead of the easing functions in classes like Linear for
  *  the earlier Flex 3 effects. To achieve the same functionality of the old
  *  Linear class, create a new instance of spark.effects.easing.Linear or call
@@ -34,24 +34,24 @@
  */
 public class Linear
 {
-	include "../../core/Version.as";
+    include "../../core/Version.as";

-	//--------------------------------------------------------------------------
-	//
-	//  Class methods
-	//
-	//--------------------------------------------------------------------------
-
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
     /**
      *  The easeNone() method defines a constant motion,
      *  with no acceleration.
      *
      *  @param t Specifies time.
-	 *
+     *
      *  @param b Specifies the initial position of a component.
-	 *
+     *
      *  @param c Specifies the total change in position of the component.
-	 *
+     *
      *  @param d Specifies the duration of the effect, in milliseconds.
      *
      *  @return Number corresponding to the position of the component.
@@ -61,22 +61,22 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-	public static function easeNone(t:Number, b:Number,
-									c:Number, d:Number):Number
-	{
-		return c * t / d + b;
-	}
+    public static function easeNone(t:Number, b:Number,
+                                    c:Number, d:Number):Number
+    {
+        return c * t / d + b;
+    }

     /**
      *  The easeIn() method starts motion from zero velocity,
      *  and then accelerates motion as it executes.
      *
      *  @param t Specifies time.
-	 *
+     *
      *  @param b Specifies the initial position of a component.
-	 *
+     *
      *  @param c Specifies the total change in position of the component.
-	 *
+     *
      *  @param d Specifies the duration of the effect, in milliseconds.
      *
      *  @return Number corresponding to the position of the component.
@@ -86,22 +86,22 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-	public static function easeIn(t:Number, b:Number,
-								  c:Number, d:Number):Number
-	{
-		return c * t / d + b;
-	}
+    public static function easeIn(t:Number, b:Number,
+                                  c:Number, d:Number):Number
+    {
+        return c * t / d + b;
+    }

     /**
      *  The easeOut() method starts motion fast,
      *  and then decelerates motion to a zero velocity as it executes.
      *
      *  @param t Specifies time.
-	 *
+     *
      *  @param b Specifies the initial position of a component.
-	 *
+     *
      *  @param c Specifies the total change in position of the component.
-	 *
+     *
      *  @param d Specifies the duration of the effect, in milliseconds.
      *
      *  @return Number corresponding to the position of the component.
@@ -111,24 +111,24 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-	public static function easeOut(t:Number, b:Number,
-								   c:Number, d:Number):Number
-	{
-		return c * t / d + b;
-	}
+    public static function easeOut(t:Number, b:Number,
+                                   c:Number, d:Number):Number
+    {
+        return c * t / d + b;
+    }

     /**
      *  The easeInOut() method combines the motion
      *  of the easeIn() and easeOut() methods
-	 *  to start the motion from zero velocity, accelerate motion,
-	 *  then decelerate back to zero velocity.
+     *  to start the motion from zero velocity, accelerate motion,
+     *  then decelerate back to zero velocity.
      *
      *  @param t Specifies time.
-	 *
+     *
      *  @param b Specifies the initial position of a component.
-	 *
+     *
      *  @param c Specifies the total change in position of the component.
-	 *
+     *
      *  @param d Specifies the duration of the effect, in milliseconds.
      *
      *  @return Number corresponding to the position of the component.
@@ -138,11 +138,11 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-	public static function easeInOut(t:Number, b:Number,
-									 c:Number, d:Number):Number
-	{
-		return c * t / d + b;
-	}
+    public static function easeInOut(t:Number, b:Number,
+                                     c:Number, d:Number):Number
+    {
+        return c * t / d + b;
+    }
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 1803
Author:   jimurphy@adobe.com
Date:     2008-05-21T15:12:36.332665Z

Log Message:
-----------
Merge 3.0.x revisions [1802 ] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/ChannelSet.as
+++ frameworks/projects/rpc/src/mx/messaging/ChannelSet.as
@@ -1450,7 +1450,12 @@
                 var faultEvent:ChannelFaultEvent = event as ChannelFaultEvent;
                 errorMsg.faultDetail = faultEvent.faultCode + " " +
                                    faultEvent.faultString + " " +
-                                   faultEvent.faultDetail;
+                                   faultEvent.faultDetail;
+                // This is to make streaming channels report authentication fault
+                // codes correctly as they don't report connected until streaming
+                // connection is established and hence end up here.
+                if (faultEvent.faultCode == "Channel.Authentication.Error")
+                    errorMsg.faultCode = faultEvent.faultCode;
             }
             // ChannelEvent.DISCONNECT is treated the same as never
             // being able to connect at all.


Transferred from the Adobe Open Source Subversion Repository

Revision: 1123
Author:   shodgson@adobe.com
Date:     2008-04-07T20:33:35.393035Z

Log Message:
-----------
Merge 1122 from branches/3.0.x to trunk.

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

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

--- frameworks/projects/rpc/src/mx/messaging/ChannelSet.as
+++ frameworks/projects/rpc/src/mx/messaging/ChannelSet.as
@@ -1079,9 +1079,6 @@
      *  @return Returns a token that client code may
      *  add a responder to in order to handle success or failure directly.
      *
-     *  @return Returns a token that client code may
-     *  add a responder to in order to handle success or failure directly.
-     *
      *  @throws flash.errors.IllegalOperationError if a login or logout operation is currently in progress.
      */
     public function logout(agent:MessageAgent=null):AsyncToken
@@ -1103,7 +1100,7 @@
             if (_authAgent == null)
                 _authAgent = new AuthenticationAgent(this);
             _authAgent.registerToken(token);
-            _authAgent.state == AuthenticationAgent.LOGGING_OUT_STATE;
+            _authAgent.state = AuthenticationAgent.LOGGING_OUT_STATE;
             send(_authAgent, msg);
             return token;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

Modified Paths:
--------------
2361 paths were modified

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

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

 package mx.rpc.wsdl
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5762
Author:   jimurphy@adobe.com
Date:     2009-03-30T19:25:21.583080Z

Log Message:
-----------
airframework update:
mx.core.FxWindowApplication -> spark.components.windowClasses.WindowedApplication
should have been:
mx.core.FxWindowApplication -> spark.components.WindowedApplication

add back classes to spark-manifest.xml that got nixed during the manifest merge and update related effects classes that were not being compiled because of this omission.

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk/frameworks</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/WindowedApplicationSkin.mxml</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks/projects/flex4</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/spark-air-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/AIRFrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/WindowedApplication.as" copyfrom-rev="5757" action="A">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks/projects/framework</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale3D.as
+++ frameworks/projects/spark/src/spark/effects/Scale3D.as
@@ -28,7 +28,7 @@
  */
 public class AnimateTransformScale3D extends AnimateTransformScale
 {
-    include "../../spark.core.Version.as";
+    include "../core/Version.as";

     public function AnimateTransformScale3D(target:Object=null)
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4803
Author:   egeorgie@adobe.com
Date:     2009-02-03T00:06:34.444252Z

Log Message:
-----------
Fix bug SDK-18434 Bounds for rotated rounded rect is incorrect

Fix: Calculate the bounds of the transformed corner ellipses in the case of matrix transformation. Refactor the Ellipse's helper method and move it to MatrixUtil.as so that it's shared between classes.

QE Notes: None
Doc Notes: None
Bugs: SDK-18434
Reviewer: Ryan
tests: checkintests, mustella gumbo/layout/graphicelement

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Rect.as
+++ frameworks/projects/spark/src/spark/primitives/Rect.as
@@ -13,10 +13,12 @@
 {
 import flash.events.EventDispatcher;
 import flash.display.Graphics;
+import flash.geom.Matrix;
 import flash.geom.Point;
 import flash.geom.Rectangle;

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

 /**
  *  The Rect class is a filled graphic element that draws a rectangle.
@@ -74,8 +76,10 @@
         if (value != _radiusX)
         {
             _radiusX = value;
+
+            invalidateSize();
             invalidateDisplayList();
-            // No need to invalidateSize() since we don't use radiusX to compute size
+            invalidateParentSizeAndDisplayList();
         }
     }

@@ -100,8 +104,10 @@
         if (value != _radiusY)
         {
             _radiusY = value;
+
+            invalidateSize();
             invalidateDisplayList();
-            // No need to invalidateSize() since we don't use radiusY to compute size
+            invalidateParentSizeAndDisplayList();
         }
     }

@@ -116,12 +122,110 @@
      */
     override protected function drawElement(g:Graphics):void
     {
-        if (radiusX != 0 || radiusY != 0)
+        if (radiusX != 0 && radiusY != 0)
             g.drawRoundRect(drawX, drawY, width, height, radiusX * 2, radiusY * 2);
         else
             g.drawRect(drawX, drawY, width, height);
     }
-
+
+    /**
+     *  @private
+     */
+    override protected function transformWidthForLayout(width:Number,
+                                                        height:Number,
+                                                        postTransform:Boolean = true):Number
+    {
+        if (postTransform)
+        {
+            var m:Matrix = computeMatrix();
+            if (m)
+                width = getRoundRectBoundingBox(width, height, radiusX, radiusY, m).width;
+        }
+
+        // Take stroke into account
+        return width + getStrokeExtents(postTransform).x;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function transformHeightForLayout(width:Number,
+                                                         height:Number,
+                                                         postTransform:Boolean = true):Number
+    {
+        if (postTransform)
+        {
+            var m:Matrix = computeMatrix();
+            if (m)
+                height = getRoundRectBoundingBox(width, height, radiusX, radiusY, m).height;
+        }
+
+        // Take stroke into account
+        return height + getStrokeExtents(postTransform).y;
+    }
+
+    /**
+     *  @private
+     */
+    override public function getLayoutBoundsX(postTransform:Boolean = true):Number
+    {
+        var stroke:Number = -getStrokeExtents(postTransform).x * 0.5;
+        if (postTransform)
+        {
+            var m:Matrix = computeMatrix();
+            if (m)
+                return stroke + getRoundRectBoundingBox(width, height, radiusX, radiusY, m).x;
+        }
+
+        return stroke + this.x;
+    }
+
+    /**
+     *  @private
+     */
+    override public function getLayoutBoundsY(postTransform:Boolean = true):Number
+    {
+        var stroke:Number = - getStrokeExtents(postTransform).y * 0.5;
+        if (postTransform)
+        {
+            var m:Matrix = computeMatrix();
+            if (m)
+                return stroke + getRoundRectBoundingBox(width, height, radiusX, radiusY, m).y;
+        }
+
+        return stroke + this.y;
+    }
+
+    /**
+     *  @private
+     */
+    static private function getRoundRectBoundingBox(width:Number,
+                                                    height:Number,
+                                                    radiusX:Number,
+                                                    radiusY:Number,
+                                                    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);
+
+        // TODO EGeorgie: optimize to not allocate a new Rectangle?
+        var boundingBox:Rectangle;
+
+        // top-left corner ellipse
+        boundingBox = MatrixUtil.getEllipseBoundingBox(radiusX, radiusY, radiusX, radiusY, m, boundingBox);
+        // top-right corner ellipse
+        boundingBox = MatrixUtil.getEllipseBoundingBox(width - radiusX, radiusY, radiusX, radiusY, m, boundingBox);
+        // bottom-right corner ellipse
+        boundingBox = MatrixUtil.getEllipseBoundingBox(width - radiusX, height - radiusY, radiusX, radiusY, m, boundingBox);
+        // bottom-left corner ellipse
+        boundingBox = MatrixUtil.getEllipseBoundingBox(radiusX, height - radiusY, radiusX, radiusY, m, boundingBox);
+
+        return boundingBox;
+    }
 }

 }


Added createText() for conveniently creating a multiline text widget.

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

--- src/as/com/threerings/flex/FlexUtil.as
+++ src/as/com/threerings/flex/FlexUtil.as
@@ -23,6 +23,7 @@

 import mx.controls.Label;
 import mx.controls.Spacer;
+import mx.controls.Text;

 import mx.core.Container;
 import mx.core.UIComponent;
@@ -56,6 +57,19 @@
     public static function createLabel (text :String, style :String = null) :Label
     {
         return createTipLabel(text, null, style);
+    }
+
+    /**
+     * Create an uneditable/unselectable multiline Text widget with the specified text and width.
+     */
+    public static function createText (text :String, width :int, style :String = null) :Text
+    {
+        var t :Text = new Text();
+        t.styleName = style;
+        t.width = width;
+        t.selectable = false;
+        t.text = text;
+        return t;
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 12977
Author:   gosmith@adobe.com
Date:     2009-12-16T01:09:31.861871Z

Log Message:
-----------
Added ASDoc for the Spark ButtonBaseAccImpl, ToggleButtonAccImpl, CheckBoxAccImpl, and RadioButtonAccImpl, based on the opensource specs.

QE notes: None
Doc notes: None
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/accessibility/ToggleButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/RadioButtonAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/ButtonBaseAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/ButtonBaseAccImpl.as
@@ -27,10 +27,89 @@

 use namespace mx_internal;

-
 /**
- *  ButtonBaseAccImpl is a subclass of AccessibilityImplementation
- *  which implements accessibility for the Button class.
+ *  ButtonBaseAccImpl is the accessibility implementation class
+ *  for spark.components.ButtonBase.
+ *
+ *
Although ToggleButton, CheckBox, and RadioButton have their own
+ *  accessibility implementation subclasses,
+ *  Button simply uses the one for ButtonBase.
+ *  Therefore, the rest of this description refers to
+ *  the commonly-used Button class rather than the ButtonBase base class.

+ *
+ *
When a Spark Button is created,
+ *  its accessibilityImplementation property
+ *  is set to an instance of this class.
+ *  The Flash Player then uses this class to allow MSAA clients
+ *  such as screen readers to see and manipulate the Button.
+ *  See the mx.accessibility.AccImpl and
+ *  flash.accessibility.AccessibilityImplementation classes
+ *  for background information about accessibility implementation
+ *  classes and MSAA.

+ *
+ *
Children

+ *
+ *
A Button has no MSAA children.

+ *
+ *
Role

+ *
+ *
The MSAA Role of a Button is ROLE_SYSTEM_PUSHBUTTON.

+ *
+ *
Name

+ *
+ *
The MSAA Name of a Button is, by default, the label that it displays.
+ *  When wrapped in a FormItem element,
+ *  this label will be combined with the FormItem's label.
+ *  To override this behavior,
+ *  set the Button's accessibilityName property.

+ *
+ *
When the Name changes,
+ *  a Button dispatches the MSAA event EVENT_OBJECT_NAMECHANGE.

+ *
+ *
Description

+ *
+ *
The MSAA Description of a Button is, by default, the empty string,
+ *  but you can set the Button's accessibilityDescription
+ *  property.

+ *
+ *
State

+ *
+ *
The MSAA State of a Button is a combination of:
+ *

+ *
STATE_SYSTEM_UNAVAILABLE (when enabled is false)

+ *
STATE_SYSTEM_FOCUSABLE (when enabled is true)

+ *
STATE_SYSTEM_FOCUSED (when enabled is true
+ *    and the Button has focus)

+ *

+ *
+ *
When the State changes,
+ *  a Button dispatches the MSAA event EVENT_OBJECT_STATECHANGE.

+ *
+ *
Value

+ *
+ *
A Button does not have an MSAA Value.

+ *
+ *
Location

+ *
+ *
The MSAA Location of a Button is its bounding rectangle.

+ *
+ *
Default Action

+ *
+ *
The MSAA DefaultAction of a Button is "Press".

+ *
+ *
When an MSAA client tells the Button to perform this action,
+ *  KEY_DOWN and KEY_UP MouseEvents for the SPACE key are generated,
+ *  to simulate pressing the ButtonBase via the keyboard,
+ *  if the Button is enabled.

+ *
+ *
Focus

+ *
+ *
A Button accepts focus.
+ *  When it does so, it dispatches the MSAA event EVENT_OBJECT_FOCUS.

+ *
+ *
Selection

+ *
+ *
A Button does not support selection in the MSAA sense.

  *
  *  @langversion 3.0
  *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

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

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

 package spark.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

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

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


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 6122
Author:   chaase@adobe.com
Date:     2009-04-10T14:30:17.762458Z

Log Message:
-----------
Various refactorings/renamings/changes from effects PARB review.

QE Notes: mx/effects and spark/effects currently broken (and disabled) due to these API changes. Matt is fixing.
Doc Notes: None
Bugs:
Reviewer: Hans
tests: checkintests, mustella tests/ListDataEffects

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EaseInOut.as" copyfrom-rev="5944" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/CompositeEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EaseInOut.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EasingFraction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EffectEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/TweenEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/RepeatBehavior.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/NumberArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/Animate3DInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimationProperty.as" copyfrom-rev="5944" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateFilterInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/Rotate3DInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/AnimationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RotateInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimationProperty.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>

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

--- frameworks/projects/spark/src/spark/effects/animation/MotionPath.as
+++ frameworks/projects/spark/src/spark/effects/animation/MotionPath.as
@@ -181,7 +181,7 @@
         if (n == 2 && keyframes[1].timeFraction == 1)
         {
             // The common case where we are just animating from/to, as in the
-            // case of an AnimationProperty
+            // case of an SimpleMotionPath
             var easedF:Number = (keyframes[1].easer) ?
                 keyframes[1].easer.ease(fraction) :
                 fraction;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12280
Author:   smgilson@adobe.com
Date:     2009-11-30T17:45:36.448234Z

Log Message:
-----------
ASDoc updates in preperation for localization

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeDirection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/CrossFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/SetAction.as</path>

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

--- frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as
+++ frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as
@@ -16,7 +16,7 @@
  *  the acceleration, or ease in phase, followed by the deceleration, or ease out phase.
  *  The default behavior of this class returns a linear
  *  interpolation for both easing phases. You can create a subclass
- *  of EaseInOutBase to get more interestion behavior.
+ *  of EaseInOutBase to get more interesting behavior.
  *
  *  @mxml
  *


Passing back to Jon

Passing back to Jon

--- microphone/src/test/flex/TestApp.as
+++ microphone/src/test/flex/TestApp.as
@@ -43,6 +43,8 @@
             var audioPcmAsset:ByteArrayAsset = new AudioPcm();
             assertTrue("embedded bytesAvailable", audioPcmAsset.bytesAvailable > 0);

+            var inputLength:int = audioPcmAsset.bytesAvailable;
+
             assertNotNull(container.stage);
             var rootSprite:Sprite = new Sprite();
             container.addChild(rootSprite);
@@ -60,8 +62,9 @@

             assertTrue("outputFormat set to " + outputFormat, encoder.getOutputFormat() == outputFormat);
             assertTrue("outputSampleRate set to " + outputSampleRate, encoder.getOutputSampleRate() == outputSampleRate);
-            assertTrue("outputLength > 0 = " + encoder.getOutputLength(), encoder.getOutputLength() > 0);
-
+            assertTrue("outputLength > 0 outputLength= " + encoder.getOutputLength(), encoder.getOutputLength() > 0);
+            assertTrue("outputLength < inputLength/5 inputLength= " + inputLength, encoder.getOutputLength() < inputLength/5);
+
             encoder.dispose(0);
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8486
Author:   smgilson@adobe.com
Date:     2009-07-09T18:42:45.734868Z

Log Message:
-----------
Third checkin to update the namespace in ASDoc MXML syntax descriptions for Spark components

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

Modified Paths:
--------------
<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/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</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/components/DataRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</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/spark/src/spark/components/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</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/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.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/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.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/components/CheckBox.as</path>
<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/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</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/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</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/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.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/spark/src/spark/components/VScrollBar.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/ItemRenderer.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/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -110,7 +110,7 @@
  *  The user can select one or more items from the list, depending
  *  on the value of the allowMultipleSelection property.
  *
- *  @mxml
The <List> tag inherits all of the tag
+ *  @mxml
The <s:List> tag inherits all of the tag
  *  attributes of its superclass and adds the following tag attributes:

  *
  *