Transferred from the Adobe Open Source Subversion Repository

Revision: 6609
Author:   gruehle@adobe.com
Date:     2009-05-04T22:47:31.285324Z

Log Message:
-----------
Add theme attribute to theme-specific style metadata.

Example of a halo-specific style:
[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="halo")]

Example of a spark-specific style:
[Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]

Style metadata without a theme attribute is theme-agnostic, and works with either spark or halo.

Bugs: SDK-20606

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/FillStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.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/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.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/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.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/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BarColorStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/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/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/IconColorStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.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/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SelectedFillColorsStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.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/flex4/src/spark/components/SkinnableDataContainer.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/flex4/src/spark/components/SkinnableContainer.as</path>
<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/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -65,7 +65,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="alternatingItemColors", type="Array", arrayType="uint", format="Color", inherit="yes")]
+[Style(name="alternatingItemColors", type="Array", arrayType="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  The main color for a component.
@@ -77,7 +77,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="baseColor", type="uint", format="Color", inherit="yes")]
+[Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Color of the fill of an item renderer
@@ -89,7 +89,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes")]
+[Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Color of focus ring when the component is in focus
@@ -101,7 +101,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="focusColor", type="uint", format="Color", inherit="yes")]
+[Style(name="focusColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Color of the highlights when the mouse is over the component
@@ -113,7 +113,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="rollOverColor", type="uint", format="Color", inherit="yes")]
+[Style(name="rollOverColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Color of any symbol of a component. Examples include the check mark of a CheckBox or
@@ -126,7 +126,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="symbolColor", type="uint", format="Color", inherit="yes")]
+[Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]

 [Exclude(name="enabled", kind="property")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 17491
Author:   aharui@adobe.com
Date:     2010-08-26T18:31:34.581497Z

Log Message:
-----------
Handle clipped sub-apps

QE notes: none
Doc notes: New optional parameter to SystemManager.getVisibleApplicationRect
Bugs: SDK-26478
Reviewer: Darrell
Tests run: checkintests mustella/MarshallPlan
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark_dmv/src/mx/controls/advancedDataGridClasses/FTEAdvancedDataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as</path>

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

--- frameworks/projects/mx/src/mx/controls/listClasses/TileListItemRenderer.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/TileListItemRenderer.as
@@ -592,7 +592,7 @@
         // Calculate global position of label.
         var sm:ISystemManager = systemManager.topLevelSystemManager;
         var sbRoot:DisplayObject = sm.getSandboxRoot();
-        var screen:Rectangle = sm.getVisibleApplicationRect();
+        var screen:Rectangle = sm.getVisibleApplicationRect(null, true);
         var pt:Point = new Point(0, 0);
         pt = label.localToGlobal(pt);
         pt = sbRoot.globalToLocal(pt);


Transferred from the Adobe Open Source Subversion Repository

Revision: 8031
Author:   egeorgie@adobe.com
Date:     2009-06-20T01:10:03.288554Z

Log Message:
-----------
Scrub the TODOs in the framework, convert to FIXMEs in the new convention and assigning an owner.

Doc Notes: N/A
Bugs: N/A
Reviewer: Deepa
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.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/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ErrorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.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/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.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/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.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/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.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/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.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/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
@@ -174,9 +174,9 @@
             setupConstraintAnimation("percentHeight");
             setupConstraintAnimation("horizontalCenter");
             setupConstraintAnimation("verticalCenter");
-            // TODO (chaase): also deal with baseline when it works in BasicLayout
+            // FIXME (chaase): also deal with baseline when it works in BasicLayout
         }
-        // TODO (chaase): The Flex3 version of Move had logic for forcing clipping
+        // FIXME (chaase): The Flex3 version of Move had logic for forcing clipping
         // off during the effect. We probably need something like this
         // in this version as well, but the implementation is TBD with the
         // new container (Group) and layout management in Flex4


added mouse events handling when Viewport.alwaysOnTop == true

--- src/aerys/minko/render/Viewport.as
+++ src/aerys/minko/render/Viewport.as
@@ -26,6 +26,7 @@
 	import flash.display.StageScaleMode;
 	import flash.display3D.Context3DRenderMode;
 	import flash.events.Event;
+	import flash.events.MouseEvent;
 	import flash.geom.Point;
 	import flash.utils.Dictionary;
 	import flash.utils.getTimer;
@@ -47,6 +48,8 @@

 		private var _width				: Number					= 0.;
 		private var _height				: Number					= 0.;
+		private var _stageX				: Number					= 0.;
+		private var _stageY				: Number					= 0.;
 		private var _autoResize			: Boolean					= false;
 		private var _antiAliasing		: int						= 0;

@@ -250,6 +253,7 @@
 		{
 			_alwaysOnTop = value;
 			updateRectangle();
+			updateStageListeners();
 		}

 		/**
@@ -303,6 +307,7 @@
 			}

 			resizeHandler();
+			updateStageListeners();

 			stage.addEventListener(Event.ADDED, displayObjectAddedToStageHandler);
 		}
@@ -372,8 +377,11 @@
 				var width	: Number	= Math.min(2048, _width);
 				var height	: Number	= Math.min(2048, _height);

-				_stage3d.x = origin.x;
-				_stage3d.y = origin.y;
+				_stageX = _stageX;
+				_stageY = _stageY;
+
+				_stage3d.x = _stageX;
+				_stage3d.y = _stageY;

 				updateMask();

@@ -389,6 +397,52 @@
 			}
 		}

+		private function updateStageListeners() : void
+		{
+			if (!stage)
+				return ;
+
+			if (_alwaysOnTop)
+			{
+				stage.addEventListener(MouseEvent.CLICK, stageMouseHandler);
+				stage.addEventListener(MouseEvent.DOUBLE_CLICK, stageMouseHandler);
+				stage.addEventListener(MouseEvent.MOUSE_DOWN, stageMouseHandler);
+				stage.addEventListener(MouseEvent.MOUSE_MOVE, stageMouseHandler);
+				stage.addEventListener(MouseEvent.MOUSE_OUT, stageMouseHandler);
+				stage.addEventListener(MouseEvent.MOUSE_OVER, stageMouseHandler);
+				stage.addEventListener(MouseEvent.MOUSE_WHEEL, stageMouseHandler);
+				stage.addEventListener(MouseEvent.ROLL_OUT, stageMouseHandler);
+				stage.addEventListener(MouseEvent.ROLL_OVER, stageMouseHandler);
+			}
+			else
+			{
+				stage.removeEventListener(MouseEvent.CLICK, stageMouseHandler);
+				stage.removeEventListener(MouseEvent.DOUBLE_CLICK, stageMouseHandler);
+				stage.removeEventListener(MouseEvent.MOUSE_DOWN, stageMouseHandler);
+				stage.removeEventListener(MouseEvent.MOUSE_MOVE, stageMouseHandler);
+				stage.removeEventListener(MouseEvent.MOUSE_OUT, stageMouseHandler);
+				stage.removeEventListener(MouseEvent.MOUSE_OVER, stageMouseHandler);
+				stage.removeEventListener(MouseEvent.MOUSE_WHEEL, stageMouseHandler);
+				stage.removeEventListener(MouseEvent.ROLL_OUT, stageMouseHandler);
+				stage.removeEventListener(MouseEvent.ROLL_OVER, stageMouseHandler);
+			}
+		}
+
+		private function stageMouseHandler(event : MouseEvent) : void
+		{
+			if (!_alwaysOnTop || event.target == this)
+				return ;
+
+			var stageX	: Number	= event.stageX;
+			var stageY	: Number	= event.stageY;
+
+			if (stageX > _stageX && stageX < _stageX + _width
+				&& stageY > _stageY && stageY < _stageY + _height)
+			{
+				dispatchEvent(event.clone());
+			}
+		}
+
 		private function updateMask() : void
 		{
 			var numChildren : int = stage.numChildren;
@@ -396,22 +450,24 @@

 			if (_alwaysOnTop)
 			{
-				var origin 	: Point 	= localToGlobal(ZERO2);
-				var gfx		: Graphics	= _mask.graphics;
+				var gfx			: Graphics	= _mask.graphics;
+				var stageWidth	: int		= stage.stageWidth;
+				var stageHeight	: int		= stage.stageHeight;

 				gfx.clear();
 				gfx.beginFill(0);
 				gfx.moveTo(0, 0);
-				gfx.lineTo(stage.stageWidth, 0);
-				gfx.lineTo(stage.stageWidth, stage.stageHeight);
-				gfx.lineTo(0., stage.stageHeight);
+				gfx.lineTo(stageWidth, 0);
+				gfx.lineTo(stageWidth, stageHeight);
+				gfx.lineTo(0., stageHeight);
 				gfx.lineTo(0, 0);
-				gfx.moveTo(origin.x, origin.y);
-				gfx.lineTo(origin.x, origin.y + height);
-				gfx.lineTo(origin.x + width, origin.y + height);
-				gfx.lineTo(origin.x + width, origin.y);
+				gfx.moveTo(_stageX, _stageY);
+				gfx.lineTo(_stageX, _stageY + height);
+				gfx.lineTo(_stageX + width, _stageY + height);
+				gfx.lineTo(_stageX + width, _stageY);
+				gfx.lineTo(_stageX, _stageY);
 				gfx.endFill();
-
+
 				for (i = 0; i < numChildren; ++i)
 					stage.getChildAt(i).mask = _mask;
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18131
Author:   hmuller@adobe.com
Date:     2010-10-11T22:43:35.924917Z

Log Message:
-----------
IDataGridElement and some minor Doc/API changes:

Defined IDataGridElement.  Grid and ColumnHeaderBar implement it.

Removed the Grid gridOwner property.  The IDataGridElement dataGrid property serves the same purpose.

Added public grid ColumnHeaderBar property that's set/cleared by DataGrid partAdded/Removed().  ColumnHeaderBar is now responsible for syncing its scroll position with its grid.

Removed DataGrid headerRenderer property and headerColunmSeparator skin part.  These values can be changed by reconfiguring the default skin.

Corrected GridItemEditor event type metadata in DataGrid.

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="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IDataGridElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ColumnHeaderBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/GridItemEditorEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</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="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>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ColumnHeaderBarLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/GridColumnHeaderGroup.as
+++ frameworks/projects/spark/src/spark/components/GridColumnHeaderGroup.as
@@ -21,10 +21,12 @@
 import mx.core.IFactory;
 import mx.core.IVisualElement;
 import mx.core.mx_internal;
+import mx.events.PropertyChangeEvent;
 import mx.managers.CursorManager;
 import mx.managers.CursorManagerPriority;
 import mx.managers.IFocusManagerComponent;

+import spark.components.gridClasses.IDataGridElement;
 import spark.components.supportClasses.ColumnHeaderBarLayout;
 import spark.components.supportClasses.GridColumn;
 import spark.components.supportClasses.GridLayer;
@@ -274,14 +276,18 @@
 [IconFile("ColumnHeaderBar.png")]

 /**
- *  The ColumnHeaderBar control defines
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 2.0
- *  @productversion Flex 4.5
- */
-public class ColumnHeaderBar extends Group implements IFocusManagerComponent
+ *  Displays a row of column headers and separators aligned with the grid's layout.
+ *
+ *
Headers are rendererd with the headerRenderer and separators with the columnSeparator.
+ *  The layout, which can not be changed, is virtual: renderers and separators that have been
+ *  scrolled out of view are reused.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+public class ColumnHeaderBar extends Group implements IDataGridElement, IFocusManagerComponent
 {
     include "../core/Version.as";

@@ -341,7 +347,7 @@
     private var _headerRenderer:IFactory = null;

     /**
-     *  Returns the default header renderer
+     *  The IGridItemRenderer class used to renderer each column header.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -407,6 +413,62 @@
         invalidateDisplayList();
         dispatchChangeEvent("columnSeparatorChanged");
     }
+
+    //----------------------------------
+    //  dataGrid
+    //----------------------------------
+
+    [Bindable("dataGridChanged")]
+
+    private var _dataGrid:DataGrid = null;
+
+    /**
+     *  The DataGrid that defines the column layout and horizontal scroll position for this component.
+     *  This property is set by the DataGrid after its grid skin part has been added.
+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4.5
+     */
+    public function get dataGrid():DataGrid
+    {
+        return _dataGrid;
+    }
+
+    /**
+     *  @private
+     */
+    public function set dataGrid(value:DataGrid):void
+    {
+        if (_dataGrid == value)
+            return;
+
+        if (_dataGrid && _dataGrid.grid)
+            _dataGrid.grid.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, grid_changeEventHandler);
+
+        _dataGrid = value;
+
+        if (_dataGrid && _dataGrid.grid)
+            _dataGrid.grid.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, grid_changeEventHandler);
+
+        layout.clearVirtualLayoutCache();
+        invalidateSize();
+        invalidateDisplayList();
+
+        dispatchChangeEvent("dataGridChanged");
+    }
+
+    /**
+     *  @private
+     */
+    private function grid_changeEventHandler(event:PropertyChangeEvent):void
+    {
+        if (event.property == "horizontalScrollPosition")
+            horizontalScrollPosition = Number(event.newValue);
+    }

     //----------------------------------
     //  overlayGroup
@@ -777,25 +839,9 @@
     //
     //--------------------------------------------------------------------------

-    /**
-     *  @private
-     */
-    private function get dataGrid():DataGrid
-    {
-        return owner as DataGrid;
-    }
-
-    /**
-     *  @private
-     */
-    private function get grid():Grid
-    {
-        return dataGrid ? dataGrid.grid : null;
-    }
-
     private function getColumnAt(columnIndex:int):GridColumn
     {
-        const grid:Grid = grid;
+        const grid:Grid = (dataGrid) ? dataGrid.grid : null;
         if (!grid || !grid.columns)
             return null;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.components.gridClasses
 {


Blank reason displaying on text input

Blank reason displaying on text input

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/RangeInputFieldPresenter.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/RangeInputFieldPresenter.as
@@ -1,6 +1,7 @@
 package org.openforis.collect.presenter
 {
 	import org.openforis.collect.model.proxy.AttributeProxy;
+	import org.openforis.collect.model.proxy.FieldProxy;
 	import org.openforis.collect.ui.component.input.RangeInputField;

 	/**
@@ -21,6 +22,13 @@
 		override protected function getTextFromValue():String {
 			var attribute:AttributeProxy = _view.attribute;
 			if(attribute != null) {
+				var field:FieldProxy = attribute.getField(0);
+				if(field.symbol != null) {
+					var shortKey:String = getShortCutForReasonBlank(field.symbol);
+					if(shortKey != null) {
+						return shortKey;
+					}
+				}
 				var start:Object = attribute.getField(0).value;
 				var end:Object = attribute.getField(1).value;
 				if(start != null && !isNaN(Number(start))) {


Transferred from the Adobe Open Source Subversion Repository

Revision: 13137
Author:   deeptika@adobe.com
Date:     2009-12-22T01:56:13.743324Z

Log Message:
-----------
Fix for FLEXENT-1197 (Automationname for VGroup,HGroup and TileGroup is created using all the ids of the sub components)

Returning super automationName if id is not found, instead of joining the automation names of all the children.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkGroupAutomationImpl.as

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkGroupAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkGroupAutomationImpl.as
@@ -82,33 +82,7 @@
 		 */
 		override public function get automationName():String
 		{
-			if (group.id)
-				return group.id;
-			else
-			{
-				var result:String ;
-
-				var childList:Array = getAutomationChildren();
-				var n:int = childList ? childList.length:0;
-				for (var i:int = 0; i < n; i++)
-				{
-					var child:IAutomationObject = childList[i];
-					if(child != null) // we can have non automation elements like graphic elements also.
-					{
-						if((result == null) || (result == ""))
-							result = child.automationName;
-						else
-							result = result + "|" + child.automationName;
-					}
-				}
-
-				if(result == "")
-					return super.automationName;
-				else
-					return result;
-			}
-
-
+			return group.id || super.automationName;
 		}

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 21361
Author:   deeptika@adobe.com
Date:     2011-06-09T06:45:58.394840Z

Log Message:
-----------
Instances in an array collection are kept in memory till the next run. They are made free only when we remove the instances which is happening in the next refresh() call. Fixed it by making the instances free in current refresh call itself instead of waiting for next call.

QE notes:
Doc notes:
Bugs: SDK-30410 (GroupingCollection2 memory mismanagement)
Reviewer: Sameer
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/advancedgrids/src/mx/collections/GroupingCollection2.as

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

--- frameworks/projects/advancedgrids/src/mx/collections/GroupingCollection2.as
+++ frameworks/projects/advancedgrids/src/mx/collections/GroupingCollection2.as
@@ -507,6 +507,10 @@
         }

         super.source = newCollection;
+
+		// remove the items from the source collection if there are any.
+		newCollection.removeAll();
+

         // dispatch collection change event of kind reset.
         resetEvent =
@@ -1200,8 +1204,7 @@
             // initialize the variables
             initialize();

-            // remove the items from the source collection if there are any.
-            newCollection.removeAll();
+

             if ((source as ICollectionView).length == 0)
                 return false;


Transferred from the Adobe Open Source Subversion Repository

Revision: 15098
Author:   deeptika@adobe.com
Date:     2010-03-29T13:29:30.238202Z

Log Message:
-----------
Merging revision 15097 from 4.x branch.
Changing the position of drag proxy

QE notes:
Doc notes:
Bugs: FLEXDMV-2365 ([Mirroring] When layoutDirection is 'rtl', image of the chart item which is being dragged is seen away from mouse pointer)
Reviewer:
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/charts/chartClasses/ChartBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/charts/chartClasses/ChartItemDragProxy.as</path>

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

--- frameworks/projects/charts/src/mx/charts/chartClasses/ChartItemDragProxy.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/ChartItemDragProxy.as
@@ -13,13 +13,15 @@
 {

 import flash.display.DisplayObject;
+import flash.utils.getDefinitionByName;
+import flash.utils.getQualifiedClassName;
+
+import mx.charts.ChartItem;
+import mx.core.IDataRenderer;
+import mx.core.IFlexDisplayObject;
+import mx.core.LayoutDirection;
+import mx.core.UIComponent;
 import mx.core.mx_internal;
-import mx.core.UIComponent;
-import mx.core.IDataRenderer;
-import mx.charts.ChartItem;
-import flash.utils.getQualifiedClassName;
-import flash.utils.getDefinitionByName;
-import mx.core.IFlexDisplayObject;

 use namespace mx_internal;

@@ -107,6 +109,8 @@

             measuredHeight = Math.max(measuredHeight, o.itemRenderer.y + o.itemRenderer.height);
             measuredWidth = Math.max(measuredWidth, o.itemRenderer.x + o.itemRenderer.width);
+			if(ChartBase(owner).layoutDirection == LayoutDirection.RTL)
+				layoutDirection = LayoutDirection.RTL;
         }

         invalidateDisplayList();


Transferred from the Adobe Open Source Subversion Repository

Revision: 3593
Author:   smgilson@adobe.com
Date:     2008-10-13T17:42:13.039023Z

Log Message:
-----------
ASdoc updates

Checkin Test Passed: Yes
QA: No
Bug:
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
@@ -21,7 +21,11 @@
 import mx.managers.IFocusManagerComponent;

 /**
- *  Slider
+ *  The FxSlider class lets users select a value by moving a slider thumb between
+ *  the end points of the slider track.
+ *  The current value of the slider is determined by the relative location of
+ *  the thumb between the end points of the slider,
+ *  corresponding to the slider's minimum and maximum values.
  */
 public class FxSlider extends FxTrackBase implements IFocusManagerComponent
 {
@@ -62,9 +66,9 @@
     private var _liveDragging:Boolean = false;

     /**
-     *  When liveDragging is enabled, the thumb's value is
+     *  When true, the thumb's value is
      *  committed as it is dragged along the track instead
-     *  of when the thumb is released.
+     *  of when the thumb button is released.
      *
      *  @default false
      */
@@ -73,7 +77,10 @@
         return _liveDragging;
     }

-    public function set liveDragging(value:Boolean):void
+    /**
+     *  @private
+     */
+     public function set liveDragging(value:Boolean):void
     {
         _liveDragging = value;
     }
@@ -122,9 +129,7 @@
     }

     /**
-     *  Converts a point retrieved from clicking on the track
-     *  into a position. This allows subclasses to center
-     *  their thumb when clicking on the track.
+     *  @inheritDoc
      */
     protected function pointClickToPosition(localX:Number,
                                             localY:Number):Number
@@ -190,6 +195,7 @@
     //---------------------------------

     /**
+     *  @private
      *  Handle keyboard events. Left/Down decreases the value
      *  decreases the value by stepSize. The opposite for
      *  Right/Up arrows. The Home and End keys set the value
@@ -247,6 +253,7 @@
     //---------------------------------

     /**
+     *  @private
      *  Handle mouse-down events for the slider track. We
      *  calculate the value based on the new position and then
      *  move the thumb to the correct location as well as


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6404
Author:   rfrishbe@adobe.com
Date:     2009-04-30T00:34:09.399480Z

Log Message:
-----------
Finishing up VideoPlayer/VideoElement. Added support for streaming videos and fixed a few of the bugs.  Added the skins from XD.  These still need a little tweaking, and I'll go over them with XD. For the skins, I had to add some new sub-components, like the VideoPlayerVolumeBar and VideoPlayScrubBar.

Also added 3 new events for TrackBase (thumbDrag, thumbPress, thumbRelease).  These were in Halo's Slider, and I needed them for the VideoPlayerScrubBar.

Also fixed some other bugs, like needing to call removeDynamicPartInstance() on the Slider when the dataTip is removed.  Also fixed a bug around alternatingItemsColor for ItemRenderer.

QE Notes: -
Doc Notes: -
Bugs: SDK-19486, SDK-20105, SDK-20789
Reviewer: Glenn, Jason
tests: checkintests, some mustella tests were failing, but seemed like random 1 pixel differences in DropDownList.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerVolumeBarMuteButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerPlayPauseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarMuteButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerVolumeBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/StreamItem.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarMuteButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScrubBarThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScrubBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarThumbSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerMuteButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScrubBarTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerScrubBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenFullScreenButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenPlayPauseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/templates/swfobject/index.template.html</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
@@ -453,6 +453,7 @@

         if (dataTipInstance)
         {
+            removeDynamicPartInstance("dataTip", dataTipInstance);
             systemManager.toolTipChildren.removeChild(DisplayObject(dataTipInstance));
             dataTipInstance = null;
         }


A ShaderTemplatePart.worldToScreen

A ShaderTemplatePart.worldToScreen

--- src/aerys/minko/render/shader/ShaderTemplatePart.as
+++ src/aerys/minko/render/shader/ShaderTemplatePart.as
@@ -112,6 +112,11 @@
 			return getParameter("world to view", 16);
 		}

+		protected function get worldToScreen() : SValue
+		{
+			return getParameter("world to screen", 16);
+		}
+
 		protected function get projection() : SValue
 		{
 			return getParameter("projection", 16);


add Plane.cast(Ray)

add Plane.cast(Ray)

--- src/aerys/minko/type/math/Plane.as
+++ src/aerys/minko/type/math/Plane.as
@@ -340,6 +340,22 @@

 			return result;
 		}
+
+        /**
+         * http://www.cs.princeton.edu/courses/archive/fall00/cs426/lectures/raycast/sld017.htm
+         *
+         * @param ray
+         * @return
+         *
+         */
+        public function cast(ray : Ray) : Number
+        {
+            var origin      : Vector4 = ray.origin;
+            var direction   : Vector4 = ray.direction;
+
+            return -(origin.x * _a + origin.y * _b + origin.z * c + _d)
+                / (direction.x * _a + direction.y * _b + direction.z * _c);
+        }

 		public function clone() : Plane
 		{


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

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

 package mx.automation.codec
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4600
Author:   jszeto@adobe.com
Date:     2009-01-20T21:11:33.133710Z

Log Message:
-----------
Flex SDK - Move style metadata from base class down to component classes

Previously, all spark and text styles were defined on FxComponent even though not every component supports all of those styles. So I have moved each style to the top-most base class where the style will apply to all descendant classes of that base class.

This is the set of styles that were added to the various classes:

baseColor
color
focusColor
symbolColor
selectionColor
contentBackgroundColor
rollOverColor
alternatingItemColors
basic text styles
advanced text styles

Here are some details about the implementation:
- baseColor was added to FxComponent because every component and container supports it
- FxContainer and GroupBase are containers, so their children can potentially support any of the styles. Thus the container classes support all of the styles indirectly.
- FxDataContainer doesn't support all of the styles because its subclasses (FxButtonBar, FxList) don't support all styles.
- FxList supports selectionColor, but not inactiveSelectionColor or unfocusedSelectionColor. All other components that support selectionColor, support the other two styles, and thus include styles/metadata/SelectionFormatTextStyles.as
- GroupBase contains the style declarations that have the full ASDoc. All other declarations use the @copy keyword to reference the asdoc from GroupBase.

QE Notes: Update tests to remove references to styles that are no longer allowed on various components/FxButton.as
Doc Notes: Write the ASDoc comments for the style declarations in GroupBase
Bugs: n/a
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxCheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSlider.as</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/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.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/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
@@ -40,6 +40,15 @@
  *  @eventType mx.events.ItemExistenceChangedEvent.ITEM_REMOVE
  */
 [Event(name="itemRemove", type="mx.events.ItemExistenceChangedEvent")]
+
+include "../styles/metadata/BasicCharacterFormatTextStyles.as"
+include "../styles/metadata/BasicContainerFormatTextStyles.as"
+include "../styles/metadata/BasicParagraphFormatTextStyles.as"
+
+/**
+ *  @copy mx.components.baseClasses.GroupBase#focusColor
+ */
+[Style(name="focusColor", type="uint", format="Color", inherit="yes")]

 [DefaultProperty("dataProvider")]


Scroll text on puts.

Scroll text on puts.

--- swfcat.as
+++ swfcat.as
@@ -21,6 +21,7 @@
         private function puts(s:String):void
         {
             output_text.appendText(s + "\n");
+            output_text.scrollV = output_text.maxScrollV;
         }

         public function swfcat()


Transferred from the Adobe Open Source Subversion Repository

Revision: 9655
Author:   clucier@adobe.com
Date:     2009-08-26T19:38:27.057804Z

Log Message:
-----------
When setting percentWidth and/or percentHeight on the root Application is would never take effect until/unless the stage resized at a later point.  FocusManager now considers layer visiblity.

QE notes: None
Doc notes:  None
Bugs: SDK-20432, SDK-22865
Reviewer: Alex
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<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/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/mx/src/mx/core/Application.as
+++ frameworks/projects/mx/src/mx/core/Application.as
@@ -360,6 +360,11 @@

     /**
      *  @private
+     */
+    private var percentBoundsChanged:Boolean;
+
+    /**
+     *  @private
      *  Placeholder for Preloader object reference.
      */
     private var preloadObj:Object;
@@ -648,9 +653,12 @@
      */
     override public function set percentHeight(value:Number):void
     {
-        super.percentHeight = value;
-
-        invalidateDisplayList();
+        if (value != super.percentHeight)
+        {
+            super.percentHeight = value;
+            percentBoundsChanged = true;
+            invalidateProperties();
+        }
     }

     //----------------------------------
@@ -662,9 +670,12 @@
      */
     override public function set percentWidth(value:Number):void
     {
-        super.percentWidth = value;
-
-        invalidateDisplayList();
+        if (value != super.percentWidth)
+        {
+            super.percentWidth = value;
+            percentBoundsChanged = true;
+            invalidateProperties();
+        }
     }

     //----------------------------------
@@ -1049,6 +1060,12 @@
                 systemManager.removeEventListener(Event.RESIZE, resizeHandler);
                 resizeHandlerAdded = false;
             }
+        }
+
+        if (percentBoundsChanged)
+        {
+            updateBounds();
+            percentBoundsChanged = false;
         }
     }

@@ -1614,6 +1631,29 @@
      */
     private function resizeHandler(event:Event):void
     {
+        // If we're already due to update our bounds on the next
+        // commitProperties pass, avoid the redundancy.
+        if (!percentBoundsChanged)
+            updateBounds();
+    }
+
+    /**
+     *  @private
+     *  Called when the "View Source" item in the application's context menu is
+     *  selected.
+     */
+    protected function menuItemSelectHandler(event:Event):void
+    {
+        navigateToURL(new URLRequest(_viewSourceURL), "_blank");
+    }
+
+    /**
+     *  @private
+     *  Sets the new width and height after the Stage has resized
+     *  or when percentHeight or percentWidth has changed.
+     */
+    private function updateBounds():void
+    {
         // When user has not specified any width/height,
         // application assumes the size of the stage.
         // If developer has specified width/height,
@@ -1623,7 +1663,7 @@
         // based on the current SystemManager's width/height.
         // If developer has specified min/max values,
         // then application will not resize beyond those values.
-
+
         var w:Number;
         var h:Number

@@ -1643,10 +1683,10 @@
                 else
                     w = percentWidth * screen.width/100;
             }
-
+
             if (!isNaN(explicitMaxWidth))
                 w = Math.min(w, explicitMaxWidth);
-
+
             if (!isNaN(explicitMinWidth))
                 w = Math.max(w, explicitMinWidth);
         }
@@ -1674,7 +1714,7 @@

             if (!isNaN(explicitMaxHeight))
                 h = Math.min(h, explicitMaxHeight);
-
+
             if (!isNaN(explicitMinHeight))
                 h = Math.max(h, explicitMinHeight);
         }
@@ -1688,20 +1728,10 @@
             invalidateProperties();
             invalidateSize();
         }
-
+
         setActualSize(w, h);
-
-        invalidateDisplayList();
-    }
-
-    /**
-     *  @private
-     *  Called when the "View Source" item in the application's context menu is
-     *  selected.
-     */
-    protected function menuItemSelectHandler(event:Event):void
-    {
-        navigateToURL(new URLRequest(_viewSourceURL), "_blank");
+
+        invalidateDisplayList();
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19684
Author:   mcho@adobe.com
Date:     2011-01-10T23:28:35.118753Z

Log Message:
-----------
Allow the "alternatingItemColors" style accept a single color

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

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

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
@@ -2554,9 +2554,11 @@
         }

         var colors:Array;
-
-        colors = getStyle("alternatingItemColors");
-
+		var colorsStyle:Object = getStyle("alternatingItemColors");
+
+		if (colorsStyle)
+			colors = (colorsStyle is Array) ? (colorsStyle as Array) : [colorsStyle];
+
         if (!colors || colors.length == 0)
             return;


Made findRenderer protected (it's useful!) and fixed issue with it not dealing with horizontal scroll position correctly.

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
@@ -6195,7 +6195,7 @@
      *
      *  @private
      */
-    private function findRenderer(pt:Point,items:Array,info:Array,yy:Number = 0):IListItemRenderer
+    protected function findRenderer(pt:Point,items:Array,info:Array,yy:Number = 0):IListItemRenderer
     {
         var r:IListItemRenderer;
         var ww:Number = 0;
@@ -6216,7 +6216,7 @@
                     }

                     ww = 0;
-                    for (var j:int = 0; j < m; j++)
+                    for (var j:int = horizontalScrollPosition; j < m; j++)
                     {
                         ww += optimumColumns[j].width;
                         if (pt.x < ww)


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

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

 package spark.components
 {


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

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

 package spark.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21584
Author:   aaltman@adobe.com
Date:     2011-07-15T22:40:24.389074Z

Log Message:
-----------
Plumbed soft keyboard hint properties from SkinnableTextBase to StageText.
Fixed some excessive padding around StageText.
Added a style to control when prompt text disappears from text controls.
Changed prompt to be a non-StageText to fix z-order issues.
Added a workaround for the lack of a StageText "enter" event (only works on Android).

QE notes: The fix for SDK-30728 is only a partial workaround. It still does not work on iOS.
Doc notes:
Bugs: SDK-30781 - iOS: SoftKeyboard hints don't appear when StageText is used on iPodTouch, and iPad2
SDK-30740 - StageText: Prompt displays over content.
SDK-30737 - SoftKeyboard does not appears on the first tap on TextInput
SDK-30736 - Text prompt disappears when text got focus
SDK-30728 - "Enter" key does not work correctly in StageText
Reviewer: aharui
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/core/ISoftKeyboardHintClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as
@@ -71,10 +71,10 @@
         super.layoutContents(unscaledWidth, unscaledHeight);

         // position & size the text
-        var paddingLeft:Number = getStyle("paddingLeft");
-        var paddingRight:Number = getStyle("paddingRight");
-        var paddingTop:Number = getStyle("paddingTop");
-        var paddingBottom:Number = getStyle("paddingBottom");
+        var paddingLeft:Number = getCorrectedPadding("paddingLeft");
+        var paddingRight:Number = getCorrectedPadding("paddingRight");
+        var paddingTop:Number = getCorrectedPadding("paddingTop");
+        var paddingBottom:Number = getCorrectedPadding("paddingBottom");

         var unscaledTextWidth:Number = unscaledWidth - paddingLeft - paddingRight;
         var unscaledTextHeight:Number = unscaledHeight - paddingTop - paddingBottom;
@@ -88,9 +88,11 @@

         if (promptDisplay)
         {
-            promptDisplay.commitStyles();
+            var promptX:Number = getStyle("paddingLeft");
+            var promptY:Number = getStyle("paddingTop");
+
             setElementSize(promptDisplay, unscaledTextWidth, unscaledTextHeight);
-            setElementPosition(promptDisplay, paddingLeft, paddingTop);
+            setElementPosition(promptDisplay, promptX, promptY);
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11095
Author:   eitan@ascender.com
Date:     2009-10-22T23:34:03.596935Z

Log Message:
-----------
Added changes in spark components to use AccImpl.

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
@@ -150,6 +150,8 @@
 [DefaultTriggerEvent("click")]

 [DefaultProperty("label")]
+
+[AccessibilityClass(implementation="spark.accessibility.ButtonAccImpl")]

 /**
  *  The ButtonBase component is the base class for the all Spark button components.
@@ -223,6 +225,18 @@
 public class ButtonBase extends SkinnableComponent implements IFocusManagerComponent
 {
     include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class mixins
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Placeholder for mixin by ButtonAccImpl.
+     */
+    mx_internal static var createAccessibilityImplementation:Function;

     //--------------------------------------------------------------------------
     //
@@ -639,7 +653,15 @@
     //  Overridden properties: UIComponent
     //
     //--------------------------------------------------------------------------
-
+     /**
+     *  @private
+     */
+    override protected function initializeAccessibility():void
+    {
+        if (ButtonBase.createAccessibilityImplementation != null)
+            ButtonBase.createAccessibilityImplementation(this);
+    }
+
     //----------------------------------
     //  baselinePosition
     //----------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 14483
Author:   smgilson@adobe.com
Date:     2010-03-01T19:01:18.459430Z

Log Message:
-----------
merge 14456: Adding ASDoc version tags classes

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkRangeAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkRadioButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkPanelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarAutomationImpl.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirFunctionsHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSkinnableContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkValueChangeAutomationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkNavigatorContentAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTrackBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/events/EventDetails.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkListItemSelectEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTabBarAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableContainerBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkMuteButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirDragManagerAutomationHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTextBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTitleWindowAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTileGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkToggleButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSpinnerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccConst.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkLabelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkBorderContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkGroupBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkVideoPlayerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableComponentAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkNavigatorContentAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkNavigatorContentAutomationImpl.as
@@ -11,66 +11,75 @@

 package spark.automation.delegates.components
 {
-	import flash.display.DisplayObject;
-
-	import mx.automation.Automation;
-	import mx.core.mx_internal;
-
-	import spark.components.NavigatorContent;
-
-
-	use namespace mx_internal;
-
-	[Mixin]
-
-	/**
-	 *
-	 *  Defines methods and properties required to perform instrumentation for the
-	 *  NavigatorContent control.
-	 *
-	 *  @see spark.components.NavigatorContent
-	 *
-	 */
-	public class SparkNavigatorContentAutomationImpl extends SparkSkinnableContainerAutomationImpl
-	{
-		include "../../../core/Version.as";
-
-		//--------------------------------------------------------------------------
-		//
-		//  Class methods
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Registers the delegate class for a component class with automation manager.
-		 *
-		 *  @param root The SystemManger of the application.
-		 */
-		public static function init(root:DisplayObject):void
-		{
-			Automation.registerDelegateClass(spark.components.NavigatorContent, SparkNavigatorContentAutomationImpl);
-		}
-
-		//--------------------------------------------------------------------------
-		//
-		//  Constructor
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Constructor.
-		 * @param obj NavigatorContent object to be automated.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public function SparkNavigatorContentAutomationImpl(obj:spark.components.NavigatorContent)
-		{
-			super(obj);
-		}
-
-
-	}
+    import flash.display.DisplayObject;
+
+    import mx.automation.Automation;
+    import mx.core.mx_internal;
+
+    import spark.components.NavigatorContent;
+
+
+    use namespace mx_internal;
+
+    [Mixin]
+
+    /**
+     *
+     *  Defines methods and properties required to perform instrumentation for the
+     *  NavigatorContent control.
+     *
+     *  @see spark.components.NavigatorContent
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public class SparkNavigatorContentAutomationImpl extends SparkSkinnableContainerAutomationImpl
+    {
+        include "../../../core/Version.as";
+
+        //--------------------------------------------------------------------------
+        //
+        //  Class methods
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Registers the delegate class for a component class with automation manager.
+         *
+         *  @param root The SystemManger of the application.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static function init(root:DisplayObject):void
+        {
+            Automation.registerDelegateClass(spark.components.NavigatorContent, SparkNavigatorContentAutomationImpl);
+        }
+
+        //--------------------------------------------------------------------------
+        //
+        //  Constructor
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Constructor.
+         * @param obj NavigatorContent object to be automated.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public function SparkNavigatorContentAutomationImpl(obj:spark.components.NavigatorContent)
+        {
+            super(obj);
+        }
+
+
+    }
 }


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

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

 package spark.automation.delegates.components.supportClasses
 {


added document destroyed event, changed the codes for the events

--- src/AIR/ChildBrowser/src/blackberry/polarmobile/childbrowser/ChildBrowser.as
+++ src/AIR/ChildBrowser/src/blackberry/polarmobile/childbrowser/ChildBrowser.as
@@ -146,12 +146,21 @@
           childWebView.addEventListener(WebViewEvent.DOCUMENT_LOADED, documentLoaded);
           childWebView.addEventListener(WebViewEvent.DOCUMENT_LOAD_COMMITTED, documentLoadCommitted);
           childWebView.addEventListener(WebViewEvent.DOCUMENT_LOAD_FAILED, documentLoadFailed);
+          childWebView.addEventListener(WebViewEvent.DESTROYED, documentDestroyed);
           return result.jsonObject;
+        }
+
+        private function documentDestroyed(e:WebViewEvent):void{
+         evalJavaScriptEvent(jsOnURLChange, [{
+            "code" : 104,
+            "description" :"Document Destroyed",
+            "data": childWebView.location
+          }]);
         }

         private function documentLoadFailed(e:WebViewEvent):void{
          evalJavaScriptEvent(jsOnURLChange, [{
-            "code" : 101,
+            "code" : 103,
             "description" :"URL Load Failed",
             "data": childWebView.location
           }]);
@@ -159,7 +168,7 @@

         private function documentLoadCommitted(e:WebViewEvent):void{
          evalJavaScriptEvent(jsOnURLChange, [{
-            "code" : 101,
+            "code" : 102,
             "description" :"URL Load Committed",
             "data": childWebView.location
           }]);


Update CBLocation.as

Update CBLocation.as

Fixed wrong string for LEVEL_COMPLETE constant.

--- actionscript/src/com/chartboost/plugin/air/CBLocation.as
+++ actionscript/src/com/chartboost/plugin/air/CBLocation.as
@@ -10,7 +10,7 @@
 		public static const QUESTS:String  				= "Quests";
 		public static const PAUSE:String  				= "Pause";
 		public static const LEVEL_START:String  		= "Level Start";
-		public static const LEVEL_COMPLETE:String  		= "Pause";
+		public static const LEVEL_COMPLETE:String  		= "Level Complete";
 		public static const IAP_STORE:String  			= "IAP Store";
 		public static const ITEM_STORE:String  			= "Item Store";
 		public static const GAME_OVER:String  			= "Game Over";


Make sure to perform the path completion steps if starting the path causes it to complete.

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

--- src/as/com/threerings/flash/path/Path.as
+++ src/as/com/threerings/flash/path/Path.as
@@ -137,7 +137,11 @@
         if (_onStart != null) {
             _onStart(this);
         }
-        return tick(now);
+        var remain :int = tick(now);
+        if (remain <= 0) {
+           pathCompleted(false);
+        }
+        return remain;
     }

     /**


use Function.call(), not Function.apply()

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

--- src/as/com/threerings/util/RingBuffer.as
+++ src/as/com/threerings/util/RingBuffer.as
@@ -183,7 +183,7 @@
     public function every (callback :Function, thisObject :* = null) :Boolean
     {
         for (var i :int = 0; i < _length; ++i) {
-            if (!callback.apply(thisObject, this.at(i))) {
+            if (!callback.call(thisObject, this.at(i))) {
                 return false;
             }
         }
@@ -197,7 +197,7 @@
     public function forEach (callback :Function, thisObject :* = null) :void
     {
         for (var i :int = 0; i < _length; ++i) {
-            callback.apply(thisObject, this.at(i));
+            callback.call(thisObject, this.at(i));
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19665
Author:   eday@adobe.com
Date:     2011-01-09T19:46:39.597874Z

Log Message:
-----------
Bounce/pull bug fixes

QE notes:
Doc notes:
Bugs: SDK-29046, SDK-28972
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as
@@ -18,6 +18,8 @@
 import flash.display.LineScaleMode;

 import mx.core.DPIClassification;
+import mx.core.mx_internal;
+use namespace mx_internal;

 import spark.components.Button;
 import spark.skins.mobile.supportClasses.MobileSkin;
@@ -32,6 +34,20 @@
  */
 public class VScrollBarThumbSkin extends MobileSkin
 {
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    // These constants are also accessed from VScrollBarSkin
+    mx_internal static const PADDING_RIGHT_320DPI:int = 5;
+    mx_internal static const PADDING_VERTICAL_320DPI:int = 4;
+    mx_internal static const PADDING_RIGHT_240DPI:int = 4;
+    mx_internal static const PADDING_VERTICAL_240DPI:int = 3;
+    mx_internal static const PADDING_RIGHT_DEFAULTDPI:int = 3;
+    mx_internal static const PADDING_VERTICAL_DEFAULTDPI:int = 2;
+
     //--------------------------------------------------------------------------
     //
     //  Constructor
@@ -49,30 +65,30 @@
     public function VScrollBarThumbSkin()
     {
         super();
-        useChromeColor = true;
-
-        // Depending on density set padding
-        switch (applicationDPI)
-        {
-            case DPIClassification.DPI_320:
-            {
-                paddingRight = 5;
-                paddingVertical = 4;
-                break;
-            }
-            case DPIClassification.DPI_240:
-            {
-                paddingRight = 4;
-                paddingVertical = 3;
-                break;
-            }
-            default:
-            {
-                paddingRight = 3;
-                paddingVertical = 2;
-                break;
-            }
-        }
+		useChromeColor = true;
+
+		// Depending on density set padding
+		switch (applicationDPI)
+		{
+			case DPIClassification.DPI_320:
+			{
+				paddingRight = PADDING_RIGHT_320DPI;
+				paddingVertical = PADDING_VERTICAL_320DPI;
+				break;
+			}
+			case DPIClassification.DPI_240:
+			{
+				paddingRight = PADDING_RIGHT_240DPI;
+				paddingVertical = PADDING_VERTICAL_240DPI;
+				break;
+			}
+			default:
+			{
+				paddingRight = PADDING_RIGHT_DEFAULTDPI;
+				paddingVertical = PADDING_VERTICAL_DEFAULTDPI;
+				break;
+			}
+		}
     }

     //--------------------------------------------------------------------------
@@ -84,58 +100,58 @@
      * @copy spark.skins.spark.ApplicationSkin#hostComponent
      */
     public var hostComponent:Button;
-
-    //--------------------------------------------------------------------------
-    //
-    //  Variables
-    //
-    //--------------------------------------------------------------------------
-    /**
-     *  Padding from the right
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    protected var paddingRight:int;
-
-    /**
-     *  Vertical padding from top and bottom
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    protected var paddingVertical:int;
-
-
-    //--------------------------------------------------------------------------
-    //
-    //  Overridden methods
-    //
-    //--------------------------------------------------------------------------
-    /**
-     *  @protected
-     */
-    override protected function beginChromeColorFill(chromeColorGraphics:Graphics):void
-    {
-        var chromeColor:uint = getChromeColor();
-        chromeColorGraphics.beginFill(chromeColor, 1);
-        chromeColorGraphics.lineStyle(1, 0x000000, 1, false, LineScaleMode.NORMAL, CapsStyle.NONE, JointStyle.ROUND);
-    }
-
-    /**
-     *  @protected
-     */
-    override protected function drawChromeColor(chromeColorGraphics:Graphics, unscaledWidth:Number, unscaledHeight:Number):void
-    {
-        var thumbWidth:Number = unscaledWidth - paddingRight;
-        chromeColorGraphics.drawRoundRect(0.5, paddingVertical + 0.5,
-            thumbWidth, unscaledHeight - 2 * paddingVertical,
-            thumbWidth, thumbWidth);
-    }
-
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+	/**
+	 *  Padding from the right
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 2.5
+	 *  @productversion Flex 4.5
+	 */
+	protected var paddingRight:int;
+
+	/**
+	 *  Vertical padding from top and bottom
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 2.5
+	 *  @productversion Flex 4.5
+	 */
+	protected var paddingVertical:int;
+
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+	/**
+	 *  @protected
+	 */
+	override protected function beginChromeColorFill(chromeColorGraphics:Graphics):void
+	{
+		var chromeColor:uint = getChromeColor();
+		chromeColorGraphics.beginFill(chromeColor, 1);
+		chromeColorGraphics.lineStyle(1, 0x000000, 1, false, LineScaleMode.NORMAL, CapsStyle.NONE, JointStyle.ROUND);
+	}
+
+	/**
+	 *  @protected
+	 */
+	override protected function drawChromeColor(chromeColorGraphics:Graphics, unscaledWidth:Number, unscaledHeight:Number):void
+	{
+		var thumbWidth:Number = unscaledWidth - paddingRight;
+		chromeColorGraphics.drawRoundRect(0.5, paddingVertical + 0.5,
+										 thumbWidth, unscaledHeight - 2 * paddingVertical,
+										 thumbWidth, thumbWidth);
+	}
+
 }
 }