Try to pack all remaining textures before creating a new atlas.

--- exporter/src/main/as/flump/export/Packer.as
+++ exporter/src/main/as/flump/export/Packer.as
@@ -31,7 +31,7 @@
             }
         }
         _unpacked.sort(Comparators.createReverse(Comparators.createFields(["a", "w", "h"])));
-        while (_unpacked.length > 0) pack();
+        pack();
     }

     public function get targetDevice () :DeviceType {
@@ -39,20 +39,30 @@
     }

     protected function pack () :void {
-        const tex :SwfTexture = _unpacked[0];
-        if (tex.w > MAX_SIZE || tex.h > MAX_SIZE) throw new Error("Too large to fit in an atlas");
-        for each (var atlas :Atlas in atlases) {
-            // TODO(bruno): Support rotated textures?
-            if (atlas.place(tex)) {
-                _unpacked.shift();
-                return;
+
+        while (_unpacked.length > 0) {
+            // Add a new atlas
+            var size :Point = findOptimalSize();
+            atlases.push(new Atlas(_lib.location + "/atlas" + atlases.length,
+                _target, size.x, size.y));
+
+            // Try to pack each texture into any atlas
+            for (var ii :int = 0; ii < _unpacked.length; ++ii) {
+                var tex :SwfTexture = _unpacked[ii];
+
+                if (tex.w > MAX_SIZE || tex.h > MAX_SIZE) {
+                    throw new Error("Too large to fit in an atlas");
+                }
+
+                for each (var atlas :Atlas in atlases) {
+                    // TODO(bruno): Support rotated textures?
+                    if (atlas.place(tex)) {
+                        _unpacked.splice(ii--, 1);
+                        break;
+                    }
+                }
             }
         }
-
-        // It didn't fit in any existing atlas, add another one
-        var size :Point = findOptimalSize();
-        atlases.push(new Atlas(_lib.location + "/atlas" + atlases.length, _target, size.x, size.y));
-        pack();
     }

     // Estimate the optimal size for the next atlas
@@ -60,6 +70,7 @@
         var area :int = 0;
         var maxW :int = 0;
         var maxH :int = 0;
+
         for each (var tex :SwfTexture in _unpacked) {
             var w :int = tex.w + 2*Atlas.PADDING;
             var h :int = tex.h + 2*Atlas.PADDING;


Removed delay from Tween/Transitioner constructors

git-svn-id: 6aa7ccb0a2048310a30f08a72aaff4ca39d980ed@57 91848ab2-c4ae-4e4f-8e6a-6a52ea0dccc3

--- flare.animate/flare/animate/Transitioner.as
+++ flare.animate/flare/animate/Transitioner.as
@@ -163,7 +163,7 @@

 			var tw:Tween = _lookup[o];
 			if (tw == null) {
-				add(tw = getTween(o, duration, delay));
+				add(tw = getTween(o, duration));
 				tw.easing = Easing.none;
 				_lookup[o] = tw;
 			}
@@ -314,17 +314,15 @@
 		private static var _tweenPool:Array = [];
 		private static var _count:int = 0;

-		private static function getTween(o:Object, duration:Number,
-			delay:Number):Tween
+		private static function getTween(o:Object, duration:Number):Tween
 		{
 			var tw:Tween;
 			if (_tweenPool.length > 0) {
 				tw = _tweenPool.pop();
 				tw.target = o;
 				tw.duration = duration;
-				tw.delay = delay;
 			} else {
-				tw = new Tween(o, duration, delay);
+				tw = new Tween(o, duration);
 			}
 			return tw;
 		}


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

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

 import mx.core.mx_internal;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4318
Author:   rfrishbe@adobe.com
Date:     2008-12-16T01:06:12.577766Z

Log Message:
-----------
A bunch of small changes:

- Rename from "content" to "mxmlContent"--I missed some places before

- Remove references from Group to GraphicElement.  Change them to use IGraphicElement.

- Update the IGraphicElement interface for above.  Evtim will go in and clean it up more later

- Group optimization so we don't loop through all visual element children in validateProperties(), validateSize(), and validateDisplayList() if we have no graphic elements.  Some further optimizations are possible, but we're not sure if it's worth it.  For instance, we could just loop over the graphic elements directly, rather than all elements.  Also, we always call assignDisplayObjects() even if we don't need to (all elements are display objects and have layer == 0).

- Cleanup around setting alpha and blendMode in Group

- Cleanup around bindable properties in Group

- Commented a lot of code I didn't understand in Group

- Cleaned up some code in display object sharing for Group (no need for lastDisplayObject...just need insertIndex)

- All layouts now call super.measure() and super.updateDisplayList() even though the LayoutBase version of these methods does nothing.

QE Notes: None
Doc Notes: None
Bugs: SDK-18065
Reviewer: Jason
tests: checkintests, Mustella Group, FxContainer, GraphicTags, and layout

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Parser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/framework/src/mx/states/AddItems.as
+++ frameworks/projects/framework/src/mx/states/AddItems.as
@@ -380,7 +380,7 @@
                 break;
         }

-        if ( (propertyName == null || propertyName == "content") && (dest is IVisualElementContainer))
+        if ( (propertyName == null || propertyName == "mxmlContent") && (dest is IVisualElementContainer))
         {
             addItemsToContentHolder(dest as IVisualElementContainer, localItems);
         }
@@ -420,7 +420,7 @@
         else
             localItems = [items];

-        if ((propertyName == null || propertyName == "content") && (dest is IVisualElementContainer))
+        if ((propertyName == null || propertyName == "mxmlContent") && (dest is IVisualElementContainer))
         {
             for (i = 0; i < numAdded; i++)
                 IVisualElementContainer(dest).removeElementAt(startIndex);


Transferred from the Adobe Open Source Subversion Repository

Revision: 3148
Author:   gosmith@adobe.com
Date:     2008-09-08T22:01:15.712225Z

Log Message:
-----------
You can now use CSS styles to set the default text format for TextView. It no longer has any formatting properties. It supports the entire set of Gumbo text format styles.

SkinnableComponent and Group now also support all these styles. However, skins such as ButtonSkin, TextInputSkin, and TextAreaSkin continue for now to specify instance styles on their TextBox, TextGraphic, and TextView, in order to give them a Gumbo look rather than a Halo look. So if you try setting, for example, the fontSize on the Application, it doesn't yet affect the text format of a Button, TextInput, TextArea, etc. unless you remove the instance style in the skin.

Reviewer: Glenn
Bugs: -
QA: Lots of new stuff to test!
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextGraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -41,6 +41,10 @@
 import mx.managers.ILayoutManagerClient;
 import mx.styles.IStyleClient;

+//--------------------------------------
+//  Events
+//--------------------------------------
+
 /**
  *  Dispatched prior to the group's content being changed. This is only
  *  dispatched when all content of the group is changing.
@@ -64,6 +68,21 @@
  *  event.relatedObject is the visual item that was removed.
  */
 [Event(name="itemRemove", type="flex.events.ItemExistenceChangedEvent")]
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+include "../styles/metadata/BasicContainerFormatTextStyles.as"
+include "../styles/metadata/AdvancedContainerFormatTextStyles.as"
+include "../styles/metadata/BasicParagraphFormatTextStyles.as"
+include "../styles/metadata/AdvancedParagraphFormatTextStyles.as"
+include "../styles/metadata/BasicCharacterFormatTextStyles.as"
+include "../styles/metadata/AdvancedCharacterFormatTextStyles.as"
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------

 [DefaultProperty("content")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 12327
Author:   smgilson@adobe.com
Date:     2009-12-01T18:17:23.194369Z

Log Message:
-----------
ASDoc updates in preparation 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/components/RadioButtonGroup.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/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/PopUpAnchor.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/Label.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/framework/src/mx/core/IDeferredContentOwner.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/NumericStepper.as</path>

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -69,8 +69,8 @@
  *  The formatting of the text is specified by the element's CSS styles,
  *  such as fontFamily and fontSize.
  *
- *
Label, which is new with Flex 4, makes use of the new
- *  Flash Text Engine (FTE) in Flash Player 10 to provide high-quality
+ *
Label uses of the
+ *  Flash Text Engine (FTE) in Flash Player to provide high-quality
  *  international typography.
  *  Because Label is fast and lightweight, it is especially suitable
  *  for use cases that involve rendering many small pieces of non-interactive
@@ -91,17 +91,17 @@
  *  selection, editing, hyperlinks, images loaded from URLs, etc.
  *  You should use the fastest one that meets your needs.

  *
- *
spark.components.Label is similar to the older MX control mx.controls.Label.
- *  The most important differences to understand are
+ *
The Spark Label control is similar to the MX Label control, mx.controls.Label.
+ *  The most important differences are:
  *

  *
Spark Label uses FTE, the player's new text engine,
- *        while MX Label uses the obsolete TextField class.

+ *        while MX Label uses the TextField class.

  *
Spark Label offers better typography, and better support
  *        for international languages, than MX Label.

  *
Spark Label can display multiple lines, which MX Label cannot.

  *
MX Label can display a limited subset of HTML,
  *        while Spark Label can only display text with uniform formatting.

- *
MX Label can be made selectable, while Label cannot.

+ *
MX Label can be made selectable, while Spark Label cannot.

  *

  *
  *
In Spark Label, three character sequences are recognized
@@ -164,9 +164,57 @@
  *  about individual glyphs; for more info, see
  *  flash.text.engine.TextLineValidity.STATIC.

  *
+ *  @mxml
The <s:Label> tag inherits all of the tag
+ *  attributes of its superclass and adds the following tag attributes:

+ *
+ *

+ *  <s:Label
+ *    Properties
+ *    fontContext=""
+ *
+ *    Styles
+ *    alignmentBaseline="baseline"
+ *    baselineShift="0"
+ *    cffHinting="0.0"
+ *    color="0x000000"
+ *    digitCase="default"
+ *    digitWidth="default"
+ *    direction="ltr"
+ *    dominantBaseline="auto"
+ *    fontFamily="Arial"
+ *    fontLookup="device"
+ *    fontSize="12"
+ *    fontStyle="normal"
+ *    fontWeight="normal"
+ *    justificationRule="auto"
+ *    justificationStyle="auto"
+ *    kerning="false"
+ *    ligatureLevel="common"
+ *    lineBreak="toFit"
+ *    lineHeight="120%"
+ *    lineThrough="false%"
+ *    locale="en"
+ *    paddingBottom="0"
+ *    paddingLeft="0"
+ *    paddingRight="0"
+ *    paddingTop="0"
+ *    renderingMode="cff"
+ *    textAlign="start"
+ *    textAlignLast="start"
+ *    textAlpha="1"
+ *    textDecoration="start"
+ *    textJustify="interWord"
+ *    trackingLeft="0"
+ *    trackingRight="00"
+ *    typographicCase="default"
+ *    verticalAlign="top"
+ *  />
+ *

+ *
  *  @see spark.components.RichEditableText
  *  @see spark.components.RichText
- *
+ *  @see flash.text.engine.TextLineValidity#STATIC
+ *
  *  @includeExample examples/LabelExample.mxml
  *
  *  @langversion 3.0
@@ -175,55 +223,55 @@
  *  @productversion Flex 4
  */
 public class Label extends TextBase
-	implements IFontContextComponent
+    implements IFontContextComponent
 {
     include "../core/Version.as";

-	//--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
     //
     //  Class initialization
     //
     //--------------------------------------------------------------------------
-
-    /**
-	 *  @private
-	 */
-	private static function initClass():void
-	{
-		staticTextBlock = new TextBlock();
-
-		staticTextElement = new TextElement();
-
-		staticSpaceJustifier = new SpaceJustifier();
-
-		staticEastAsianJustifier = new EastAsianJustifier();
-
-		staticTextFormat = new TextFormat();
-
-		if ("recreateTextLine" in staticTextBlock)
-			recreateTextLine = staticTextBlock["recreateTextLine"];
-	}
-
-	initClass();
-
-	//--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static function initClass():void
+    {
+        staticTextBlock = new TextBlock();
+
+        staticTextElement = new TextElement();
+
+        staticSpaceJustifier = new SpaceJustifier();
+
+        staticEastAsianJustifier = new EastAsianJustifier();
+
+        staticTextFormat = new TextFormat();
+
+        if ("recreateTextLine" in staticTextBlock)
+            recreateTextLine = staticTextBlock["recreateTextLine"];
+    }
+
+    initClass();
+
+    //--------------------------------------------------------------------------
     //
     //  Class variables
     //
     //--------------------------------------------------------------------------
-
+
     // We can re-use single instances of a few FTE classes over and over,
     // since they just serve as a factory for the TextLines that we care about.

     /**
-	 *  @private
-	 */
-	private static var staticTextBlock:TextBlock;
-
-	/**
-	 *  @private
-	 */
-	private static var staticTextElement:TextElement;
+     *  @private
+     */
+    private static var staticTextBlock:TextBlock;
+
+    /**
+     *  @private
+     */
+    private static var staticTextElement:TextElement;

     /**
      *  @private
@@ -250,7 +298,7 @@
      */
     private static var recreateTextLine:Function;

-	//--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
     //
     //  Class properties
     //
@@ -376,6 +424,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get fontContext():IFlexModuleFactory
     {
@@ -490,25 +543,25 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  @private
-	 *  Creates an ElementFormat (and its FontDescription)
-	 *  based on the Label's CSS styles.
-	 *  These must be recreated each time because FTE
-	 *  does not allow them to be reused.
-	 *  As a side effect, this method also sets embeddedFontContext
-	 *  so that we know which SWF should be used to create TextLines.
-	 *  (TextLines using an embedded font must be created in the SWF
-	 *  where the font is.)
-	 */
-	private function createElementFormat():ElementFormat
-	{
-		// When you databind to a text formatting style on a Label,
-		// as in
-		// the databinding can cause the style to be set to null.
-		// Setting null values for properties in an FTE FontDescription
-		// or ElementFormat throw an error, so the following code does
-		// null-checking on the problematic properties.
+    /**
+     *  @private
+     *  Creates an ElementFormat (and its FontDescription)
+     *  based on the Label's CSS styles.
+     *  These must be recreated each time because FTE
+     *  does not allow them to be reused.
+     *  As a side effect, this method also sets embeddedFontContext
+     *  so that we know which SWF should be used to create TextLines.
+     *  (TextLines using an embedded font must be created in the SWF
+     *  where the font is.)
+     */
+    private function createElementFormat():ElementFormat
+    {
+        // When you databind to a text formatting style on a Label,
+        // as in
+        // the databinding can cause the style to be set to null.
+        // Setting null values for properties in an FTE FontDescription
+        // or ElementFormat throw an error, so the following code does
+        // null-checking on the problematic properties.

         var s:String;

@@ -525,99 +578,99 @@

         s = getStyle("cffHinting");
         if (s != null)
-        	fontDescription.cffHinting = s;
+            fontDescription.cffHinting = s;

         s = getStyle("fontLookup");
         if (s != null)
         {
-        	// FTE understands only "device" and "embeddedCFF"
-        	// for fontLookup. But Flex allows this style to be
-        	// set to "auto", in which case we automatically
-        	// determine it based on whether the CSS styles
-        	// specify an embedded font.
-        	if (s == "auto")
-        	{
-        		s = embeddedFontContext ?
-        			FontLookup.EMBEDDED_CFF :
-                	FontLookup.DEVICE;
-        	}
-	       	fontDescription.fontLookup = s;
+            // FTE understands only "device" and "embeddedCFF"
+            // for fontLookup. But Flex allows this style to be
+            // set to "auto", in which case we automatically
+            // determine it based on whether the CSS styles
+            // specify an embedded font.
+            if (s == "auto")
+            {
+                s = embeddedFontContext ?
+                    FontLookup.EMBEDDED_CFF :
+                    FontLookup.DEVICE;
+            }
+            fontDescription.fontLookup = s;
         }

         s = getStyle("fontFamily");
         if (s != null)
-        	fontDescription.fontName = s;
+            fontDescription.fontName = s;

         s = getStyle("fontStyle");
         if (s != null)
-        	fontDescription.fontPosture = s;
+            fontDescription.fontPosture = s;

         s = getStyle("fontWeight");
         if (s != null)
-        	fontDescription.fontWeight = s;
-
+            fontDescription.fontWeight = s;
+
         s = getStyle("renderingMode");
         if (s != null)
-        	fontDescription.renderingMode = s;
+            fontDescription.renderingMode = s;

         // Fill our an ElementFormat based on the CSS styles.

         var elementFormat:ElementFormat = new ElementFormat();

-		s = getStyle("alignmentBaseline");
-		if (s != null)
-			elementFormat.alignmentBaseline = s;
-
+        s = getStyle("alignmentBaseline");
+        if (s != null)
+            elementFormat.alignmentBaseline = s;
+
         elementFormat.alpha = getStyle("textAlpha");
-
+
         elementFormat.baselineShift = -getStyle("baselineShift");
-			// Note: The negative sign is because, as in TLF,
-			// we want a positive number to shift the baseline up,
-			// whereas FTE does it the opposite way.
-			// In FTE, a positive baselineShift increases
-			// the y coordinate of the baseline, which is
-			// mathematically appropriate, but unintuitive.
-
+            // Note: The negative sign is because, as in TLF,
+            // we want a positive number to shift the baseline up,
+            // whereas FTE does it the opposite way.
+            // In FTE, a positive baselineShift increases
+            // the y coordinate of the baseline, which is
+            // mathematically appropriate, but unintuitive.
+
         // Note: Label doesn't support a breakOpportunity style,
-		// so we leave elementFormat.breakOpportunity with its
-		// default value of "auto".
-
+        // so we leave elementFormat.breakOpportunity with its
+        // default value of "auto".
+
         elementFormat.color = getStyle("color");

         s = getStyle("digitCase");
         if (s != null)
-        	elementFormat.digitCase = s;
-
+            elementFormat.digitCase = s;
+
         s = getStyle("digitWidth");
         if (s != null)
-        	elementFormat.digitWidth = s;
-
+            elementFormat.digitWidth = s;
+
         s = getStyle("dominantBaseline");
         if (s != null)
-		{
-        	// TLF adds the concept of a locale-based "auto" setting for
-			// dominantBaseline, so we support that in Label as well
-			// so that "auto" can be used in the global selector.
-			// TLF's rule is that "auto" means "ideographicCenter"
-			// for Japanese and Chinese locales and "roman" for other locales.
-			// (See TLF's LocaleUtil, which we avoid linking in here.)
-			if (s == "auto")
-			{
-				s = TextBaseline.ROMAN;
-				var locale:String = getStyle("locale");
-				if (locale != null)
-				{
-					var lowercaseLocale:String = locale.toLowerCase();
-					if (lowercaseLocale.indexOf("ja") == 0 ||
-						lowercaseLocale.indexOf("zh") == 0)
-					{
-						s = TextBaseline.IDEOGRAPHIC_CENTER;
-					}
-				}
-			}
-			elementFormat.dominantBaseline = s;
-		}
-
+        {
+            // TLF adds the concept of a locale-based "auto" setting for
+            // dominantBaseline, so we support that in Label as well
+            // so that "auto" can be used in the global selector.
+            // TLF's rule is that "auto" means "ideographicCenter"
+            // for Japanese and Chinese locales and "roman" for other locales.
+            // (See TLF's LocaleUtil, which we avoid linking in here.)
+            if (s == "auto")
+            {
+                s = TextBaseline.ROMAN;
+                var locale:String = getStyle("locale");
+                if (locale != null)
+                {
+                    var lowercaseLocale:String = locale.toLowerCase();
+                    if (lowercaseLocale.indexOf("ja") == 0 ||
+                        lowercaseLocale.indexOf("zh") == 0)
+                    {
+                        s = TextBaseline.IDEOGRAPHIC_CENTER;
+                    }
+                }
+            }
+            elementFormat.dominantBaseline = s;
+        }
+
         elementFormat.fontDescription = fontDescription;

         elementFormat.fontSize = getStyle("fontSize");
@@ -626,21 +679,21 @@

         s = getStyle("ligatureLevel");
         if (s != null)
-        	elementFormat.ligatureLevel = s;
+            elementFormat.ligatureLevel = s;

         s = getStyle("locale");
         if (s != null)
-        	elementFormat.locale = s;
+            elementFormat.locale = s;

         setTracking(elementFormat);

         s = getStyle("typographicCase");
         if (s != null)
-        	elementFormat.typographicCase = s;
-
-		return elementFormat;
-	}
-
+            elementFormat.typographicCase = s;
+
+        return elementFormat;
+    }
+
     /**
      *  @private
      *  Uses the component's CSS styles to determine the module factory
@@ -682,31 +735,31 @@
     {
         var kerning:Object = getStyle("kerning");

-		// In Halo components based on TextField,
-		// kerning is supposed to be true or false.
-		// The default in TextField and Flex 3 is false
-		// because kerning doesn't work for device fonts
-		// and is slow for embedded fonts.
-		// In Spark components based on TLF and FTE,
-		// kerning is "auto", "on", or, "off".
-		// The default in TLF and FTE is "auto"
-		// (which means kern non-Asian characters)
-		// because kerning works even on device fonts
-		// and has miminal performance impact.
+        // In Halo components based on TextField,
+        // kerning is supposed to be true or false.
+        // The default in TextField and Flex 3 is false
+        // because kerning doesn't work for device fonts
+        // and is slow for embedded fonts.
+        // In Spark components based on TLF and FTE,
+        // kerning is "auto", "on", or, "off".
+        // The default in TLF and FTE is "auto"
+        // (which means kern non-Asian characters)
+        // because kerning works even on device fonts
+        // and has miminal performance impact.
         // Since a CSS selector or parent container
-		// can affect both Halo and Spark components,
-		// we need to map true to "on" and false to "off"
-		// here and in Label.
-		// For Halo components, UITextField and UIFTETextField
-		// do the opposite mapping
-		// of "auto" and "on" to true and "off" to false.
-		// We also support a value of "default"
-		// (which we set in the global selector)
-		// to mean "auto" for Spark and false for Halo
-		// to get the recommended behavior in both sets of components.
+        // can affect both Halo and Spark components,
+        // we need to map true to "on" and false to "off"
+        // here and in Label.
+        // For Halo components, UITextField and UIFTETextField
+        // do the opposite mapping
+        // of "auto" and "on" to true and "off" to false.
+        // We also support a value of "default"
+        // (which we set in the global selector)
+        // to mean "auto" for Spark and false for Halo
+        // to get the recommended behavior in both sets of components.
         if (kerning === "default")
-			kerning = Kerning.AUTO;
-		else if (kerning === true)
+            kerning = Kerning.AUTO;
+        else if (kerning === true)
             kerning = Kerning.ON;
         else if (kerning === false)
             kerning = Kerning.OFF;
@@ -735,16 +788,16 @@
             elementFormat.trackingRight = value;
     }

-	/**
-	 *  @private
-	 *  Stuffs the specified text and formatting info into a TextBlock
+    /**
+     *  @private
+     *  Stuffs the specified text and formatting info into a TextBlock
      *  and uses it to create as many TextLines as fit into the bounds.
      *  Returns true if all the text was composed into textLines.
-	 */
-	private function createTextLines(elementFormat:ElementFormat):Boolean
-	{
-		// Get CSS styles that affect a TextBlock and its justifier.
-		var direction:String = getStyle("direction");
+     */
+    private function createTextLines(elementFormat:ElementFormat):Boolean
+    {
+        // Get CSS styles that affect a TextBlock and its justifier.
+        var direction:String = getStyle("direction");
         var justificationRule:String = getStyle("justificationRule");
         var justificationStyle:String = getStyle("justificationStyle");
         var textAlign:String = getStyle("textAlign");
@@ -752,94 +805,94 @@
         var textJustify:String = getStyle("textJustify");

         // TLF adds the concept of a locale-based "auto" setting for
-		// justificationRule and justificationStyle, so we support
-		// that in Label as well so that "auto" can be used
-		// in the global selector.
-		// TLF's rule is that "auto" for justificationRule means "eastAsian"
-		// for Japanese and Chinese locales and "space" for other locales,
-		// and that "auto" for justificationStyle (which only affects
-		// the EastAsianJustifier) always means "pushInKinsoku".
-		// (See TLF's LocaleUtil, which we avoid linking in here.)
-		if (justificationRule == "auto")
-		{
-			justificationRule = "space";
-			var locale:String = getStyle("locale");
-			if (locale != null)
-			{
-				var lowercaseLocale:String = locale.toLowerCase();
-				if (lowercaseLocale.indexOf("ja") == 0 ||
-					lowercaseLocale.indexOf("zh") == 0)
-				{
-					justificationRule = "eastAsian";
-				}
-			}
-		}
-		if (justificationStyle == "auto")
-			justificationStyle = "pushInKinsoku";
-
-		// Set the TextBlock's content.
-		// Note: If there is no text, we do what TLF does and compose
-		// a paragraph terminator character, so that a TextLine
-		// gets created and we can measure it.
-		// It will have a width of 0 but a height equal
-		// to the font's ascent plus descent.
+        // justificationRule and justificationStyle, so we support
+        // that in Label as well so that "auto" can be used
+        // in the global selector.
+        // TLF's rule is that "auto" for justificationRule means "eastAsian"
+        // for Japanese and Chinese locales and "space" for other locales,
+        // and that "auto" for justificationStyle (which only affects
+        // the EastAsianJustifier) always means "pushInKinsoku".
+        // (See TLF's LocaleUtil, which we avoid linking in here.)
+        if (justificationRule == "auto")
+        {
+            justificationRule = "space";
+            var locale:String = getStyle("locale");
+            if (locale != null)
+            {
+                var lowercaseLocale:String = locale.toLowerCase();
+                if (lowercaseLocale.indexOf("ja") == 0 ||
+                    lowercaseLocale.indexOf("zh") == 0)
+                {
+                    justificationRule = "eastAsian";
+                }
+            }
+        }
+        if (justificationStyle == "auto")
+            justificationStyle = "pushInKinsoku";
+
+        // Set the TextBlock's content.
+        // Note: If there is no text, we do what TLF does and compose
+        // a paragraph terminator character, so that a TextLine
+        // gets created and we can measure it.
+        // It will have a width of 0 but a height equal
+        // to the font's ascent plus descent.
         staticTextElement.text = text != null && text.length > 0 ? text : "\u2029";
-		staticTextElement.elementFormat = elementFormat;
-		staticTextBlock.content = staticTextElement;
+        staticTextElement.elementFormat = elementFormat;
+        staticTextBlock.content = staticTextElement;

         // And its bidiLevel.
-		staticTextBlock.bidiLevel = direction == "ltr" ? 0 : 1;
-
-		// And its justifier.
-		var lineJustification:String;
-		if (textAlign == "justify")
-		{
-			lineJustification = textAlignLast == "justify" ?
-				                LineJustification.ALL_INCLUDING_LAST :
-				                LineJustification.ALL_BUT_LAST;
-		}
-		else
-        {
-			lineJustification = LineJustification.UNJUSTIFIED;
-        }
-		if (justificationRule == "space")
-		{
+        staticTextBlock.bidiLevel = direction == "ltr" ? 0 : 1;
+
+        // And its justifier.
+        var lineJustification:String;
+        if (textAlign == "justify")
+        {
+            lineJustification = textAlignLast == "justify" ?
+                                LineJustification.ALL_INCLUDING_LAST :
+                                LineJustification.ALL_BUT_LAST;
+        }
+        else
+        {
+            lineJustification = LineJustification.UNJUSTIFIED;
+        }
+        if (justificationRule == "space")
+        {
             staticSpaceJustifier.lineJustification = lineJustification;
-			staticSpaceJustifier.letterSpacing = textJustify == "distribute";
+            staticSpaceJustifier.letterSpacing = textJustify == "distribute";
             staticTextBlock.textJustifier = staticSpaceJustifier;
-		}
-		else
-		{
+        }
+        else
+        {
             staticEastAsianJustifier.lineJustification = lineJustification;
             staticEastAsianJustifier.justificationStyle = justificationStyle;
-
+
             staticTextBlock.textJustifier = staticEastAsianJustifier;
-		}
+        }

-		// Then create TextLines using this TextBlock.
-		return createTextLinesFromTextBlock(staticTextBlock, textLines, bounds);
-	}
-
-	/**
-	 *  @private
-	 *  Compose into textLines.  bounds on input is size of composition
-	 *  area and on output is the size of the composed content.
-	 *  The caller must call releaseLinesFromTextBlock() to release the
-	 *  textLines from the TextBlock.  This must be done after truncation
-	 *  so that the composed lines can be broken into atoms to figure out
-	 *  where the truncation indicator should be placed.
-	 *
+        // Then create TextLines using this TextBlock.
+        return createTextLinesFromTextBlock(staticTextBlock, textLines, bounds);
+    }
+
+    /**
+     *  @private
+     *  Compose into textLines.  bounds on input is size of composition
+     *  area and on output is the size of the composed content.
+     *  The caller must call releaseLinesFromTextBlock() to release the
+     *  textLines from the TextBlock.  This must be done after truncation
+     *  so that the composed lines can be broken into atoms to figure out
+     *  where the truncation indicator should be placed.
+     *
      *  Returns true if all the text was composed into textLines.
-	 */
-	private function createTextLinesFromTextBlock(textBlock:TextBlock,
-                	                              textLines:Vector.<DisplayObject>,
-                	                              bounds:Rectangle):Boolean
-	{
-		// Start with 0 text lines.
-		releaseTextLines(textLines);
-
-		// Get CSS styles for formats that we have to apply ourselves.
-		var direction:String = getStyle("direction");
+     */
+    private function createTextLinesFromTextBlock(textBlock:TextBlock,
+                                                  textLines:Vector.<DisplayObject>,
+                                                  bounds:Rectangle):Boolean
+    {
+        // Start with 0 text lines.
+        releaseTextLines(textLines);
+
+        // Get CSS styles for formats that we have to apply ourselves.
+        var direction:String = getStyle("direction");
         var lineBreak:String = getStyle("lineBreak");
         var lineHeight:Object = getStyle("lineHeight");
         var lineThrough:Boolean = getStyle("lineThrough");
@@ -852,25 +905,25 @@
         var textDecoration:String = getStyle("textDecoration");
         var verticalAlign:String = getStyle("verticalAlign");

-		var innerWidth:Number = bounds.width - paddingLeft - paddingRight;
-		var innerHeight:Number = bounds.height - paddingTop - paddingBottom;
-
+        var innerWidth:Number = bounds.width - paddingLeft - paddingRight;
+        var innerHeight:Number = bounds.height - paddingTop - paddingBottom;
+
         var measureWidth:Boolean = isNaN(innerWidth);
-		if (measureWidth)
-			innerWidth = maxWidth;
+        if (measureWidth)
+            innerWidth = maxWidth;

         var maxLineWidth:Number = lineBreak == "explicit" ?
                                   TextLine.MAX_LINE_WIDTH :
                                   innerWidth;
-
-		if (innerWidth < 0 || innerHeight < 0 || !textBlock)
-		{
-			bounds.width = 0;
-			bounds.height = 0;
-			return false;
-		}
-
-		var fontSize:Number = staticTextElement.elementFormat.fontSize;
+
+        if (innerWidth < 0 || innerHeight < 0 || !textBlock)
+        {
+            bounds.width = 0;
+            bounds.height = 0;
+            return false;
+        }
+
+        var fontSize:Number = staticTextElement.elementFormat.fontSize;
         var actualLineHeight:Number;
         if (lineHeight is Number)
         {
@@ -887,93 +940,93 @@
             actualLineHeight = 1.2 * fontSize;

         var maxTextWidth:Number = 0;
-		var totalTextHeight:Number = 0;
-		var n:int = 0;
-		var nextTextLine:TextLine;
-		var nextY:Number = 0;
-		var textLine:TextLine;
+        var totalTextHeight:Number = 0;
+        var n:int = 0;
+        var nextTextLine:TextLine;
+        var nextY:Number = 0;
+        var textLine:TextLine;

         var swfContext:ISWFContext = ISWFContext(embeddedFontContext);
-
-		// For truncation, need to know if all lines have been composed.
+
+        // For truncation, need to know if all lines have been composed.
         var createdAllLines:Boolean = false;
         // sometimes we need to create an extra line in order to compute
         // truncation
         var extraLine:Boolean;

-		// Generate TextLines, stopping when we run out of text
-		// or reach the bottom of the requested bounds.
-		// In this loop the lines are positioned within the rectangle
-		// (0, 0, innerWidth, innerHeight), with top-left alignment.
-		while (true)
-		{
+        // Generate TextLines, stopping when we run out of text
+        // or reach the bottom of the requested bounds.
+        // In this loop the lines are positioned within the rectangle
+        // (0, 0, innerWidth, innerHeight), with top-left alignment.
+        while (true)
+        {
             var recycleLine:TextLine = TextLineRecycler.getLineForReuse();
             if (recycleLine)
             {
                 if (swfContext)
                 {
                     nextTextLine = swfContext.callInContext(
-						textBlock["recreateTextLine"], textBlock,
-						[ recycleLine, textLine, maxLineWidth ]);
+                        textBlock["recreateTextLine"], textBlock,
+                        [ recycleLine, textLine, maxLineWidth ]);
                 }
                 else
                 {
                     nextTextLine = recreateTextLine(
-                    	recycleLine, textLine, maxLineWidth);
+                        recycleLine, textLine, maxLineWidth);
                 }
-		    }
-		    else
-		    {
+            }
+            else
+            {
                 if (swfContext)
                 {
                     nextTextLine = swfContext.callInContext(
-						textBlock.createTextLine, textBlock,
-						[ textLine, maxLineWidth ]);
+                        textBlock.createTextLine, textBlock,
+                        [ textLine, maxLineWidth ]);
                 }
                 else
                 {
-    			    nextTextLine = textBlock.createTextLine(
-    			    	textLine, maxLineWidth);
+                    nextTextLine = textBlock.createTextLine(
+                        textLine, maxLineWidth);
                 }
             }

-			if (!nextTextLine)
-            {
-				createdAllLines = !extraLine;
+            if (!nextTextLine)
+            {
+                createdAllLines = !extraLine;
                 break;
             }
-
-			// Determine the natural baseline position for this line.
-			// Note: The y coordinate of a TextLine is the location
-			// of its baseline, not of its top.
+
+            // Determine the natural baseline position for this line.
+            // Note: The y coordinate of a TextLine is the location
+            // of its baseline, not of its top.
             nextY += (n == 0 ? nextTextLine.ascent : actualLineHeight);
-
-			// If verticalAlign is top and the next line is completely outside
-			// the rectangle, we're done.  If verticalAlign is middle or bottom
-			// then we need to compose all the lines so the alignment is done
-			// correctly.
-			if (verticalAlign == "top" &&
-			    nextY - nextTextLine.ascent > innerHeight)
-			{
+
+            // If verticalAlign is top and the next line is completely outside
+            // the rectangle, we're done.  If verticalAlign is middle or bottom
+            // then we need to compose all the lines so the alignment is done
+            // correctly.
+            if (verticalAlign == "top" &&
+                nextY - nextTextLine.ascent > innerHeight)
+            {
                 // make an extra line so we can compute truncation
                 if (!extraLine)
-				    extraLine = true;
+                    extraLine = true;
                 else
                     break;
-			}
-
-			// We'll keep this line. Put it into the textLines array.
-			textLine = nextTextLine;
-			textLines[n++] = textLine;
-
-			// Assign its location based on left/top alignment.
-			// Its x position is 0 by default.
-			textLine.y = nextY;
-
-			// Keep track of the maximum textWidth
-			// and the accumulated textHeight of the TextLines.
-			maxTextWidth = Math.max(maxTextWidth, textLine.textWidth);
-			totalTextHeight += textLine.textHeight;
+            }
+
+            // We'll keep this line. Put it into the textLines array.
+            textLine = nextTextLine;
+            textLines[n++] = textLine;
+
+            // Assign its location based on left/top alignment.
+            // Its x position is 0 by default.
+            textLine.y = nextY;
+
+            // Keep track of the maximum textWidth
+            // and the accumulated textHeight of the TextLines.
+            maxTextWidth = Math.max(maxTextWidth, textLine.textWidth);
+            totalTextHeight += textLine.textHeight;

             if (lineThrough || textDecoration == "underline")
             {
@@ -1009,18 +1062,18 @@

                 textLine.addChild(shape);
             }
-		}
-
-		// At this point, n is the number of lines that fit
-		// and textLine is the last line that fit.
-
-		if (n == 0)
-		{
-			bounds.width = paddingLeft + paddingRight;
-			bounds.height = paddingTop + paddingBottom;
-			return createdAllLines;
-		}
-
+        }
+
+        // At this point, n is the number of lines that fit
+        // and textLine is the last line that fit.
+
+        if (n == 0)
+        {
+            bounds.width = paddingLeft + paddingRight;
+            bounds.height = paddingTop + paddingBottom;
+            return createdAllLines;
+        }
+
         // If not measuring the width, innerWidth remains the same since
         // alignment is done over the innerWidth not over the width of the
         // text that was just composed.
@@ -1029,7 +1082,7 @@

         if (isNaN(bounds.height))
             innerHeight = textLine.y + textLine.descent;
-
+
         var leftAligned:Boolean =
             textAlign == "start" && direction == "ltr" ||
             textAlign == "end" && direction == "rtl" ||
@@ -1041,21 +1094,21 @@
             textAlign == "end" && direction == "ltr" ||
             textAlign == "right";

-		// Calculate loop constants for horizontal alignment.
-		var leftOffset:Number = bounds.left + paddingLeft;
-		var centerOffset:Number = leftOffset + innerWidth / 2;
-		var rightOffset:Number =  leftOffset + innerWidth;
-
-		// Calculate loop constants for vertical alignment.
-		var topOffset:Number = bounds.top + paddingTop;
-		var bottomOffset:Number = innerHeight - (textLine.y + textLine.descent);
-		var middleOffset:Number = bottomOffset / 2;
-		bottomOffset += topOffset;
-		middleOffset += topOffset;
-		var leading:Number = (innerHeight - totalTextHeight) / (n - 1);
-
-		var previousTextLine:TextLine;
-		var y:Number = 0;
+        // Calculate loop constants for horizontal alignment.
+        var leftOffset:Number = bounds.left + paddingLeft;
+        var centerOffset:Number = leftOffset + innerWidth / 2;
+        var rightOffset:Number =  leftOffset + innerWidth;
+
+        // Calculate loop constants for vertical alignment.
+        var topOffset:Number = bounds.top + paddingTop;
+        var bottomOffset:Number = innerHeight - (textLine.y + textLine.descent);
+        var middleOffset:Number = bottomOffset / 2;
+        bottomOffset += topOffset;
+        middleOffset += topOffset;
+        var leading:Number = (innerHeight - totalTextHeight) / (n - 1);
+
+        var previousTextLine:TextLine;
+        var y:Number = 0;

         var lastLineIsSpecial:Boolean =
             textAlign == "justify" && createdAllLines;
@@ -1066,13 +1119,13 @@

         var clipping:Boolean = (n) ? (textLines[n - 1].y + TextLine(textLines[n - 1]).descent > innerHeight) : false;

-		// Reposition each line if necessary.
-		// based on the horizontal and vertical alignment.
-		for (var i:int = 0; i < n; i++)
-		{
-			textLine = TextLine(textLines[i]);
-
-			// If textAlign is "justify" and there is more than one line,
+        // Reposition each line if necessary.
+        // based on the horizontal and vertical alignment.
+        for (var i:int = 0; i < n; i++)
+        {
+            textLine = TextLine(textLines[i]);
+
+            // If textAlign is "justify" and there is more than one line,
             // the last one (if we created it) gets horizontal aligned
             // according to textAlignLast.
             if (lastLineIsSpecial && i == n - 1)
@@ -1090,36 +1143,36 @@
             }

             if (leftAligned)
-				textLine.x = leftOffset;
-			else if (centerAligned)
-				textLine.x = centerOffset - textLine.textWidth / 2;
-			else if (rightAligned)
-				textLine.x = rightOffset - textLine.textWidth;
-
-			if (verticalAlign == "top" || !createdAllLines || clipping)
-			{
-				textLine.y += topOffset;
-			}
-			else if (verticalAlign == "middle")
-			{
-				textLine.y += middleOffset;
-			}
-			else if (verticalAlign == "bottom")
-			{
-				textLine.y += bottomOffset;
-			}
-			else if (verticalAlign == "justify")
-			{
-				// Determine the natural baseline position for this line.
-				// Note: The y coordinate of a TextLine is the location
-				// of its baseline, not of its top.
-				y += i == 0 ?
-					 topOffset + textLine.ascent :
-					 previousTextLine.descent + leading + textLine.ascent;
-
-				textLine.y = y;
-				previousTextLine = textLine;
-			}
+                textLine.x = leftOffset;
+            else if (centerAligned)
+                textLine.x = centerOffset - textLine.textWidth / 2;
+            else if (rightAligned)
+                textLine.x = rightOffset - textLine.textWidth;
+
+            if (verticalAlign == "top" || !createdAllLines || clipping)
+            {
+                textLine.y += topOffset;
+            }
+            else if (verticalAlign == "middle")
+            {
+                textLine.y += middleOffset;
+            }
+            else if (verticalAlign == "bottom")
+            {
+                textLine.y += bottomOffset;
+            }
+            else if (verticalAlign == "justify")
+            {
+                // Determine the natural baseline position for this line.
+                // Note: The y coordinate of a TextLine is the location
+                // of its baseline, not of its top.
+                y += i == 0 ?
+                     topOffset + textLine.ascent :
+                     previousTextLine.descent + leading + textLine.ascent;
+
+                textLine.y = y;
+                previousTextLine = textLine;
+            }

             // Upper left corner of bounding box may not be 0,0 after
             // styles are applied or rounding error from minY calculation.
@@ -1128,7 +1181,7 @@
             minX = Math.min(minX, textLine.x);
             minY = Math.min(minY, textLine.y - textLine.ascent);
             maxX = Math.max(maxX, textLine.x + textLine.textWidth);
-		}
+        }

         bounds.x = minX - paddingLeft;
         bounds.y = minY - paddingTop;
@@ -1136,10 +1189,10 @@
         bounds.bottom = textLine.y + textLine.descent + paddingBottom;

         return createdAllLines;
-	}
-
-    /**
-	 *  @private
+    }
+
+    /**
+     *  @private
      *  Determines if the composed text fits in the given height and
      *  line count limit.
      */
@@ -1183,8 +1236,8 @@
      *  TextLineFactory.textLinesFromString().
      */
     private function truncateText(width:Number, height:Number, lineBreak:String):void
-	{
-	    var lineCountLimit:int = maxDisplayedLines;
+    {
+        var lineCountLimit:int = maxDisplayedLines;
         var somethingFit:Boolean = false;
         var truncLineIndex:int = 0;

@@ -1212,7 +1265,7 @@
             // dependent on the given width.
             staticTextElement.text = truncationIndicatorResource;
             var indicatorLines:Vector.<DisplayObject> =
-            	new Vector.<DisplayObject>();
+                new Vector.<DisplayObject>();
             var indicatorBounds:Rectangle = new Rectangle(0, 0, width, NaN);

             createTextLinesFromTextBlock(staticTextBlock,
@@ -1241,9 +1294,9 @@
                 // 4. Get the initial truncation position on the target
                 // line given this allowed width.
                 // FIXME (gosmith): What if textLines[truncLineIndex] is a backgroundColor
-				// Shape instead of a TextLine?
+                // Shape instead of a TextLine?
                 var truncateAtCharPosition:int = getTruncationPosition(
-                	TextLine(textLines[truncLineIndex]), allowedWidth);
+                    TextLine(textLines[truncLineIndex]), allowedWidth);

                 // The following loop executes repeatedly composing text until
                 // it fits.  In each iteration, an atoms's worth of characters
@@ -1253,7 +1306,7 @@
                     // Replace all content starting at the inital truncation
                     // position with the truncation indicator.
                     var truncText:String = text.slice(0, truncateAtCharPosition) +
-                    					   truncationIndicatorResource;
+                                           truncationIndicatorResource;

                     // (Re)-initialize bounds for next compose.
                     bounds.x = 0;
@@ -1264,7 +1317,7 @@
                     staticTextElement.text = truncText;

                     var createdAllLines:Boolean = createTextLinesFromTextBlock(
-                    	staticTextBlock, textLines, bounds);
+                        staticTextBlock, textLines, bounds);

                     if (doesComposedTextFit(height, width,
                                             createdAllLines,
@@ -1284,7 +1337,7 @@
                     // preceding atom.
                     var oldCharPosition:int = truncateAtCharPosition;
                     truncateAtCharPosition = getNextTruncationPosition(
-                    	Math.min(truncLineIndex, textLines.length - 1), truncateAtCharPosition);
+                        Math.min(truncLineIndex, textLines.length - 1), truncateAtCharPosition);
                     // check to see if we've run out of chars
                     if (oldCharPosition == truncateAtCharPosition)
                         break;
@@ -1320,7 +1373,7 @@
      *  results resulting from the compose.
      */
     private function truncateExplicitLineBreakText(width:Number, height:Number):void
-	{
+    {
         // 1. Measure the space that the truncation indicator will take
         // by composing the truncation resource using the same bounds
         // and formats.  The measured indicator lines could be cached but
@@ -1356,7 +1409,7 @@
                     lineStr += truncationIndicatorResource;
                     staticTextElement.text = lineStr;
                     var clippedLines:Vector.<DisplayObject> =
-            	        new Vector.<DisplayObject>();
+                        new Vector.<DisplayObject>();

                     createTextLinesFromTextBlock(staticTextBlock,
                                                  clippedLines,
@@ -1379,7 +1432,7 @@
     }

     /**
-	 *  @private
+     *  @private
      *  Calculates the last line that fits in the given height and line count
      *  limit.
      */
@@ -1414,7 +1467,7 @@
     }

     /**
-	 *  @private
+     *  @private
      *  Gets the truncation position on a line given the allowed width.
      *  - Must be at an atom boundary.
      *  - Must scan the line for atoms in logical order, not physical position
@@ -1447,7 +1500,7 @@
     }

     /**
-	 *  @private
+     *  @private
      *  Gets the next truncation position by shedding an atom's worth of
      *  characters.
      */
@@ -1512,7 +1565,7 @@
     }

     /**
-	 *  @private
+     *  @private
      *  Cleans up and sets the validity of the lines associated
      *  with the TextBlock to TextLineValidity.INVALID.
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 11499
Author:   jon.avila@ssbbartgroup.com
Date:     2009-11-06T15:07:05.747414Z

Log Message:
-----------
Added code to draw an invisible rectangle to the titleDisplay object in the panel for accessibility purposes.  The panel's accessibility implementation is hooked into the panel's titleDisplay.  This causes the accessible location properties to only include the titleDisplay and not the whole panel.  Since the accessible location can not be updated in the AccImpl file for the panel itself, it needs to be corrected here.  The accessible location needs to be correct for panel to include the whole panel so screen readers can use coordinates to determine what components are inside the panel (as Flash has a flat structure otherwise).
QE notes: none
Doc notes: none
Bugs: n/a
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/Panel.as
+++ frameworks/projects/spark/src/spark/components/Panel.as
@@ -12,6 +12,7 @@
 package spark.components
 {

+import flash.display.Graphics;
 import mx.core.mx_internal;
 import mx.utils.BitFlagUtil;

@@ -458,6 +459,35 @@
     /**
      *  @private
      */
+    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+	{
+        // fixme (gosmith): this is not working to extend the height of the the titleDisplay
+		super.updateDisplayList(unscaledWidth, unscaledHeight);
+        var g:Graphics = titleDisplay.graphics;
+        g.clear();
+        // Also draw an invisible unfilled rect whose height
+        // is the height of the entire Panel, not just the headerHeight.
+        // This is for accessibility; the titlebar of the Panel
+        // has an AccessibilityImplementation (see PanelAccImpl)
+        // which makes it act like a grouping (ROLE_SYSTEM_GROUPING)
+        // for the controls inside the panel.
+        // Drawing this rect makes the accLocation rect of the grouping
+        // enclose the controls inside the grouping,
+        // even though it is a sibling of them, not their parent.
+        // (This is because the Player doesn't support Sprites
+        // with AccessibilityImplementations inside other Sprites
+        // with AccessibilityImplementations; the accessible objects
+        // in a Flash SWF are a flat list, not a hierarchy.)
+        // This rectangle must be unfilled because the titleBar is
+        // actually on top of the content area and would otherwise
+        // block mouse events to the controls in the Panel.
+        g.lineStyle(0, 0x000000, 0);
+        g.drawRect(0, 0, unscaledWidth, unscaledHeight);
+	}
+
+    /**
+     *  @private
+     */
     override protected function partAdded(partName:String, instance:Object):void
     {
         super.partAdded(partName, instance);


Transferred from the Adobe Open Source Subversion Repository

Revision: 20775
Author:   smgilson@adobe.com
Date:     2011-03-10T20:03:40.415513Z

Log Message:
-----------
merge 20770 - ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkPopUpAnchorAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/gridClasses/SparkGridItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mobiletheme/src/spark/skins/mobile/TransparentActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/tabularData/SparkDataGridTabularData.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkValueChangeAutomationEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mobiletheme/src/spark/skins/mobile/TransparentNavigationButtonSkin.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>

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

--- frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as
+++ frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as
@@ -42,6 +42,11 @@
  *
  *  @see mx.core.styles.IAdvancedStyleClient
  *  @see #initialized
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
  */
 public class AdvancedStyleClient extends EventDispatcher
                         implements IAdvancedStyleClient,IFlexModule,IMXMLObject
@@ -58,7 +63,7 @@
      *  Constructor.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -114,7 +119,7 @@
      *  style client instance.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -153,7 +158,7 @@
      *  Developers typically never need to access this property directly.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -181,7 +186,7 @@
      *  @see mx.styles.CSSStyleDeclaration
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -212,7 +217,7 @@
      *  Returns the StyleManager instance used by this component.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -241,7 +246,7 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -267,7 +272,7 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -292,7 +297,7 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -305,7 +310,7 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -326,7 +331,7 @@
      *  children's children.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -343,7 +348,7 @@
      *  @param recursive Regenerate the proto chains of the children.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -359,7 +364,7 @@
      *  @param effects An Array of Strings of effect names.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -386,7 +391,7 @@
      *  style client have changed.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -417,7 +422,7 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -463,7 +468,7 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -486,7 +491,7 @@
      *  advanced style declarations.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -504,7 +509,7 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -516,7 +521,7 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -530,7 +535,7 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -558,7 +563,7 @@
      *  non-visual style client instance.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
@@ -594,7 +599,7 @@
      *  @param id The identifier used by the document object to refer to
      *  this object.
      *  @langversion 3.0
-     *  @playerversion Flash 10.1
+     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 18855
Author:   cframpto@adobe.com
Date:     2010-11-30T15:26:56.538530Z

Log Message:
-----------
Fix another RichEditableText/Scroller looping bug by tweaking the existing code in adjustContentBoundsForScroller() which attempts to prevent looping.

For a given composition width, if there is not enough height for an inline graphic it does not seem to be included in the content measurement, and the contentWidth and contentHeight can decrease dramatically.  This can happen if there are auto scrollbars coming and going and causing reflow of the text to account for the space taken up or given back by the presence or absence of scrollbars.

QE notes:
Doc notes:
Bugs: SDK-28592
Reviewer:  Hans
Tests run: cyclone
Is noteworthy for integration:

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -71,7 +71,7 @@
     import mx.core.IIMESupport;
     import mx.core.ISystemCursorClient;
     import mx.core.UIComponent;
-	import mx.core.UIComponentGlobals;
+    import mx.core.UIComponentGlobals;
     import mx.core.mx_internal;
     import mx.events.FlexEvent;
     import mx.managers.IFocusManager;
@@ -4393,14 +4393,17 @@
          *           should grow or stay the same.
          *
          *  toFit
-         *      width       height
-         *      smaller     smaller     height pinned to old height
+         *      width       height
+         *
+         *      smaller     smaller     width pinned to old width and
+         *                              height pinned to old height
          *      smaller     larger      ok
          *      larger      larger      ok
          *      larger      smaller     ok
          *
          *  explicit
          *      width       height
+         *
          *      smaller     smaller     width pinned to old width
          *      smaller     larger      width pinned to old width
          *      larger      larger      ok
@@ -4410,22 +4413,21 @@
         {
             // Already reported bounds at least once for this generation of
             // the text flow so we have to be careful to mantain consistency
-            // for the scroller.
+            // for the scroller.  Otherwise scrollbars can come and go which
+            // causes recomposition and increases the likelihood of looping.
             if (_textFlow.generation == lastContentBoundsGeneration)
             {
                 if (bounds.width <= _contentWidth)
                 {
+                    // The width may get smaller if the compose height is
+                    // reduced and fewer lines are composed.  Use the old
+                    // content width which is more accurate.
+                    bounds.width = _contentWidth;
+
                     if (_textContainerManager.hostFormat.lineBreak == "toFit")
                     {
                         if (bounds.height < _contentHeight)
                             bounds.height = _contentHeight;
-                    }
-                    else
-                    {
-                        // The width may get smaller if the compose height is
-                        // reduced and fewer lines are composed.  Use the old
-                        // content width which is more accurate.
-                        bounds.width = _contentWidth;
                     }
                 }
             }
@@ -4805,31 +4807,24 @@

         /**
          *  @private
-         *  Called when a InlineGraphicElement is resized due to having width or
-         *  height as auto or percent and the graphic has finished loading.  The
-         *  size of the graphic is now known.
+         *  Called when an InlineGraphicElement is asynchronously loaded.
+         *  The event status could be "sizePending", "loaded" or "error".
+         *  Must call updateAllContainers() to cause transition to the next
+         *  graphic status.
          */
         private function textContainerManager_inlineGraphicStatusChangeHandler (
             event:StatusChangeEvent):void
-        {
-            if (event.status == InlineGraphicElementStatus.SIZE_PENDING &&
-                event.element is InlineGraphicElement)
-            {
-                // Force InlineGraphicElement.applyDelayedElementUpdate to
-                // execute and finish loading the graphic.  This is a workaround
-                // for the case when the image is in a compiled text flow.
-                InlineGraphicElement(event.element).updateForMustUseComposer(
-                    _textContainerManager.getTextFlow());
-            }
-            else if (event.status == InlineGraphicElementStatus.READY)
+        {
+            if (event.status == InlineGraphicElementStatus.READY)
             {
                 // Now that the actual size of the graphic is available need to
                 // optionally remeasure and updateContainer.
                 if (autoSize)
-                    invalidateSize();
-
-                invalidateDisplayList();
-            }
+                    invalidateSize();
+            }
+
+            // Call updateAllContainers().
+            invalidateDisplayList();
         }

         /**


fixed new location error

fixed new location error

--- flexEditor/src/org/arisgames/editor/services/AppServices.as
+++ flexEditor/src/org/arisgames/editor/services/AppServices.as
@@ -112,12 +112,12 @@
         if (isNaN(item.itemId) || item.itemId == 0)
         {
             trace("This item doesn't have an itemId, so call create Item.");
-            r = AppDAO.getInstance().getItemServer().createItem(gid, item.name, item.description, item.iconMediaId, item.mediaId, item.dropable, item.destroyable);
+            r = AppDAO.getInstance().getItemServer().createItem(gid, item.name, item.description, item.iconMediaId, item.mediaId, item.dropable, item.destroyable, 1);
         }
         else
         {
             trace("This item has an itemId (" + item.itemId + "), so call update Item.");
-            r = AppDAO.getInstance().getItemServer().updateItem(gid, item.itemId, item.name, item.description, item.iconMediaId, item.mediaId, item.dropable, item.destroyable);
+            r = AppDAO.getInstance().getItemServer().updateItem(gid, item.itemId, item.name, item.description, item.iconMediaId, item.mediaId, item.dropable, item.destroyable, 1);
         }
         r.addResponder(resp);
     }
@@ -160,7 +160,7 @@
         if (isNaN(loc.locationId))
         {
             trace("This Location doesn't have an Id, so call create Location.");
-            l = AppDAO.getInstance().getLocationServer().createLocation(gid, loc.name, loc.iconMediaId, loc.latitude, loc.longitude, loc.error, loc.type, loc.typeId, loc.quantity, loc.hidden, loc.forceView);
+            l = AppDAO.getInstance().getLocationServer().createLocation(gid, loc.name, loc.iconMediaId, loc.latitude, loc.longitude, loc.error, loc.type, loc.typeId, loc.quantity, loc.hidden, loc.forceView,0);
         }
         else
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7864
Author:   gruehle@adobe.com
Date:     2009-06-15T22:20:22.309974Z

Log Message:
-----------
Move the airframework spark.skins.default.* to spark.skins.spark.*

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MacMinimizeButtonSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/MacMinimizeButtonSkin.mxml</path>
<path kind="dir" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default" copyfrom-rev="7857" action="A">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MacMaximizeButtonSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/MacMaximizeButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/CloseButtonSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/CloseButtonSkin.mxml</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/WindowedApplicationSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/TitleBarSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/TitleBarSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/GripperSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/GripperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/TitleBar.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MinimizeButtonSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/MinimizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/defaults.css</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MaximizeButtonSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/MaximizeButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/RestoreButtonSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/RestoreButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/AIRFrameworkClasses.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MacCloseButtonSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/MacCloseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MacTitleBarSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/MacTitleBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/FlexChromeSkin.mxml" copyfrom-rev="7863" action="R">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/FlexChromeSkin.mxml</path>

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

--- frameworks/projects/airframework/src/AIRFrameworkClasses.as
+++ frameworks/projects/airframework/src/AIRFrameworkClasses.as
@@ -30,17 +30,17 @@
     import mx.skins.halo.WindowMinimizeButtonSkin; WindowMinimizeButtonSkin;
     import mx.skins.halo.WindowMaximizeButtonSkin; WindowMaximizeButtonSkin;
     import mx.skins.halo.WindowRestoreButtonSkin; WindowRestoreButtonSkin;
-    import spark.skins.default.CloseButtonSkin; CloseButtonSkin;
-    import spark.skins.default.FlexChromeSkin; FlexChromeSkin;
-    import spark.skins.default.GripperSkin; GripperSkin;
-    import spark.skins.default.MacCloseButtonSkin; MacCloseButtonSkin;
-    import spark.skins.default.MacMaximizeButtonSkin; MacMaximizeButtonSkin;
-    import spark.skins.default.MacMinimizeButtonSkin; MacMinimizeButtonSkin;
-    import spark.skins.default.MaximizeButtonSkin; MaximizeButtonSkin;
-    import spark.skins.default.MinimizeButtonSkin; MinimizeButtonSkin;
-    import spark.skins.default.RestoreButtonSkin; RestoreButtonSkin;
-    import spark.skins.default.TitleBarSkin; TitleBarSkin;
-    import spark.skins.default.WindowedApplicationSkin; WindowedApplicationSkin;
+    import spark.skins.spark.CloseButtonSkin; CloseButtonSkin;
+    import spark.skins.spark.FlexChromeSkin; FlexChromeSkin;
+    import spark.skins.spark.GripperSkin; GripperSkin;
+    import spark.skins.spark.MacCloseButtonSkin; MacCloseButtonSkin;
+    import spark.skins.spark.MacMaximizeButtonSkin; MacMaximizeButtonSkin;
+    import spark.skins.spark.MacMinimizeButtonSkin; MacMinimizeButtonSkin;
+    import spark.skins.spark.MaximizeButtonSkin; MaximizeButtonSkin;
+    import spark.skins.spark.MinimizeButtonSkin; MinimizeButtonSkin;
+    import spark.skins.spark.RestoreButtonSkin; RestoreButtonSkin;
+    import spark.skins.spark.TitleBarSkin; TitleBarSkin;
+    import spark.skins.spark.WindowedApplicationSkin; WindowedApplicationSkin;
     import spark.components.WindowedApplication; WindowedApplication;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 9437
Author:   gauravj@adobe.com
Date:     2009-08-21T00:35:34.656760Z

Log Message:
-----------
Fix build by changing asdoc..

QE notes: None.
Doc notes: None
Tests run: "ant doc" target
Is noteworthy for integration: No.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as

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

--- frameworks/projects/framework/src/mx/core/IVisualElement.as
+++ frameworks/projects/framework/src/mx/core/IVisualElement.as
@@ -214,11 +214,11 @@
      *  layer changes, the element must then compute its own effective visibility
      *  (or alpha) and apply it accordingly.

      *
-     *
The layer property is not used for z-order control,
-     *  please @see #depth.

-     *
      *
This property should not be set within MXML directly.

-     *
+     *
+     *
The layer property is not used for z-order control

+     *
+     *  @see #depth
      *  @default null
      *
      *  @langversion 3.0


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/mx/src/mx/accessibility/AlertAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/AlertAccImpl.as
@@ -25,6 +25,11 @@
 /**
  *  AlertAccImpl is a subclass of AccessibilityImplementation
  *  which implements accessibility for the Alert class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class AlertAccImpl extends TitleWindowAccImpl
 {
@@ -44,6 +49,11 @@
 	 *  Afterwards, when instances of Alert are initialized,
 	 *  their accessibilityImplementation property
 	 *  will be set to an instance of this class.

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static function enableAccessibility():void
 	{
@@ -76,6 +86,11 @@
 	 *
 	 *  @param master The UIComponent instance that this AccImpl instance
 	 *  is making accessible.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function AlertAccImpl(master:UIComponent)
 	{


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/mx/src/mx/controls/tabBarClasses/Tab.as
+++ frameworks/projects/mx/src/mx/controls/tabBarClasses/Tab.as
@@ -40,6 +40,11 @@

 	/**
 	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function Tab()
 	{


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

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

 package mx.rpc.http
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 1218
Author:   jimurphy@adobe.com
Date:     2008-04-15T16:09:32.174552Z

Log Message:
-----------
merge 3.0.x[1069:1202] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/codec/PNGEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/codec/JPEGEncoder.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/rpc/src/mx/rpc/xml/SchemaTypeRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/codec/IImageEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPFault.as</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/WebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloColors.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RoundedRectangle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/WebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLBinding.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/Operation.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPService.as
+++ frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPService.as
@@ -177,7 +177,10 @@
     //--------------------------------------------------------------------------

     /**
-     * Cancels the most recent HTTPService request.
+     * Cancels the HTTPService request with the specified ID, or if the ID is not
+     * specified, cancels the most recent HTTPService request.
+     *
+     * @param id The messageID of the HTTPService request to cancel.
      */
     override public function cancel(id:String = null):AsyncToken
     {