Transferred from the Adobe Open Source Subversion Repository

Revision: 10606
Author:   egeorgie@adobe.com
Date:     2009-09-25T23:01:50.455888Z

Log Message:
-----------
White space cleanup.

Doc notes: None
Bugs: None
Reviewer: Evtim
Tests run: build
Is noteworthy for integration: Nope

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/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.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/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/Block.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/DescribeTypeCache.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/testWheel.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.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/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/skins/SparkSkin.as
+++ frameworks/projects/spark/src/spark/skins/SparkSkin.as
@@ -248,7 +248,7 @@
 				/* if we're lucky, the IGE has its own DisplayObject, and we can just trip its alpha.
 				If not, we're going to have to set it to 0, and force a redraw of the whole component */
 				var ge:IGraphicElement = ex as IGraphicElement;
-				if(ge.displayObjectSharingMode == DisplayObjectSharingMode.OWNS_UNSHARED_OBJECT)
+				if (ge.displayObjectSharingMode == DisplayObjectSharingMode.OWNS_UNSHARED_OBJECT)
 				{
                     exclusionAlphaValues[i] = ge.displayObject.alpha;
 					ge.displayObject.alpha = 0;


Add socket connection.

Add socket connection.

--- swfcat.as
+++ swfcat.as
@@ -2,7 +2,10 @@
 {
     import flash.display.Sprite;
     import flash.text.TextField;
-    import flash.net.XMLSocket;
+    import flash.net.Socket;
+    import flash.events.Event;
+    import flash.events.IOErrorEvent;
+    import flash.events.SecurityErrorEvent;

     public class swfcat extends Sprite
     {
@@ -22,6 +25,23 @@
             output_text.backgroundColor = 0x001f0f;
             output_text.textColor = 0x44CC44;
             addChild(output_text);
+
+            var s:Socket = new Socket();
+            s.addEventListener(Event.CONNECT, function (e:Event):void {
+                puts("Connected.");
+            });
+            s.addEventListener(Event.CLOSE, function (e:Event):void {
+                puts("Closed.");
+            });
+            s.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
+                puts("IO error: " + e.text + ".");
+            });
+            s.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (e:SecurityErrorEvent):void {
+                puts("Security error: " + e.text + ".");
+            });
+            puts("Requesting connection.");
+            s.connect("192.168.0.2", 9999);
+            puts("Connection requested.");
         }
     }
 }


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

--- frameworks/projects/rpc/src/mx/rpc/ActiveCalls.as
+++ frameworks/projects/rpc/src/mx/rpc/ActiveCalls.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
 {


--- test/Test.as
+++ test/Test.as
@@ -1,3 +1,12 @@
+// vim: tabstop=4 shiftwidth=4
+
+// Copyright (c) 2010 , 杨博 (Yang Bo) All rights reserved.
+//
+//         pop.atry@gmail.com
+//
+// Use, modification and distribution are subject to the "New BSD License"
+// as listed at <url: http://www.opensource.org/licenses/bsd-license.php >.
+
 package {
 	import protobuf_unittest.*
 	import flash.display.*


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/olap/OLAPQuery.as
+++ frameworks/projects/advancedgrids/src/mx/olap/OLAPQuery.as
@@ -0,0 +1,174 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.olap
+{
+
+//--------------------------------------
+//  metadata
+//--------------------------------------
+
+[DefaultProperty("axes")]
+
+/**
+ *  The OLAPQuery interface represents an OLAP query that is executed on an IOLAPCube.
+ *
+ *  @mxml
+ *

+ *  The <mx:OLAPQuery> tag inherits all of the tag attributes
+ *  of its superclass, and adds the following tag attributes:
+ *

+ *

+ *  <mx:OLAPQuery
+ *    Properties
+ *       axis=""
+ *  />
+ *
+ *  @see mx.olap.IOLAPQuery
+ *  @see mx.olap.IOLAPQueryAxis
+ *  @see mx.olap.OLAPQueryAxis
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class OLAPQuery implements IOLAPQuery
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Specifies a column axis.
+     *  Use this property as a value of the axisOrdinal argument
+     *  to the getAxis() method.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static var COLUMN_AXIS:int = 0;
+
+    /**
+     *  Specifies a row axis.
+     *  Use this property as a value of the axisOrdinal argument
+     *  to the getAxis() method.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static var ROW_AXIS:int = 1;
+
+    /**
+     *  Specifies a slicer axis.
+     *  Use this property as a value of the axisOrdinal argument
+     *  to the getAxis() method.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static var SLICER_AXIS:int = 2;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    // axes
+    //----------------------------------
+
+    private var _axes:Array = [new OLAPQueryAxis(0),  // col axis
+                                new OLAPQueryAxis(1),  // row axis
+                                new OLAPQueryAxis(2)]; // slicer axis
+
+    /**
+     *  The axis of the Query as an Array of OLAPQueryAxis instances.
+     *  A query can have three axes: column, row, and slicer.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function set axes(value:Array):void
+    {
+        _axes = value;
+    }
+
+    /**
+     *  @private
+     */
+    public function get axes():Array
+    {
+        return _axes;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function getAxis(axisOrdinal:int):IOLAPQueryAxis
+    {
+        switch(axisOrdinal)
+        {
+            case COLUMN_AXIS:
+            case ROW_AXIS:
+            case SLICER_AXIS:
+                return axes[axisOrdinal];
+        }
+        return null;
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function setAxis(axisOrdinal:int, axis:IOLAPQueryAxis):void
+    {
+        switch(axisOrdinal)
+        {
+            case COLUMN_AXIS:
+            case ROW_AXIS:
+            case SLICER_AXIS:
+                axes[axisOrdinal] = axis;
+                break;
+        }
+    }
+
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 6753
Author:   srahim@adobe.com
Date:     2009-05-08T14:46:34.979202Z

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ResizeMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/MXMLComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/CheckBox.as
+++ frameworks/projects/spark/src/spark/components/CheckBox.as
@@ -38,9 +38,16 @@
  *
When a user clicks a CheckBox component or its associated text,
  *  the CheckBox component sets its selected property
  *  to true for checked, and to false for unchecked.

+ *  @mxml
  *
- * @includeExample examples/CheckBoxExample.mxml
- *
+ *
The <CheckBox> tag inherits all of the tag
+ *  attributes of its superclass and adds no tag attributes:

+ *

+ *  <CheckBox/>
+ *

+ *
+ *  @includeExample examples/CheckBoxExample.mxml
+ *  @see spark.skins.default.CheckBoxSkin
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5


Transferred from the Adobe Open Source Subversion Repository

Revision: 19444
Author:   klin@adobe.com
Date:     2010-12-17T01:12:03.325656Z

Log Message:
-----------
Enable easier styling and customization of DataGrid skin parts. Replaced IGridRowBackground with IGridVisualElement. A DataGrid skin part that implements IGridVisualElement will have its prepareGridVisualElement() method called before its layed out. This allows us create skin parts that can pull styles from DataGrid when created. Users can also have their skin parts implement IGridVisualElement to customize their skin part before beign layed out.

Also added the following styles to DataGrid: caretColor, rollOverColor, selectionColor, and symbolColor. Many of the skin parts in the default skin implement IGridVisualElement to enable these styles. Added default caretColor to defaults.css of #0167FF.

QE notes: Will break custom skin tests
Doc notes: No
Bugs: SDK-28491
Reviewer: Hans
Tests run: cyclone, checkintests
Is noteworthy for integration: Yes

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/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridHeaderRenderer.mxml</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridRowBackground.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridVisualElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/spark/skins/wireframe/DataGridSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/DataGrid.as
+++ frameworks/projects/spark/src/spark/components/DataGrid.as
@@ -122,6 +122,18 @@
 [Style(name="borderVisible", type="Boolean", inherit="no", theme="spark")]

 /**
+ *  Color of the caret indicator when navigating the Grid.
+ *
+ *  @default 0x0167FF
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="caretColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+/**
  *  The alpha of the content background for this component.
  *  Valid values are 0.0 to 1.0.
  *
@@ -145,6 +157,30 @@
 [Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
+ *  @copy spark.components.supportClasses.GroupBase#style:rollOverColor
+ *
+ *  @default 0xCEDBEF
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="rollOverColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+/**
+ *  @copy mx.controls.listClasses.ListBase#style:selectionColor
+ *
+ *  @default 0xA8C6EE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="selectionColor", type="uint", format="Color", inherit="yes", theme="spark, mobile")]
+
+/**
  *  The class to use as the skin for the cursor that indicates that a column
  *  can be resized.
  *  The default value is the cursorStretch symbol from the Assets.swf file.
@@ -155,6 +191,18 @@
  *  @productversion Flex 4.5
  */
 [Style(name="stretchCursor", type="Class", inherit="no")]
+
+/**
+ *  @copy spark.components.supportClasses.GroupBase#style:symbolColor
+ *
+ *  @default 0x000000
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark, mobile")]

 include "../styles/metadata/BasicNonInheritingTextStyles.as"
 include "../styles/metadata/BasicInheritingTextStyles.as"


Transferred from the Adobe Open Source Subversion Repository

Revision: 3509
Author:   jimurphy@adobe.com
Date:     2008-10-07T18:19:17.646255Z

Log Message:
-----------
Rename of flex -> mx.

For compatibility reasons it was decided that the new functionality remain integrated with the old framework, although we will continue to build two separate SWCs, one with primarily existing framework classes, and one with new Flex 4 classes. This change removes duplicate names from the Flex 4 framework to avoid class name overlapping with the old framework code.  The naming overlap consists of two major areas:  New Components, and New Effects

Modified Paths:
--------------
386 paths were modified

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -9,7 +9,7 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package flex.graphics
+package mx.graphics
 {

 import flash.display.DisplayObjectContainer;
@@ -24,9 +24,9 @@
 import flashx.tcal.formats.IContainerFormat;
 import flashx.tcal.formats.IParagraphFormat;

-import flex.graphics.graphicsClasses.TextFlowComposer;
-import flex.graphics.graphicsClasses.TextGraphicElement;
-import flex.utils.TextUtil;
+import mx.graphics.graphicsClasses.TextFlowComposer;
+import mx.graphics.graphicsClasses.TextGraphicElement;
+import mx.utils.TextUtil;

 //--------------------------------------
 //  Styles


Transferred from the Adobe Open Source Subversion Repository

Revision: 6127
Author:   aharui@adobe.com
Date:     2009-04-10T15:24:44.711126Z

Log Message:
-----------
EmbeddedFonts in Modules for TLF.

Requires build 411 of TLF (to be checked in next)

QE Notes: None
Doc Notes: Yes.  New API on DownloadProgressBar
Bugs:
Reviewer: gordon
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/build.xml</path>
<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="M">/flex/sdk/trunk/frameworks/projects/airframework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex/build.xml</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/styles/metadata/BasicTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -14,15 +14,19 @@

 import flash.display.DisplayObjectContainer;
 import flash.geom.Rectangle;
+import flash.text.TextFormat;
+import flash.text.engine.FontLookup;
 import flash.text.engine.TextLine;

 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;
+import flashx.textLayout.elements.TextLineCreator;
 import flashx.textLayout.events.DamageEvent;
 import flashx.textLayout.factory.TextLineFactory;
 import flashx.textLayout.factory.TruncationOptions;
@@ -32,7 +36,15 @@
 import flashx.textLayout.formats.VerticalAlign;
 import flashx.textLayout.tlf_internal;

+import mx.core.EmbeddedFont;
+import mx.core.EmbeddedFontRegistry;
+import mx.core.IEmbeddedFontRegistry;
+import mx.core.IFlexModuleFactory;
+import mx.core.IFontContextComponent;
+import mx.core.IUIComponent;
+import mx.core.Singleton;
 import mx.core.mx_internal;
+import mx.managers.ISystemManager;
 import spark.primitives.supportClasses.TextGraphicElement;
 import spark.utils.TextUtil;

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

@@ -108,6 +120,36 @@
     private static var staticConfiguration:Configuration =
         new Configuration();

+    //----------------------------------
+    //  embeddedFontRegistry
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the _embeddedFontRegistry property.
+     *  Note: This gets initialized on first access,
+     *  not when this class is initialized, in order to ensure
+     *  that the Singleton registry has already been initialized.
+     */
+    private static var _embeddedFontRegistry:IEmbeddedFontRegistry;
+
+    /**
+     *  @private
+     *  A reference to the embedded font registry.
+     *  Single registry in the system.
+     *  Used to look up the moduleFactory of a font.
+     */
+    private static function get embeddedFontRegistry():IEmbeddedFontRegistry
+    {
+        if (!_embeddedFontRegistry)
+        {
+            _embeddedFontRegistry = IEmbeddedFontRegistry(
+                Singleton.getInstance("mx.core::IEmbeddedFontRegistry"));
+        }
+
+        return _embeddedFontRegistry;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Constructor
@@ -128,12 +170,26 @@
         _content = textFlow = createEmptyTextFlow();
     }

-    //--------------------------------------------------------------------------
+
+   //--------------------------------------------------------------------------
     //
     //  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
      */
@@ -182,6 +238,34 @@
      */
     private var textInvalid:Boolean = false;

+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  fontContext
+    //----------------------------------
+
+    private var _fontContext:IFlexModuleFactory;
+
+    /**
+     *  @private
+     */
+    public function get fontContext():IFlexModuleFactory
+    {
+        return _fontContext;
+    }
+
+    /**
+     *  @private
+     */
+    public function set fontContext(value:IFlexModuleFactory):void
+    {
+        _fontContext = value;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overridden properties
@@ -394,15 +478,58 @@
      */
     private function setHostTextLayoutFormat(styleProp:String):void
     {
+        var checkForEmbed:Boolean = false;
+
         if (styleProp in hostTextLayoutFormat)
-		{
-			var value:* = getStyle(styleProp);
-
-			if (styleProp == "tabStops" && value === undefined)
-				value = [];
-
-			hostTextLayoutFormat[styleProp] = value;
-		}
+        {
+            var value:* = getStyle(styleProp);
+
+            if (styleProp == "tabStops" && value === undefined)
+                value = [];
+
+            if (styleProp == "fontLookup" && value == "auto")
+                checkForEmbed = true;
+            else
+                hostTextLayoutFormat[styleProp] = value;
+        }
+        if (checkForEmbed)
+        {
+            var embeddedFont:EmbeddedFont = getEmbeddedFont(
+                hostTextLayoutFormat.fontFamily,
+                hostTextLayoutFormat.fontWeight == "bold",
+                hostTextLayoutFormat.fontStyle == "italic");
+
+            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)
+            {
+                hostTextLayoutFormat.fontLookup = FontLookup.EMBEDDED_CFF;
+            }
+            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
+        {
+            if (hostTextLayoutFormat.fontLookup == FontLookup.EMBEDDED_CFF)
+                embeddedFontContext = fontContext;
+            else
+                embeddedFontContext = null;
+        }
     }

     /**
@@ -504,7 +631,7 @@
         staticTextLayoutFormat.verticalAlign = FormatValue.INHERIT;
         staticTextLayoutFormat.whiteSpaceCollapse =
             getStyle("whiteSpaceCollapse");
-        textFlow.hostTextLayoutFormat = staticTextLayoutFormat;
+        textFlow.hostFormat = staticTextLayoutFormat;

         textFlow.mxmlChildren = children;

@@ -570,7 +697,7 @@
             hostTextLayoutFormatInvalid = false;
         }

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

         return textFlow;
     }
@@ -664,6 +791,13 @@
 				TextGraphicElement.mx_internal::truncationIndicatorResource;
 		}

+        if (textFlow && textFlow.flowComposer)
+        {
+            if (embeddedFontContext)
+                textFlow.flowComposer.textLineCreator = ITextLineCreator(embeddedFontContext);
+            else
+                textFlow.flowComposer.textLineCreator = new TextLineCreator();
+        }
         TextLineFactory.createTextLinesFromTextFlow(
 			addTextLine, textFlow, mx_internal::bounds, truncationOptions);
     }
@@ -706,6 +840,35 @@

         invalidateDisplayList();
     }
+
+    private function creatingSystemManager():ISystemManager
+    {
+        return ((fontContext != null) && (fontContext is ISystemManager))
+                ? ISystemManager(fontContext)
+                : IUIComponent(parent).systemManager;
+    }
+
+    /**
+     * @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: 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@1260253 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/effects/IEffectTargetHost.as
+++ frameworks/projects/framework/src/mx/effects/IEffectTargetHost.as
@@ -22,6 +22,11 @@
  *  added, removed, or replaced in the target control.
  *
  *  @see mx.controls.listClasses.ListBase
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface IEffectTargetHost
 {
@@ -35,6 +40,11 @@
      *  duration of the effect.
      *
      *  @param item The item renderer that is a target of the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function unconstrainRenderer(item:Object):void;

@@ -49,6 +59,11 @@
      *  an item renderer.
      *
      *  @param item The item renderer to remove from the control's layout.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function removeDataEffectItem(target:Object):void;

@@ -64,6 +79,11 @@
      *  by the control using an item renderer.

      *
      *  @param item The item renderer to add to the control's layout.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function addDataEffectItem(target:Object):void;

@@ -82,6 +102,11 @@
      *
      *  @return true or false
      *  to indicates whether the effect should play on the target.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getRendererSemanticValue(target:Object,semanticProperty:String):Object;


Transferred from the Adobe Open Source Subversion Repository

Revision: 5135
Author:   egeorgie@adobe.com
Date:     2009-03-02T18:07:53.499277Z

Log Message:
-----------
PARB changes to FxButton
- FxButton is no longer IDataRenderer
- FxToggleButton is no longer ISelectableRenderer
- FxButtonBar's default skin now uses a subclass of FxToggleButton that implements both IDataRenderer and ISelectableRenderer
- "labelField" name of skin parts changed to "labelElement" for all Spark skins.
- Some minor tweaks, renames

QE Notes: None
Doc Notes:
Bugs: None
Reviewer: Glenn
tests: checkintests, mustella (QA ran a cyclone and failing tests are excluded)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxToggleButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxCheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxRadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBarButton.as
+++ frameworks/projects/spark/src/spark/components/ButtonBarButton.as
@@ -0,0 +1,136 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.components
+{
+import flash.events.MouseEvent;
+
+import mx.components.FxButton;
+import mx.core.IDataRenderer;
+import mx.core.ISelectableRenderer;
+import mx.core.mx_internal;
+
+/**
+ *  The ButtonBarButton implements IDataRenderer
+ *  and proxies the label property with the data
+ *  property. Used in the default skin for the ButtonBar.
+ */
+public class ButtonBarButton extends FxToggleButton implements IDataRenderer, ISelectableRenderer
+{
+    /**
+     *  Constructor.
+     */
+    public function ButtonBarButton()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  allowDeselection
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the allowDeselection property
+     */
+    private var _allowDeselection:Boolean = true;
+
+    /**
+     *  @inheritDoc
+     */
+    public function get allowDeselection():Boolean
+    {
+        return _allowDeselection;
+    }
+
+    /**
+     *  @private
+     */
+    public function set allowDeselection(value:Boolean):void
+    {
+        _allowDeselection = value;
+    }
+
+    //----------------------------------
+    //  showFocusIndicator
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the showFocusIndicator property
+     */
+    private var _showFocusIndicator:Boolean = false;
+
+    /**
+     *  @inheritDoc
+     */
+    public function get showFocusIndicator():Boolean
+    {
+        return _showFocusIndicator;
+    }
+
+    /**
+     *  @private
+     */
+    public function set showFocusIndicator(value:Boolean):void
+    {
+        if (value == _showFocusIndicator)
+            return;
+
+        _showFocusIndicator = value;
+        mx_internal::drawFocusAnyway = true;
+        drawFocus(value);
+    }
+
+    //----------------------------------
+    //  data
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     */
+    public function get data():Object
+    {
+         return content;
+    }
+
+    /**
+     *  @private
+     */
+    public function set data(value:Object):void
+    {
+         content = value;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handling
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function clickHandler(event:MouseEvent):void
+    {
+        if (selected && !allowDeselection)
+            return;
+        super.clickHandler(event);
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 12469
Author:   jimurphy@adobe.com
Date:     2009-12-03T22:04:16.560316Z

Log Message:
-----------
fix offsets for FB.  Convert line ending from lf to crlf in svn for the proects directory only.  When checking project files in, be sure to save you files this way.  Another update to make sure happens is set the svn properties svn:eol-style = native and svn:mime-type = text/plain (these have been updated on theses files as well)

QE notes: make sure the proper class is selected
Doc notes: no
Bugs: http://bugs.adobe.com/jira/browse/SDK-24498
Reviewer:
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
133 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/animation/Timeline.as
+++ frameworks/projects/spark/src/spark/effects/animation/Timeline.as
@@ -1,4 +1,4 @@
-////////////////////////////////////////////////////////////////////////////////
+		////////////////////////////////////////////////////////////////////////////////
 //
 //  ADOBE SYSTEMS INCORPORATED
 //  Copyright 2008 Adobe Systems Incorporated
@@ -20,7 +20,7 @@
  * This approach means that effects that are set up to end/start at the same
  * time, through use of duration and startDelay properties, will be
  * synchronized.
- *
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
@@ -32,17 +32,17 @@
     // make sense to make it public and accessible outside of just the
     // Animation class. For example, effects may want to access the global
     // animation time. Also, we  may want to have child timelines, or expose
-    // other capabilities such as speeding up and slowing down time.
+    // other capabilities such as speeding up and slowing down time.
     // Note that the static methods may instead become instance methods
     // on a singleton.
-
+
     private static var startTime:int = -1;
     private static var _currentTime:int = -1;
-
+
     public function Timeline()
     {
     }
-
+
     public static function pulse():int
     {
         if (startTime < 0)
@@ -54,7 +54,7 @@
         _currentTime = getTimer() - startTime;
         return _currentTime;
     }
-
+
     public static function get currentTime():int
     {
         if (_currentTime < 0)
@@ -66,4 +66,4 @@
     }

 }
-}+}


getNorm() speed up

getNorm() speed up

--- WeaveData/src/weave/data/StatisticsCache.as
+++ WeaveData/src/weave/data/StatisticsCache.as
@@ -96,10 +96,9 @@
 	{
 		var min:Number = validateCache(getMin);
 		var max:Number = validateCache(getMax);
-		var value:* = column.getValueFromKey(key, Number);
-		if (value is Number)
-			return (value - min) / (max - min);
-		return NaN;
+		var numericData:Dictionary = validateCache(hack_getNumericData);
+		var value:Number = numericData ? numericData[key] : NaN;
+		return (value - min) / (max - min);
 	}

 	/**


Expose the DObject here. Then the client code needn't keep both a subscriber and an object lying around.

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@6693 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/main/as/com/threerings/presents/util/SafeSubscriber.as
+++ src/main/as/com/threerings/presents/util/SafeSubscriber.as
@@ -69,6 +69,14 @@
     public function isActive () :Boolean
     {
         return _active;
+    }
+
+    /**
+     * Gets the object we are subscribed to, or null if the subscription is not yet complete.
+     */
+    public function getObject () :DObject
+    {
+        return _object;
     }

     /**


Lantern-hand is always closed

Lantern-hand is always closed


Added copy() method to XSmartURL

Added copy() method to XSmartURL

--- as3/xobjas3/src/com/rpath/xobj/XSmartURL.as
+++ as3/xobjas3/src/com/rpath/xobj/XSmartURL.as
@@ -324,5 +324,9 @@
         hasHeaders = true;
     }

+    public function copy():*
+    {
+        return XObjUtils.shallowCopy(this);
+    }
 }
 }


getting images to show up under PBS workview

--- as3/xobjas3/src/com/rpath/xobj/XSmartURL.as
+++ as3/xobjas3/src/com/rpath/xobj/XSmartURL.as
@@ -109,7 +109,7 @@
     /** filterTerms is an array of (field, operator, value) clauses
      * that are assumed to be AND clauses
      */
-    private var _filterTerms:Array;
+    private var _filterTerms:Array =[];

     [xobjTransient]
     public function get filterTerms():Array


Removed commented lines

Removed commented lines


minor fixes: sizes, font, adjust offsets, b.mode key

--- bin/Data/Scripts/Editor/EditorViewSelectableOrigins.as
+++ bin/Data/Scripts/Editor/EditorViewSelectableOrigins.as
@@ -1,16 +1,17 @@
 const bool DEFAULT_SHOW_NAMES_FOR_ALL = false;
 const int ORIGIN_STEP_UPDATE = 10;
-const int NAMES_SIZE = 10;
+const int NAMES_SIZE = 11;
 const StringHash ORIGIN_NODEID_VAR("OriginNodeID");
 const Color ORIGIN_COLOR(1.0f,1.0f,1.0f,1.0f);
 const Color ORIGIN_COLOR_SELECTED(0.0f,1.0f,1.0f,1.0f);
 const Color ORIGIN_COLOR_DISABLED(1.0f,0.0f,0.0f,1.0f);
 const Color ORIGIN_COLOR_TEXT(1.0f,1.0f,1.0f,0.3f);
 const Color ORIGIN_COLOR_SELECTED_TEXT(1.0f,1.0f,1.0f,1.0f);
-const IntVector2 ORIGIN_ICON_SIZE(12,12);
-const IntVector2 ORIGIN_ICON_SIZE_SELECTED(15,15);
+const IntVector2 ORIGIN_ICON_SIZE(14,14);
+const IntVector2 ORIGIN_ICON_SIZE_SELECTED(18,18);
 const float ORIGINS_VISIBLITY_RANGE = 32.0f;
-const IntVector2 ORIGINOFFSETICON(7,7);
+const IntVector2 ORIGINOFFSETICON(8,8);
+const IntVector2 ORIGINOFFSETICONSELECTED(10,8);

 bool showNamesForAll = DEFAULT_SHOW_NAMES_FOR_ALL;
 bool EditorOriginShow = false;
@@ -53,11 +54,6 @@
     if (origin is null) return;

     if (EditorPaintSelectionShow) return;
-
-    //if (hotKeyMode == HOTKEYS_MODE_BLENDER)
-    //    if (!input.mouseButtonDown[MOUSEB_RIGHT]) return;
-    //else
-    //    if (!input.mouseButtonDown[MOUSEB_LEFT]) return;

     if (IsSceneOrigin(origin))
     {
@@ -175,7 +171,7 @@
                         // turn on origin and move
                         MoveOrigin(i, true);

-                        if (isThisNodeOneOfSelected(originsNodes[i]))
+                        if (isThisNodeOneOfSelected(originsNodes[i]))
                         {
                             ShowSelectedNodeOrigin(originsNodes[i], i);
                             originsNames[i].visible = true;
@@ -226,7 +222,7 @@
         Viewport@ vp = activeViewport.viewport;
         Vector2 sp = activeViewport.camera.WorldToScreenPoint(node.worldPosition);
         //originsIcons[index].position = IntVector2(10+int(vp.rect.left + sp.x * vp.rect.right), -5 + int(vp.rect.top + sp.y* vp.rect.bottom));
-        originsIcons[index].position = IntVector2(int(vp.rect.left + sp.x * vp.rect.right) - ORIGINOFFSETICON.x, int(vp.rect.top + sp.y* vp.rect.bottom) - ORIGINOFFSETICON.y);
+        originsIcons[index].position = IntVector2(int(vp.rect.left + sp.x * vp.rect.right) - ORIGINOFFSETICONSELECTED.x, int(vp.rect.top + sp.y* vp.rect.bottom) - ORIGINOFFSETICONSELECTED.y);
         originsNames[index].color = ORIGIN_COLOR_SELECTED_TEXT;

         if (originsNodes[index].enabled)
@@ -244,7 +240,7 @@
             originsIcons[index].vars[ORIGIN_NODEID_VAR] = node.id;
         }

-        // We always update to keep and feed alt-info with actual info about node components
+        // We always update to keep and feed alt-info with actual info about node components
         Array<Component@> components = node.GetComponents();
         Array<String> componentsShortInfo;
         Array<String> componentsDetailInfo;
@@ -274,7 +270,7 @@

     originsNames[index] = Text();
     originsNames[index].visible = false;
-    originsNames[index].SetFont(cache.GetResource("Font", "Fonts/BlueHighway.ttf"), NAMES_SIZE);
+    originsNames[index].SetFont(cache.GetResource("Font", "Fonts/Anonymous Pro.ttf"), NAMES_SIZE);
     originsNames[index].color = ORIGIN_COLOR_TEXT;
     //originsNames[index].textEffect = TE_STROKE;
     originsNames[index].temporary = true;
@@ -317,20 +313,20 @@
         originsNames[index].visible = true;
         originsNames[index].color = ORIGIN_COLOR_SELECTED_TEXT;
     }
-    else
+    else
     {
         originsNames[index].visible = showNamesForAll ? isVisible : false;
         originsNames[index].color = ORIGIN_COLOR_TEXT;
     }
 }

-void VisibilityOrigin(int index, bool isVisible = false)
+void VisibilityOrigin(int index, bool isVisible = false)
 {
     originsIcons[index].visible = isVisible;
     originsNames[index].visible = isVisible;
 }

-bool IsSceneOrigin(UIElement@ element)
+bool IsSceneOrigin(UIElement@ element)
 {
     if (originsIcons.length < 1) return false;

@@ -347,8 +343,8 @@
     return false;
 }

-void CheckKeyboardQualifers()
-{
+void CheckKeyboardQualifers()
+{
     // if pressed alt we inc state for info
     bool showAltInfo = input.keyPress[KEY_ALT];
     if (showAltInfo)
@@ -359,7 +355,14 @@
     if (hideAltInfo)
         selectedNodeInfoState = 0;

-    bool showNameForOther = (input.keyPress[KEY_SPACE] && ui.focusElement is null);
+    bool showNameForOther = false;
+
+    // In-B.mode Key_Space are busy by quick menu, so we use other key for B.mode
+    if (hotKeyMode == HOTKEYS_MODE_BLENDER)
+      showNameForOther = (input.keyPress[KEY_TAB] && ui.focusElement is null);
+    else
+      showNameForOther = (input.keyPress[KEY_SPACE] && ui.focusElement is null);
+
     if (showNameForOther)
         showNamesForAll =!showNamesForAll;

@@ -379,7 +382,7 @@
         if (st > 0 && node.tags.length > 0)
         {
             result = result + "\n[";
-            for (int i=0;i<node.tags.length; i++)
+            for (int i=0;i<node.tags.length; i++)
             {
                 result = result + " " + node.tags[i];
             }
@@ -392,7 +395,7 @@
     return result;
 }

-void HandleSceneLoadedForOrigins()
+void HandleSceneLoadedForOrigins()
 {
     rebuildSceneOrigins = true;
 }
@@ -402,7 +405,7 @@
     UIElement@ origin = eventData["Element"].GetPtr();
     if (origin is null)
         return;
-
+
     if (IsSceneOrigin(origin))
     {
         VariantMap data;
@@ -419,7 +422,7 @@
     UIElement@ origin = eventData["Element"].GetPtr();
     if (origin is null)
         return;
-
+
     if (IsSceneOrigin(origin))
     {
         VariantMap data;
@@ -428,5 +431,5 @@
         data["NodeId"] = originsIcons[originHoveredIndex].vars[ORIGIN_NODEID_VAR].GetInt();
         SendEvent(EDITOR_EVENT_ORIGIN_END_HOVER, data);
         isOriginsHovered = false;
-    }
+    }
 }


Do not copy images on Flash when a resize or crop isn't required.

When loading an image on Flash, check if the size and crop of the
retrieved image match the intended ones. If so, use the original
image bitmap instead of making a potentially expensive copy.

--- src/renderers/FlashCommon.as
+++ src/renderers/FlashCommon.as
@@ -285,7 +285,6 @@
       var id:Number = nextId++;

       var loader:Loader = new Loader();
-      imageMap[id] = loader;

       loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadSuccess);
       loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
@@ -297,6 +296,7 @@
       var urlRequest:URLRequest = new URLRequest(url);
       loader.load(urlRequest, loaderContext);

+      imageMap[id] = loader;
       return id;

       function loadSuccess(e:Event):void {
@@ -307,17 +307,27 @@

         var image:Bitmap = Bitmap(loader.content);

-        // Convert relative offset/size to absolute values.
-        x *= image.bitmapData.width;
-        y *= image.bitmapData.height;
-        width *= image.bitmapData.width;
-        height *= image.bitmapData.height;
-
-        var croppedData:BitmapData = new BitmapData(width, height);
-        croppedData.copyPixels(image.bitmapData, new Rectangle(x, y, width, height), new Point(0,0));
-
-        imageMap[id] = croppedData;
-
+        // Get the image dimensions.
+        var imageWidth:Number = image.bitmapData.width;
+        var imageHeight:Number = image.bitmapData.height;
+
+        // Convert relative offset and size to absolute values.
+        x *= imageWidth;
+        y *= imageHeight;
+        width *= imageWidth;
+        height *= imageHeight;
+
+        // Crop the image if required.
+        var bitmapData:BitmapData;
+        if (x !== 0 || y !== 0 || width !== imageWidth || height !== imageHeight) {
+          bitmapData = new BitmapData(width, height);
+          bitmapData.copyPixels(image.bitmapData,
+            new Rectangle(x, y, width, height), new Point(0,0));
+        } else {
+          bitmapData = image.bitmapData;
+        }
+
+        imageMap[id] = bitmapData;
         ExternalInterface.call(imageLoadedCallback, false, id);
       }


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

--- frameworks/projects/framework/src/mx/core/ILayoutElement.as
+++ frameworks/projects/framework/src/mx/core/ILayoutElement.as
@@ -19,6 +19,11 @@
 /**
  *  The ILayoutElement interface is used primarily by the layout classes to query,
  *  size and position the elements of the GroupBase based containers.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface ILayoutElement extends IEventDispatcher
 {
@@ -36,6 +41,11 @@
      *  "anchorTargetName:value" e.g. "col1:10".
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get left():Object;
     function set left(value:Object):void;
@@ -54,6 +64,11 @@
      *  "anchorTargetName:value" e.g. "col1:10".
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get right():Object;
     function set right(value:Object):void;
@@ -72,6 +87,11 @@
      *  "anchorTargetName:value" e.g. "row1:10".
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get top():Object;
     function set top(value:Object):void;
@@ -90,6 +110,11 @@
      *  "anchorTargetName:value" e.g. "row1:10".
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get bottom():Object;
     function set bottom(value:Object):void;
@@ -111,6 +136,11 @@
      *  "constraintColumnId:value" e.g. "col1:10".
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get horizontalCenter():Object;
     function set horizontalCenter(value:Object):void;
@@ -132,6 +162,11 @@
      *  "constraintColumnId:value" e.g. "row1:10".
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get verticalCenter():Object;
     function set verticalCenter(value:Object):void;
@@ -151,6 +186,11 @@
      *  "anchorTargetName:value" e.g. "row1:10".
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get baseline():Object;
     function set baseline(value:Object):void;
@@ -166,6 +206,11 @@
      *  in percent.

      *
      *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get percentWidth():Number;
     function set percentWidth(value:Number):void;
@@ -181,6 +226,11 @@
      *  in percent.

      *
      *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get percentHeight():Number;
     function set percentHeight(value:Number):void;
@@ -194,6 +244,11 @@
      *  computing the position of the next child.
      *
      *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get includeInLayout():Boolean;

@@ -210,6 +265,11 @@
      *  @see #getPreferredHeight
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getPreferredBoundsWidth(postTransform:Boolean=true):Number;

@@ -226,6 +286,11 @@
      *  @see #getPreferredWidth
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getPreferredBoundsHeight(postTransform:Boolean=true):Number;

@@ -240,6 +305,11 @@
      *  @see #getMinHeight
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getMinBoundsWidth(postTransform:Boolean=true):Number;

@@ -254,6 +324,11 @@
      *  @see #getMinWidth
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getMinBoundsHeight(postTransform:Boolean=true):Number;

@@ -268,6 +343,11 @@
      *  @see #getMaxHeight
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getMaxBoundsWidth(postTransform:Boolean=true):Number;

@@ -282,6 +362,11 @@
      *  @see #getMaxWidth
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getMaxBoundsHeight(postTransform:Boolean=true):Number;

@@ -297,6 +382,11 @@
      *  @see #getLayoutHeight
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getLayoutBoundsWidth(postTransform:Boolean=true):Number;

@@ -312,6 +402,11 @@
      *  @see #getLayoutWidth
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getLayoutBoundsHeight(postTransform:Boolean=true):Number;

@@ -326,6 +421,11 @@
      *  @see #getLayoutPositionY
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getLayoutBoundsX(postTransform:Boolean=true):Number;

@@ -340,6 +440,11 @@
      *  @see #getLayoutPositionX
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getLayoutBoundsY(postTransform:Boolean=true):Number;

@@ -357,6 +462,11 @@
      *  @see #setLayoutSize
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function setLayoutBoundsPosition(x:Number, y:Number, postTransform:Boolean=true):void;

@@ -389,6 +499,11 @@
      *  @see #setLayoutPosition
      *  @see #getLayoutMatrix
      *  @see #getLayoutMatrix3D
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function setLayoutBoundsSize(width:Number = Number.NaN,
                            height:Number = Number.NaN,
@@ -415,6 +530,11 @@
      *  @see #setLayoutMatrix3D
      *  @see mx.core.UIComponent#offsets
      *  @see mx.graphics.baseClasses.GraphicElement#offsets
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getLayoutMatrix():Matrix;

@@ -449,6 +569,11 @@
      *  @see #setLayoutMatrix3D
      *  @see mx.core.UIComponent#offsets
      *  @see mx.graphics.baseClasses.GraphicElement#offsets
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function setLayoutMatrix(m:Matrix, triggerLayout:Boolean):void;

@@ -473,6 +598,11 @@
      *  @see #setLayoutMatrix3D
      *  @see mx.core.UIComponent#offsets
      *  @see mx.graphics.baseClasses.GraphicElement#offsets
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getLayoutMatrix3D():Matrix3D;

@@ -508,6 +638,11 @@
      *  @see #getLayoutMatrix3D
      *  @see mx.core.UIComponent#offsets
      *  @see mx.graphics.baseClasses.GraphicElement#offsets
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function setLayoutMatrix3D(m:Matrix3D, triggerLayout:Boolean):void;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5770
Author:   gruehle@adobe.com
Date:     2009-03-30T20:58:54.529722Z

Log Message:
-----------
Add [Alternative] metadata to the Halo components that have a Gumbo replacement.

Bugs: SDK-20190
QA notes: none
Doc notes: Additional ASDoc comments added for many of the classes. These should all be reviewed.
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TileList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Zoom.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToggleButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/HBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ControlBar.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/controls/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/RemoveChildAction.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/controls/TextArea.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/containers/VBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Glow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.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/containers/Box.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/controls/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ApplicationControlBar.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/easing/Quintic.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/containers/Tile.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/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/AddChildAction.as</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/framework/src/mx/effects/WipeDown.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/SetPropertyAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Canvas.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Blur.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HorizontalList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeUp.as</path>

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

--- frameworks/projects/framework/src/mx/effects/TweenEffect.as
+++ frameworks/projects/framework/src/mx/effects/TweenEffect.as
@@ -68,6 +68,12 @@
  *  @productversion Flex 3
  */
 [Event(name="tweenEnd", type="mx.events.TweenEvent")]
+
+/**
+ *  TweenEffect is the superclass for the animated effects in Flex 3. As of Flex 4, the new
+ *  effects subclass the new Animate class instead.
+ */
+[Alternative(replacement="spark.effects.Animate", since="4.0")]

 /**
  *  The TweenEffect class is the superclass for all effects


Transferred from the Adobe Open Source Subversion Repository

Revision: 20742
Author:   smgilson@adobe.com
Date:     2011-03-09T21:46:11.224420Z

Log Message:
-----------
Merge 20732 - 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/framework/src/mx/controls/MovieClipSWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/SwitchSymbolFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/State.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffect.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/effects/effectClasses/UnconstrainItemActionInstance.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/ContainerMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/CompositeEffectInstance.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/MXFTETextInput.as</path>

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

--- frameworks/projects/spark/src/mx/controls/MXFTETextInput.as
+++ frameworks/projects/spark/src/mx/controls/MXFTETextInput.as
@@ -69,6 +69,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function MXFTETextInput()
     {
@@ -167,6 +172,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get fontContext():IFlexModuleFactory
     {
@@ -187,6 +197,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get horizontalScrollPosition():Number
     {
@@ -252,6 +267,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get parentDrawsFocus():Boolean
     {


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


Transferred from the Adobe Open Source Subversion Repository

Revision: 4332
Author:   hmuller@adobe.com
Date:     2008-12-16T23:47:06.628431Z

Log Message:
-----------
Added prototype virtualization support for VerticalLayout and DataGroup.

More information here: https://zerowing.corp.adobe.com/display/flex/Virtualization

QE Notes: Should not effect existing tests
Doc Notes: None
Bugs:
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -8,11 +8,15 @@
 import mx.core.IFactory;
 import mx.core.IVisualElement;
 import mx.core.mx_internal;
+import mx.core.IInvalidating;
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
 import mx.events.ItemExistenceChangedEvent;
 import mx.layout.ILayoutElement;
+import mx.layout.LayoutBase;
 import mx.layout.LayoutElementFactory;
+import mx.styles.IStyleClient;
+

 /**
  *  Dispatched when an item is added to the content holder.
@@ -63,6 +67,83 @@

     private var itemRendererRegistry:Array = [];

+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  typicalItem
+    //----------------------------------
+
+    private var _typicalItem:Object = null;
+    private var typicalItemChanged:Boolean = false;
+    private var typicalLayoutElement:ILayoutElement = null;
+
+    /**
+     *  Layouts use the preferred size of the corresponding ILayoutElement
+     *  when fixed row/column sizes are requested but a specific
+     *  rowHeight or columnWidth isn't provided.
+     *
+     *  Similarly virtual layouts use this item to define the size
+     *  of layout elements that have not been scrolled into view.
+     *
+     *  Setting this property sets the typicalLayoutElement property
+     *  of the layout.
+     *
+     *  @default null
+     */
+    public function get typicalItem():Object
+    {
+        return _typicalItem;
+    }
+
+    /**
+     *  @private
+     */
+    public function set typicalItem(value:Object):void
+    {
+        if (_typicalItem == value)
+            return;
+        _typicalItem = value;
+        typicalItemChanged = true;
+        invalidateProperties();
+    }
+
+    private function initializeTypicalItem():void
+    {
+        var itemRenderer:DisplayObject = DisplayObject(createRendererForItem(_typicalItem));
+        super.addChild(itemRenderer)
+        if (itemRenderer is IInvalidating)
+            IInvalidating(itemRenderer).validateNow();
+        typicalLayoutElement = LayoutElementFactory.getLayoutElementFor(itemRenderer);
+        if (layout)
+            layout.typicalLayoutElement = typicalLayoutElement;
+        super.removeChild(itemRenderer);
+    }
+
+    //----------------------------------
+    //  layout
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Sync the typicalLayoutElement var with this group's layout.
+     */
+    override public function set layout(value:LayoutBase):void
+    {
+        var oldLayout:LayoutBase = layout;
+        if (value == oldLayout)
+            return;
+
+        super.layout = value;
+        if (oldLayout)
+            oldLayout.typicalLayoutElement = null;
+        if (value)
+            value.typicalLayoutElement = typicalLayoutElement;
+    }
+
     //----------------------------------
     //  itemRenderer
     //----------------------------------
@@ -192,7 +273,7 @@
         for (var idx:int = numChildren; idx > 0; idx--)
             super.removeChildAt(0);

-        if (_dataProvider != null)
+        if (_dataProvider && (!layout || !layout.virtualLayout))
         {
             for (var i:int = 0; i < _dataProvider.length; i++)
             {
@@ -250,7 +331,11 @@
         {
             myItemRenderer = IVisualElement(item);
         }
-
+
+        // Set the renderer's data to the item, but only if the item and renderer are different
+        if ((myItemRenderer is IDataRenderer) && (myItemRenderer != item))
+            IDataRenderer(myItemRenderer).data = item;
+
         // Couldn't find item renderer.  Throw an RTE.
         if (!myItemRenderer)
         {
@@ -341,6 +426,12 @@
         {
         	manageDisplayObjectLayers();
         }
+
+        if (typicalItemChanged)
+        {
+            typicalItemChanged = false;
+            initializeTypicalItem();
+        }
     }

     private function manageDisplayObjectLayers():void
@@ -431,17 +522,87 @@
     {
         return dataProvider ? dataProvider.length : 0;
     }
+
+    private var virtualLayoutOffset:int = 0;
+    private var virtualLayoutUnderway:Boolean = false;
+
+    /**
+     *  @private
+     *  Update virtualLayoutOffset and clear the virtualLayoutUnderway flag.
+     */
+    override public function beginVirtualLayout(startIndex:int):void
+    {
+        virtualLayoutOffset = startIndex;
+        virtualLayoutUnderway = true;
+    }
+
+    /**
+     *  @private
+     *  Discard the ItemRenderers that aren't needed anymore, i.e. the ones
+     *  outside the logical range startIndex to endIndex.
+     *
+     *  Clear the virtualLayoutUnderway flag.
+     */
+    override public function endVirtualLayout(startIndex:int, endIndex:int):void
+    {
+        // At this point, insertion of new IRs has pushed all of the unneeded IRs
+        // past endIndex-startIndex.  Remove them without invalidating this DataGroup's
+        // size or display list.
+        for(var i:int = super.numChildren - 1; i > (endIndex - startIndex); i--)
+        {
+            var itemRenderer:DisplayObject = super.getChildAt(i);
+            unregisterRenderer(i, IVisualElement(itemRenderer));
+            super.removeChildAt(i);
+        }
+        virtualLayoutUnderway = false;
+    }
+
+    /**
+     *  @private
+     */
+    override public function invalidateSize():void
+    {
+        if (!virtualLayoutUnderway)
+            super.invalidateSize();
+    }

     /**
      *  @private
      */
     override public function getLayoutElementAt(index:int):ILayoutElement
     {
-        var myItemRenderer:Object = mx_internal::getRendererForItemAt(index);
-
-        return LayoutElementFactory.getLayoutElementFor(myItemRenderer);
-    }
-
+        var itemRendererIndex:int = index - virtualLayoutOffset;
+        var itemRenderer:Object = mx_internal::getRendererForItemAt(itemRendererIndex);
+
+        if (layout && layout.virtualLayout)
+        {
+            // Note: the code below does most of the same work as itemAdded()
+            var item:Object = dataProvider.getItemAt(index);
+            var createdIR:Boolean = false;
+
+            if (!itemRenderer)
+            {
+                itemRenderer = createRendererForItem(item);
+                createdIR = true;
+            }
+
+            if (itemRenderer.parent != this)
+                addItemRendererToDisplayList(DisplayObject(itemRenderer), itemRendererIndex);
+            else
+                super.setChildIndex(DisplayObject(itemRenderer), itemRendererIndex);
+
+            if (createdIR)
+            {
+                if (itemRenderer is IInvalidating)
+                    IInvalidating(itemRenderer).validateNow();
+                // TBD sync with itemAdded
+                dispatchEvent(new ItemExistenceChangedEvent(ItemExistenceChangedEvent.ITEM_ADD, false, false, item));
+            }
+        }
+
+        return LayoutElementFactory.getLayoutElementFor(itemRenderer);
+    }
+
     /**
      *  @private
      */
@@ -462,15 +623,11 @@
     mx_internal function itemAdded(item:Object, index:int):void
     {
         var myItemRenderer:IVisualElement = createRendererForItem(item);
-
-        // Set the renderer's data to the item, but only if the item and renderer are different
-        if (myItemRenderer is IDataRenderer && myItemRenderer != item)
-            IDataRenderer(myItemRenderer).data = item;
-
+
         registerRenderer(index, myItemRenderer);

-        addItemToDisplayList(myItemRenderer as DisplayObject, item, index);
-
+        addItemRendererToDisplayList(myItemRenderer as DisplayObject, index);
+        // TBD: sync with virtualization code in getLayoutElementAt
         dispatchEvent(new ItemExistenceChangedEvent(
                       ItemExistenceChangedEvent.ITEM_ADD, false, false,
                       item, index, myItemRenderer));
@@ -523,7 +680,7 @@
      *
      *  @return DisplayObject that was added.
      */
-    protected function addItemToDisplayList(child:DisplayObject, item:Object, index:int = -1):DisplayObject
+    protected function addItemRendererToDisplayList(child:DisplayObject, index:int = -1):DisplayObject
     {
         // TODO: do we need this case (parented by me previously)?
         if (child.parent && child.parent == this)
@@ -545,7 +702,7 @@
         }

         if ((_layeringFlags & LAYERING_ENABLED) ||
-        	(item is IVisualElement && (item as IVisualElement).layer != 0))
+        	(child is IVisualElement && (child as IVisualElement).layer != 0))
         	invalidateLayering();

         return super.addChildAt(child, index != -1 ? index : super.numChildren);
@@ -766,4 +923,4 @@
                 "Use methods defined on the dataProvider instead"));
     }
 }
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 7154
Author:   srahim@adobe.com
Date:     2009-05-20T21:20:01.377159Z

Log Message:
-----------
ASDoc updates; bug fix.
QE Notes: None
Doc Notes: None
Bugs: FLEXDOCS-831 (for the filter classes and RichEditableTextContainerManager.as)
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextInput.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextInput.as
+++ frameworks/projects/spark/src/spark/components/TextInput.as
@@ -26,7 +26,7 @@
 //--------------------------------------

 /**
- *  Dispatched when the user pressed the Enter key.
+ *  Dispatched when the user presses the Enter key.
  *
  *  @eventType mx.events.FlexEvent.ENTER
  *
@@ -66,9 +66,15 @@
 [SkinState("disabled")]

 /**
- *  Documentation is not currently available.
+ *  A text field that lets users enter and edit a single line
+ *  of single-styled text. Can contain alphanumeric data, but
+ *  input is interpreted as a String.
  *
  *  @includeExample examples/TextInputExample.mxml
+ *
+ *  @see spark.primitives.SimpleText
+ *  @see spark.primitives.RichEditableText
+ *  @see TextArea
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 3755
Author:   chaase@adobe.com
Date:     2008-10-20T21:09:39.321431Z

Log Message:
-----------
Fixed sdk-17414, sdk-17413, sdk-17409. Also fixed various small asdoc errors (related to recent classname changes).

QE Notes: None
Doc Notes: None
Bugs: sdk-17414, sdk-17413, sdk-17409
Reviewer: Hans

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PauseInstance.as</path>
<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/flex4/src/mx/effects/FxAnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/PropertyValuesHolder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxMove.as</path>

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

--- frameworks/projects/spark/src/spark/effects/AnimateColor.as
+++ frameworks/projects/spark/src/spark/effects/AnimateColor.as
@@ -55,7 +55,7 @@
     public var colorPropertyName:String = "color";

     /**
-     * Constructs a Tint effect with an optional target object
+     * Constructs an FxAnimateColor effect with an optional target object
      */
     public function FxAnimateColor(target:Object=null)
     {


Dynamically generated XUnit-compatible assertions.

--- flash/org/windmill/WMAssert.as
+++ flash/org/windmill/WMAssert.as
@@ -17,15 +17,153 @@
 package org.windmill {
   import org.windmill.WMLocator;
   import org.windmill.WMLogger;
-
-  public class WMAssert {
-    public function WMAssert():void {}
+  import flash.utils.getQualifiedClassName;
+
+  public dynamic class WMAssert {
+
+    public static var assertTemplates:Object = {
+      assertTrue: {
+        expr: function (a:Boolean):Boolean {
+            return a === true;
+          },
+        errMsg: 'expected true but was false.'
+      },
+      assertFalse: {
+        expr: function (a:Boolean):Boolean {
+            return a === false;
+        },
+        errMsg: 'expected false but was true.'
+      },
+      assertEquals: {
+        expr: function (a:*, b:*):Boolean { return a === b; },
+        errMsg: 'expected $1 but was $2.'
+      },
+      assertNotEquals: {
+        expr: function (a:*, b:*):Boolean { return a !== b; },
+        errMsg: 'expected one of the two values not to be $1.'
+      },
+      assertGreaterThan: {
+        expr: function (a:*, b:*):Boolean { return a > b; },
+        errMsg: 'expected a value greater than $2 but was $1.'
+      },
+      assertLessThan: {
+        expr: function (a:*, b:*):Boolean { return a < b; },
+        errMsg: 'expected a value less than $2 but was $1.'
+      },
+      assertNull: {
+        expr: function (a:*):Boolean { return a === null; },
+        errMsg: 'expected to be null but was $1.'
+      },
+      assertNotNull: {
+        expr: function (a:*):Boolean { return a !== null; },
+        errMsg: 'expected not to be null but was null.'
+      },
+      assertUndefined: {
+        expr: function (a:*):Boolean { return typeof a == 'undefined'; },
+        errMsg: 'expected to be undefined but was $1.'
+      },
+      assertNotUndefined: {
+        expr: function (a:*):Boolean { return typeof a != 'undefined'; },
+        errMsg: 'expected not to be undefined but was undefined.'
+      },
+      assertNaN: {
+        expr: function (a:*):Boolean { return isNaN(a); },
+        errMsg: 'expected $1 to be NaN, but was not NaN.'
+      },
+      assertNotNaN: {
+        expr: function (a:*):Boolean { return !isNaN(a); },
+        errMsg: 'expected $1 not to be NaN, but was NaN.'
+      },
+      assertEvaluatesToTrue: {
+        expr: function (a:*):Boolean { return !!a; },
+        errMsg: 'value of $1 does not evaluate to true.'
+      },
+      assertEvaluatesToFalse: {
+        expr: function (a:*):Boolean { return !a; },
+        errMsg: 'value of $1 does not evaluate to false.'
+      },
+      assertContains: {
+        expr: function (a:*, b:*):Boolean {
+            if (typeof a != 'string' || typeof b != 'string') {
+              throw('Bad argument to assertContains.');
+            }
+            return (a.indexOf(b) > -1);
+        },
+        errMsg: 'value of $1 does not contain $2.'
+      }
+    };

     private static var matchTypes:Object = {
       EXACT: 'exact',
       CONTAINS: 'contains'
     };

+    public static function init():void {
+      for (var p:String in WMAssert.assertTemplates) {
+        WMAssert[p] = WMAssert.createAssert(p);
+      }
+    }
+
+    private static function createAssert(meth:String):Function {
+      // Makes sure each assert is called with the right
+      // number of args
+      // -------
+      var validateArgs:Function = function(count:int,
+          args:Array):Boolean {
+        if (!(args.length == count ||
+        (args.length == count + 1 && typeof(args[0]) == 'string') )) {
+          throw('Incorrect arguments passed to assert function');
+        }
+        return true;
+      }
+      // Creates error message for each assert
+      // -------
+      var createErrMsg:Function = function (msg:String, arr:Array):String {
+        var str:String = msg;
+        for (var i:int = 0; i < arr.length; i++) {
+          // When calling jum functions arr is an array with a null entry
+          if (arr[i] != null){
+            var val:* = arr[i];
+            var display:String = '<' + val.toString().replace(/\n/g, '') +
+              '> (' + getQualifiedClassName(val) + ')';
+            str = str.replace('$' + (i + 1).toString(), display);
+          }
+        }
+        return str;
+      }
+      // Function that runs the dynamically generated asserts
+      // -------
+      var doAssert:Function = function(...args):Boolean {
+        // The actual assert method, e.g, 'equals'
+        var meth:String = args.shift();
+        // The assert object
+        var asrt:Object = WMAssert.assertTemplates[meth];
+        // The assert expresion
+        var expr:Function = asrt.expr;
+        // Validate the args passed
+        var valid:Boolean = validateArgs(expr.length, args);
+        // Pull off additional comment which may be first arg
+        //var comment = args.length > expr.length ?
+        //  args.shift() : null;
+        // Run the assert
+        var res:Boolean = expr.apply(null, args);
+        if (res) {
+          return true;
+        }
+        else {
+          var message:String = meth + ' -- ' +
+              createErrMsg(asrt.errMsg, args);
+          throw new Error(message);
+        }
+      }
+      // Return a function for each dynamically generated
+      // assert in the assertTemplates list
+      return function (...args):Boolean {
+        args.unshift(meth);
+        return doAssert.apply(null, args);
+      }
+    }
+
     public static function assertDisplayObject(params:Object):Boolean {
       var obj:* = WMLocator.lookupDisplayObject(params);
       if (!!obj) {
@@ -38,7 +176,7 @@
     }

     public static function assertProperty(params:Object):Boolean {
-      return WMAssert.doAssert(params);
+      return WMAssert.doBaseAssert(params);
     }

     public static function assertText(params:Object):Boolean {
@@ -51,7 +189,7 @@

     private static function assertTextGeneric(params:Object,
         exact:Boolean):Boolean {
-      return WMAssert.doAssert(params, {
+      return WMAssert.doBaseAssert(params, {
         attrName: ['htmlText', 'label'],
         preMatchProcess: function (str:String):String {
           return str.replace(/^\s*|\s*$/g, '');
@@ -63,7 +201,7 @@

     // Workhorse function that does all the main work for
     // most asserts
-    private static function doAssert(params:Object,
+    private static function doBaseAssert(params:Object,
         opts:Object = null):Boolean {
       // Ref to the object to do the lookup on
       var obj:* = WMLocator.lookupDisplayObject(params);


Fixed stupid syntax error.

Fixed stupid syntax error.

--- flash/org/windmill/WMAssert.as
+++ flash/org/windmill/WMAssert.as
@@ -32,8 +32,8 @@
         return true;
       }
       else {
-        throw new Error('Object ' + obj.toString() + '
-            does not exist.');
+        throw new Error('Object ' + obj.toString() +
+            ' does not exist.');
       }
     }


In Matrix4x4, prevent the signal changed to be fire twice during a lookAt computation.

--- src/aerys/minko/type/math/Matrix4x4.as
+++ src/aerys/minko/type/math/Matrix4x4.as
@@ -1,14 +1,14 @@
 package aerys.minko.type.math
 {
+	import aerys.minko.ns.minko_math;
+	import aerys.minko.type.Factory;
+	import aerys.minko.type.Signal;
+	import aerys.minko.type.binding.IWatchable;
+
 	import flash.geom.Matrix3D;
 	import flash.geom.Orientation3D;
 	import flash.geom.Utils3D;
 	import flash.geom.Vector3D;
-
-	import aerys.minko.ns.minko_math;
-	import aerys.minko.type.Factory;
-	import aerys.minko.type.Signal;
-	import aerys.minko.type.binding.IWatchable;

 	use namespace minko_math;

@@ -885,11 +885,15 @@
                                      position	: Vector4	= null,
                                      up		    : Vector4	= null) : Matrix4x4
 		{
+			var lock : Boolean = _locked;
+
+			_locked = true;
 			view(
 				position,
 				target,
 				up || deltaTransformVector(Vector4.Y_AXIS)
 			);
+			_locked = lock;

 			return invert();
 		}


Removed StringUtil.as methods that are not used in this branch

--- src/org/mangui/hls/utils/StringUtil.as
+++ src/org/mangui/hls/utils/StringUtil.as
@@ -79,19 +79,6 @@
 		}

 		/**
-		 * Removes all HTML tags from the String and returns it as plain text
-		 *
-		 * @param	str		HTML string
-		 * @returns			String without HTML tags
-		 * @example			StringUtil.removeHtmlTags("
Bonjour!
"); // Returns "Bonjour!"
-		 */
-		public static function removeHtmlTags(str:String):String
-		{
-			var tagExp:RegExp = /(<([^>]+)>)/ig;
-			return (str || "").replace(tagExp, '');
-		}
-
-		/**
 		 * Converts strings containing Windows (CR-LF), MacOS (CR) and other
 		 * non-standard line breaks (LF-CR) into strings using only Linux-style
 		 * line breaks (LF).