Further re-structuring of RaceTrack class.

--- src/engine/tetragon/view/render/racetrack/RaceTrack.as
+++ src/engine/tetragon/view/render/racetrack/RaceTrack.as
@@ -68,55 +68,55 @@
 		private var _bgLayers:Vector.<ParallaxLayer>;

 		private var _sprites:Sprites;
-		private var _segments:Vector.<Segment>;			// array of road segments
-		private var _cars:Vector.<Car>;					// array of cars on the road
+		private var _segments:Vector.<Segment>;	// array of road segments
+		private var _opponents:Vector.<Car>;	// array of cars on the road

 		private var _width:int;
 		private var _height:int;
 		private var _widthHalf:int;
 		private var _heightHalf:int;

-		private var _dt:Number;						// how long is each frame (in seconds)
-		private var _resolution:Number;				// scaling factor to provide resolution independence (computed)
-		private var _drawDistance:int;				// number of segments to draw
-		private var _hazeDensity:int;				// exponential haze density
+		private var _dt:Number;					// how long is each frame (in seconds)
+		private var _resolution:Number;			// scaling factor to provide resolution independence (computed)
+		private var _drawDistance:int;			// number of segments to draw
+		private var _hazeDensity:int;			// exponential haze density
 		private var _hazeColor:uint;

-		private var _cameraHeight:Number = 1000;	// z height of camera (500 - 5000)
-		private var _cameraDepth:Number;			// z distance camera is from screen (computed)
-		private var _fieldOfView:int = 100;			// angle (degrees) for field of view (80 - 140)
-		private var _bgSpeedMult:Number = 0.001;
-
-		private var _playerX:Number = 0;			// player x offset from center of road (-1 to 1 to stay independent of roadWidth)
-		private var _playerY:int;					// player x offset from center of road (-1 to 1 to stay independent of roadWidth)
-		private var _playerZ:Number;				// player relative z distance from camera (computed)
-
-		private var _roadWidth:int = 2000;			// actually half the roads width, easier math if the road spans from -roadWidth to +roadWidth
-		private var _segmentLength:int = 200;		// length of a single segment
-		private var _rumbleLength:int = 3;			// number of segments per red/white rumble strip
-		private var _trackLength:int = 200;			// z length of entire track (computed)
-		private var _lanes:int = 3;					// number of lanes
-		private var _totalCars:Number = 200;		// total number of cars on the road
-
-		private var _accel:Number;					// acceleration rate - tuned until it 'felt' right
-		private var _breaking:Number;				// deceleration rate when braking
-		private var _decel:Number;					// 'natural' deceleration rate when neither accelerating, nor braking
-		private var _offRoadDecel:Number = 0.99;	// speed multiplier when off road (e.g. you lose 2% speed each update frame)
-		private var _offRoadLimit:Number;			// limit when off road deceleration no longer applies (e.g. you can always go at least this speed even when off road)
-		private var _centrifugal:Number = 0.3;		// centrifugal force multiplier when going around curves
-
-		private var _position:Number;				// current camera Z position (add playerZ to get player's absolute Z position)
-		private var _speed:Number;					// current speed
-		private var _maxSpeed:Number;				// top speed (ensure we can't move more than 1 segment in a single frame to make collision detection easier)
-
-		private var _currentLapTime:Number = 0;		// current lap time
-		private var _lastLapTime:Number = 0;		// last lap time
-		private var _fast_lap_time:Number;
-
-		private var _isAccelerate:Boolean;
-		private var _isBrake:Boolean;
-		private var _isSteerLeft:Boolean;
-		private var _isSteerRight:Boolean;
+		private var _cameraHeight:Number;		// z height of camera (500 - 5000)
+		private var _cameraDepth:Number;		// z distance camera is from screen (computed)
+		private var _fieldOfView:int;			// angle (degrees) for field of view (80 - 140)
+		private var _bgSpeedMult:Number;
+
+		private var _roadWidth:int;				// actually half the roads width, easier math if the road spans from -roadWidth to +roadWidth
+		private var _segmentLength:int;			// length of a single segment
+		private var _rumbleLength:int;			// number of segments per red/white rumble strip
+		private var _trackLength:int;			// z length of entire track (computed)
+		private var _lanes:int;					// number of lanes
+		private var _opponentsTotal:int;		// total number of cars on the road
+
+		private var _acceleration:Number;		// acceleration rate - tuned until it 'felt' right
+		private var _deceleration:Number;		// 'natural' deceleration rate when neither accelerating, nor braking
+		private var _braking:Number;			// deceleration rate when braking
+		private var _offRoadDecel:Number;		// speed multiplier when off road (e.g. you lose 2% speed each update frame)
+		private var _offRoadLimit:Number;		// limit when off road deceleration no longer applies (e.g. you can always go at least this speed even when off road)
+		private var _centrifugal:Number;		// centrifugal force multiplier when going around curves
+
+		private var _playerX:Number;			// player x offset from center of road (-1 to 1 to stay independent of roadWidth)
+		private var _playerY:int;				// player x offset from center of road (-1 to 1 to stay independent of roadWidth)
+		private var _playerZ:Number;			// player relative z distance from camera (computed)
+
+		private var _position:Number;			// current camera Z position (add playerZ to get player's absolute Z position)
+		private var _speed:Number;				// current speed
+		private var _maxSpeed:Number;			// top speed (ensure we can't move more than 1 segment in a single frame to make collision detection easier)
+
+		private var _currentLapTime:Number;		// current lap time
+		private var _lastLapTime:Number;		// last lap time
+		private var _fastestLapTime:Number;
+
+		private var _isAccelerating:Boolean;
+		private var _isBraking:Boolean;
+		private var _isSteeringLeft:Boolean;
+		private var _isSteeringRight:Boolean;

 		// -----------------------------------------------------------------------------------------
@@ -165,9 +165,9 @@
 		{
 			_dt = 1 / Main.instance.gameLoop.frameRate;
 			_maxSpeed = _segmentLength / _dt;
-			_accel = _maxSpeed / 5;
-			_breaking = -_maxSpeed;
-			_decel = -_maxSpeed / 5;
+			_acceleration = _maxSpeed / 5;
+			_braking = -_maxSpeed;
+			_deceleration = -_maxSpeed / 5;
 			_offRoadLimit = _maxSpeed / 4;
 			_cameraDepth = 1 / Math.tan((_fieldOfView / 2) * Math.PI / 180);
 			_playerZ = (_cameraHeight * _cameraDepth);
@@ -177,9 +177,13 @@
 			_speed = 0;
 			_widthHalf = _width * 0.5;
 			_heightHalf = _height * 0.5;
-			_cars = new Vector.<Car>();
+			_opponents = new Vector.<Car>();

 			_hazeColor = COLORS.HAZE;
+
+			_currentLapTime = 0.0;
+			_lastLapTime = 0.0;
+			_fastestLapTime = 0.0;

 			resetRoad();
 			resetSprites();
@@ -208,15 +212,15 @@
 			_position = increase(_position, _dt * _speed, _trackLength);

 			/* Update left/right steering. */
-			if (_isSteerLeft) _playerX = _playerX - dx;
-			else if (_isSteerRight) _playerX = _playerX + dx;
+			if (_isSteeringLeft) _playerX = _playerX - dx;
+			else if (_isSteeringRight) _playerX = _playerX + dx;

 			_playerX = _playerX - (dx * speedPercent * playerSegment.curve * _centrifugal);

 			/* Update acceleration & decceleration. */
-			if (_isAccelerate) _speed = accelerate(_speed, _accel, _dt);
-			else if (_isBrake) _speed = accelerate(_speed, _breaking, _dt);
-			else _speed = accelerate(_speed, _decel, _dt);
+			if (_isAccelerating) _speed = accelerate(_speed, _acceleration, _dt);
+			else if (_isBraking) _speed = accelerate(_speed, _braking, _dt);
+			else _speed = accelerate(_speed, _deceleration, _dt);

 			/* Check if player drives onto off-road area. */
 			if ((_playerX < -1) || (_playerX > 1))
@@ -276,7 +280,7 @@
 				{
 					_lastLapTime = _currentLapTime;
 					_currentLapTime = 0;
-					if (_lastLapTime <= _fast_lap_time)
+					if (_lastLapTime <= _fastestLapTime)
 					{
 					}
 					else
@@ -379,7 +383,7 @@
 				{
 					/* Calculate player sprite bouncing depending on speed percentage. */
 					var bounce:Number = (1.5 * Math.random() * (_speed / _maxSpeed) * _resolution) * randomChoice([-1, 1]);
-					var steering:int = _speed * (_isSteerLeft ? -1 : _isSteerRight ? 1 : 0);
+					var steering:int = _speed * (_isSteeringLeft ? -1 : _isSteeringRight ? 1 : 0);
 					var updown:Number = playerSegment.p2.world.y - playerSegment.p1.world.y;
 					var spr:BitmapData;

@@ -511,6 +515,36 @@

 		/**
+		 * Z height of camera (usable range is 500 - 5000).
+		 *
+		 * @default 1000
+		 */
+		public function get cameraHeight():Number
+		{
+			return _cameraHeight;
+		}
+		public function set cameraHeight(v:Number):void
+		{
+			_cameraHeight = v;
+		}
+
+
+		/**
+		 * Angle (degrees) for field of view (usable range is 80 - 140).
+		 *
+		 * @default 100
+		 */
+		public function get fieldOfView():int
+		{
+			return _fieldOfView;
+		}
+		public function set fieldOfView(v:int):void
+		{
+			_fieldOfView = v;
+		}
+
+
+		/**
 		 * @private
 		 */
 		private function get lastY():Number
@@ -531,16 +565,16 @@
 			switch (key)
 			{
 				case "u":
-					_isAccelerate = true;
+					_isAccelerating = true;
 					break;
 				case "d":
-					_isBrake = true;
+					_isBraking = true;
 					break;
 				case "l":
-					_isSteerLeft = true;
+					_isSteeringLeft = true;
 					break;
 				case "r":
-					_isSteerRight = true;
+					_isSteeringRight = true;
 					break;
 			}
 		}
@@ -554,16 +588,16 @@
 			switch (key)
 			{
 				case "u":
-					_isAccelerate = false;
+					_isAccelerating = false;
 					break;
 				case "d":
-					_isBrake = false;
+					_isBraking = false;
 					break;
 				case "l":
-					_isSteerLeft = false;
+					_isSteeringLeft = false;
 					break;
 				case "r":
-					_isSteerRight = false;
+					_isSteeringRight = false;
 					break;
 			}
 		}
@@ -582,6 +616,20 @@
 			_drawDistance = 300;
 			_hazeDensity = 10;
 			_hazeColor = 0x333333;
+			_cameraHeight = 1000;
+			_fieldOfView = 100;
+			_bgSpeedMult = 0.001;
+
+			_roadWidth = 2000;
+			_segmentLength = 200;
+			_rumbleLength = 3;
+			_trackLength = 200;
+			_lanes = 3;
+			_opponentsTotal = 200;
+
+			_offRoadDecel = 0.99;
+			_centrifugal = 0.3;
+
 			_playerX = _playerY = _playerZ = 0;

 			_renderBuffer = new SoftwareRenderBuffer(_width, _height, false, 0xFF00FF);
@@ -797,7 +845,7 @@
 			segment:Segment,
 			sprite:BitmapData;

-			for (i = 0; i < _totalCars; i++)
+			for (i = 0; i < _opponentsTotal; i++)
 			{
 				offset = Math.random() * randomChoice([-0.8, 0.8]);
 				z = int(Math.random() * _segments.length) * _segmentLength;
@@ -806,7 +854,7 @@
 				car = new Car(offset, z, new SSprite(sprite), speed);
 				segment = findSegment(car.z);
 				segment.cars.push(car);
-				_cars.push(car);
+				_opponents.push(car);
 			}
 		}

@@ -952,9 +1000,9 @@
 			var oldSegment:Segment;
 			var newSegment:Segment;

-			for (n = 0; n < _cars.length; n++)
-			{
-				car = _cars[n];
+			for (n = 0; n < _opponents.length; n++)
+			{
+				car = _opponents[n];
 				oldSegment = findSegment(car.z);
 				car.offset = car.offset + updateCarOffset(car, oldSegment, playerSegment, playerW);
 				car.z = increase(car.z, dt * car.speed, _trackLength);


added parameters to "get" function

added parameters to "get" function

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/i18n/Message.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/i18n/Message.as
@@ -9,8 +9,8 @@
 		public function Message() {
 		}

-		public static function get(resource:String, bundle:String="messages"):String {
-			return ResourceManager.getInstance().getString(bundle, resource);
+		public static function get(resource:String, parameters:Array=null, bundle:String="messages"):String {
+			return ResourceManager.getInstance().getString(bundle, resource,parameters);
 		}
 	}
 }


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

--- frameworks/projects/automation/src/mx/automation/tabularData/TileBaseTabularData.as
+++ frameworks/projects/automation/src/mx/automation/tabularData/TileBaseTabularData.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.tabularData
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8430
Author:   jszeto@adobe.com
Date:     2009-07-07T18:49:32.661660Z

Log Message:
-----------
Slider ErrorString bug

http://bugs.adobe.com/jira/browse/SDK-21080 - Setting errorString on Spark slider controls (HSlider/VSlider) doesn’t redraw errorBorder skin correctly if thumb is moved.

Slider should not show an error skin. Refactored the error skin code in SkinnableComponent into an mx_internal function. Slider overrides this function to do nothing. I made this mx_internal instead of protected because we have locked down the API.

QE Notes: None
Doc Notes: None
Bugs: SDK-21080
Reviewer: Glenn

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -372,30 +372,7 @@

         if (errorStringChanged)
         {
-            if (errorString != null && errorString != "")
-            {
-                if (!errorObj)
-                {
-                    var errorObjClass:Class = getStyle("errorSkin");
-
-                    if (errorObjClass)
-                        errorObj = new errorObjClass();
-
-                    if (errorObj)
-                    {
-                        if ("errorObject" in errorObj)
-                            errorObj["errorObject"] = this;
-                        super.addChild(errorObj);
-                    }
-                }
-            }
-            else
-            {
-                if (errorObj)
-                    super.removeChild(errorObj);
-
-                errorObj = null;
-            }
+            updateErrorSkin();
             errorStringChanged = false;
         }
     }
@@ -688,7 +665,38 @@
         super.removeChild(skin);
         setSkin(null);
     }
-
+
+    /**
+     *  @private
+     *  Method to draw or remove the error skin. The error skin is added as a sibling of the skin.
+     */
+    mx_internal function updateErrorSkin():void
+    {
+        if (errorString != null && errorString != "")
+        {
+            if (!errorObj)
+            {
+                var errorObjClass:Class = getStyle("errorSkin");
+
+                if (errorObjClass)
+                    errorObj = new errorObjClass();
+
+                if (errorObj)
+                {
+                    if ("errorObject" in errorObj)
+                        errorObj["errorObject"] = this;
+                    super.addChild(errorObj);
+                }
+            }
+        }
+        else
+        {
+            if (errorObj)
+                super.removeChild(errorObj);
+
+            errorObj = null;
+        }
+    }
     //--------------------------------------------------------------------------
     //
     //  Methods - Parts


Transferred from the Adobe Open Source Subversion Repository

Revision: 5190
Author:   hmuller@adobe.com
Date:     2009-03-06T14:55:28.277220Z

Log Message:
-----------
Initial support for mirroring: added mirror and dir properties to IVisualElement, mirroring logic to UIComponent, GraphicElement, UIMovieClip.  Mirroring in mx.core.SpriteVisualElement is just a stub.  Support for the mirror bit and the mirror transform is in mx.core.AdvancedLayoutFeatures.

QE Notes: Mustella tests pass
Doc Notes: None
Bugs:
Reviewer: Ryan

Modified Paths:
--------------
<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/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/SpriteVisualElement.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/framework/src/mx/controls/Label.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/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -13,7 +13,6 @@
 {

 import flash.display.DisplayObject;
-import flash.display.DisplayObjectContainer;
 import flash.events.Event;
 import flash.geom.Point;
 import flash.system.ApplicationDomain;
@@ -31,6 +30,8 @@
 import mx.events.PropertyChangeEvent;
 import mx.managers.ISystemManager;
 import mx.modules.ModuleManager;
+
+use namespace mx_internal;  // for mx_internal function mirrorTree

 //--------------------------------------
 //  Styles
@@ -332,6 +333,13 @@
         }
     }

+    override mx_internal function mirrorTree(ancestorDir:String):void
+    {
+        ancestorDir = mx_internal::mirrorElement(this, ancestorDir);
+        if (skin)
+            skin.mx_internal::mirrorTree(ancestorDir);
+    }
+
     //--------------------------------------------------------------------------
     //
     // Skin states support


added warning message when LinkableWatcher not registered under and instance of Weave.

--- WeaveJS/src/weavejs/core/LinkableWatcher.as
+++ WeaveJS/src/weavejs/core/LinkableWatcher.as
@@ -23,7 +23,8 @@
 	import weavejs.api.core.ILinkableHashMap;
 	import weavejs.api.core.ILinkableObject;
 	import weavejs.util.Dictionary2D;
-	import weavejs.util.StandardLib;
+	import weavejs.util.JS;
+	import weavejs.util.StandardLib;

 	/**
 	 * This is used to dynamically attach a set of callbacks to different targets.
@@ -59,6 +60,7 @@
 		private var _foundTarget:Boolean = true; // false when _target is not the desired target
 		protected var _targetPath:Array; // the path that is being watched
 		private var _pathDependencies:Dictionary2D = new Dictionary2D(); // (ILinkableCompositeObject, String) -> child object
+		private var _warned:Boolean = false; // true after warning has been shown

 		/**
 		 * This is the linkable object currently being watched.
@@ -201,6 +203,11 @@
 			var weave:Weave = Weave.getWeave(this);
 			var root:ILinkableObject = weave ? weave.root : Weave.getRoot(this);
 			_foundRoot = root != null;
+			if (!_foundRoot && !_warned)
+			{
+				JS.error("Warning: LinkableWatcher has a targetPath but has not been registered with an instance of Weave.");
+				_warned = true;
+			}
 			var node:ILinkableObject = Weave.followPath(root, _targetPath);
 			if (!node)
 			{


Transferred from the Adobe Open Source Subversion Repository

Revision: 6453
Author:   cframpto@adobe.com
Date:     2009-05-01T11:55:04.914220Z

Log Message:
-----------
Add module headers to RichEditableTextContainerManager.as and InvalidatingSprite.as.
Comment out trace in RichEditableText.as.

QE Notes:
Doc Notes:
Bugs:
Reviewers: Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/InvalidatingSprite.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
@@ -1,3 +1,14 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
 {


Save on exit

Save on exit

--- src/LevelState.as
+++ src/LevelState.as
@@ -138,7 +138,10 @@
 		}

 		protected function makeBackButton():void {
-			var backButton:GraphicButton = new GraphicButton(FlxG.width - 45, 10, _back_sprite, function back():void { FlxG.switchState(new MenuState); });
+			var backButton:GraphicButton = new GraphicButton(FlxG.width - 45, 10, _back_sprite, function back():void {
+				save();
+				FlxG.switchState(new MenuState);
+			});
 			backButton.fades = true;
 			upperLayer.add(backButton);
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 17107
Author:   aharui@adobe.com
Date:     2010-07-28T22:56:52.689490Z

Log Message:
-----------
Merge 16736 from 3.x to Hero

Modified Paths:
--------------
<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/listClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as
@@ -113,17 +113,17 @@
                         col.itemToLabel(data), col.dataField,
                         col.colNum, "", DataGridBase(owner));

-                    if (c is IDropInListItemRenderer)
-                    {
-                        IDropInListItemRenderer(c).listData =
-                            data ? rowData : null;
-                    }
-
-                    c.data = data;
-                    c.styleName = DataGridBase(owner);
-                    c.visible = true;
-
+                    c.styleName = DataGridBase(owner);
                     o.addChild(DisplayObject(c));
+
+					if (c is IDropInListItemRenderer)
+					{
+						IDropInListItemRenderer(c).listData =
+							data ? rowData : null;
+					}
+
+					c.data = data;
+					c.visible = true;

                     c.setActualSize(col.width, src.height);
                     c.move(ww, 0);
@@ -142,17 +142,17 @@
                     col.itemToLabel(data), col.dataField,
                     col.colNum, "", DataGridBase(owner));

-                if (c is IDropInListItemRenderer)
-                {
-                    IDropInListItemRenderer(c).listData =
-                        data ? rowData : null;
-                }
-
-                c.data = data;
                 c.styleName = DataGridBase(owner);
-                c.visible = true;
-
                 o.addChild(DisplayObject(c));
+
+				if (c is IDropInListItemRenderer)
+				{
+					IDropInListItemRenderer(c).listData =
+						data ? rowData : null;
+				}
+
+				c.data = data;
+				c.visible = true;

                 c.setActualSize(col.width, src.height);
                 c.move(ww, 0);


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBaseContentHolder.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBaseContentHolder.as
@@ -0,0 +1,315 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls.listClasses
+{
+
+import flash.display.DisplayObject;
+import flash.display.Graphics;
+import flash.display.Shape;
+import flash.display.Sprite;
+import mx.collections.IViewCursor;
+import mx.core.FlexShape;
+import mx.core.FlexSprite;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+include "../../styles/metadata/PaddingStyles.as"
+
+/**
+ *  Background color of the component.
+ */
+[Style(name="backgroundColor", type="uint", format="Color", inherit="no")]
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[ExcludeClass]
+
+/**
+ *  The ListBaseContentHolder class defines a container in a list-based control
+ *  of all of the control's item renderers and item editors.
+ *  Flex uses it to mask areas of the renderers that extend outside
+ *  of the control, and to block certain styles, such as backgroundColor,
+ *  from propagating to the renderers so that highlights and
+ *  alternating row colors can show through the control.
+ *
+ *  @see mx.controls.listClasses.ListBase
+ */
+public class ListBaseContentHolder extends UIComponent
+{
+    include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param parentList The list-based control.
+     */
+    public function ListBaseContentHolder(parentList:ListBase)
+    {
+        super();
+
+        this.parentList = parentList;
+
+        setStyle("backgroundColor", "");
+        setStyle("borderStyle", "none");
+
+        // This invisible layer, which is a child of listContent
+        // catches mouse events for all items
+        // and is where we put selection highlighting by default.
+        if (!selectionLayer)
+        {
+            selectionLayer = new FlexSprite();
+            selectionLayer.name = "selectionLayer";
+            selectionLayer.mouseEnabled = false;
+            addChild(selectionLayer);
+
+            // trace("selectionLayer parent set to " + selectionLayer.parent);
+
+            var g:Graphics = selectionLayer.graphics;
+            g.beginFill(0, 0); // 0 alpha means transparent
+            g.drawRect(0, 0, 10, 10);
+            g.endFill();
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The layer in the content defined by the :istbase.listContent property
+     *  where all selection and highlight indicators are drawn.
+     */
+    public var selectionLayer:Sprite;
+
+    /**
+     *  A hash table of data provider item renderers currently in view.
+     *  The table is indexed by the data provider item's UID and is used
+     *  to quickly get the renderer used to display a particular item.
+     */
+    public var visibleData:Object = {};
+
+    /**
+     *  An Array of Arrays that contains
+     *  the item renderer instances that render each data provider item.
+     *  This is a two-dimensional, row-major array, which means
+     *  an Array of rows that are Arrays of columns.
+     */
+    public var listItems:Array = [];
+
+    /**
+     *  An Array of ListRowInfo objects that cache row heights and
+     *  other tracking information for the rows defined in
+     *  the listItems property.
+     */
+    public var rowInfo:Array = [];
+
+    /**
+     *  The IViewCursor instance used to fetch items from the
+     *  data provider and pass the items to the renderers.
+     *  At the end of any sequence of code, it must always
+     *  be positioned at the top-most visible item being displayed.
+     */
+    public var iterator:IViewCursor;
+
+    /**
+     *  @private
+     */
+    private var parentList:ListBase;
+
+    /**
+     *  @private
+     */
+    private var maskShape:Shape;
+
+    /**
+     *  @private
+     */
+    mx_internal var allowItemSizeChangeNotification:Boolean = true;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  focusPane
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override public function set focusPane(value:Sprite):void
+    {
+        if (value)
+        {
+            // Something inside us is getting focus so apply a clip mask
+            // if we don't already have one.
+            if (!maskShape)
+            {
+                maskShape = new FlexShape();
+                maskShape.name = "mask";
+
+                var g:Graphics = maskShape.graphics;
+                g.beginFill(0xFFFFFF);
+                g.drawRect(-2, -2, parentList.width + 2, parentList.height + 2);
+                g.endFill();
+
+                addChild(maskShape);
+            }
+
+            maskShape.visible = false;
+
+            value.mask = maskShape;
+        }
+        else
+        {
+            if (parentList.focusPane.mask == maskShape)
+                parentList.focusPane.mask = null;
+        }
+
+        parentList.focusPane = value;
+        value.x = x;
+        value.y = y;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function invalidateSize():void
+    {
+        if (allowItemSizeChangeNotification)
+            parentList.invalidateList();
+    }
+
+    /**
+     *  Sets the position and size of the scroll bars and content
+     *  and adjusts the mask.
+     *
+     *  @param unscaledWidth Specifies the width of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleX property of the component.
+     *
+     *  @param unscaledHeight Specifies the height of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleY property of the component.
+     */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        // have to resize selection layer without scaling so refill it
+        var g:Graphics = selectionLayer.graphics;
+        g.clear();
+        if (unscaledWidth > 0 && unscaledHeight > 0)
+        {
+            g.beginFill(0x808080, 0);
+            g.drawRect(0, 0, unscaledWidth, unscaledHeight);
+            g.endFill();
+        }
+
+        if (maskShape)
+        {
+            maskShape.width = unscaledWidth;
+            maskShape.height = unscaledHeight;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    mx_internal function getParentList():ListBase
+    {
+        return parentList;
+    }
+
+    /**
+     *  Offset, in pixels, for the upper-left corner in the list control of the content defined
+     *  by the ListBase.listContent property.
+     *
+     *  @see mx.controls.listClasses.ListBase#listContent
+     */
+    public var leftOffset:Number = 0;
+
+    /**
+     *  Offset, in pixels, for the upper-left corner in the list control of the content defined
+     *  by the ListBase.listContent property.
+     *
+     *  @see mx.controls.listClasses.ListBase#listContent
+     */
+    public var topOffset:Number = 0;
+
+    /**
+     *  Offset, in pixels, for the lower-right corner in the list control of the content defined
+     *  by the ListBase.listContent property.
+     *
+     *  @see mx.controls.listClasses.ListBase#listContent
+     */
+    public var rightOffset:Number = 0;
+
+    /**
+     *  Offset, in pixels, for the lower-right corner in the list control of the content defined
+     *  by the ListBase.listContent property.
+     *
+     *  @see mx.controls.listClasses.ListBase#listContent
+     */
+    public var bottomOffset:Number = 0;
+
+    /**
+     *  Height, in pixels excluding the top and
+     *  bottom offsets, of the central part of the content defined
+     *  by the ListBase.listContent property.
+     *
+     *  @see mx.controls.listClasses.ListBase#listContent
+     */
+    public function get heightExcludingOffsets():Number
+    {
+        return height + topOffset - bottomOffset;
+    }
+
+    /**
+     *  Width, in pixels excluding the top and
+     *  bottom offsets, of the central part of the content defined
+     *  by the ListBase.listContent property.
+     *
+     *  @see mx.controls.listClasses.ListBase#listContent
+     */
+    public function get widthExcludingOffsets():Number
+    {
+        return width + leftOffset - rightOffset;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 11675
Author:   hmuller@adobe.com
Date:     2009-11-12T00:25:39.300334Z

Log Message:
-----------
Added minValue,maxValue,etc Style/Inspectable metadata tags for tools.

QE notes:
Doc notes:
Bugs: sdk-24100
Reviewer: Glenn
Tests run:
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.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/TextInput.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/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.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/spark/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.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/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicNonInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.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/framework/src/mx/graphics/GradientEntry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
@@ -45,7 +45,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="spark")]
+[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="spark", minValue="0.0")]

 /**
  *  The alpha of the focus ring for this component.
@@ -55,7 +55,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="focusAlpha", type="Number", inherit="no", theme="spark")]
+[Style(name="focusAlpha", type="Number", inherit="no", theme="spark", minValue="0.0", maxValue="1.0")]

 /**
  *  @copy spark.components.supportClasses.GroupBase#style:focusColor
@@ -81,7 +81,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="repeatDelay", type="Number", format="Time", inherit="no")]
+[Style(name="repeatDelay", type="Number", format="Time", inherit="no", minValue="0.0")]

 /**
  *  Number of milliseconds between buttonDown events
@@ -94,7 +94,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="repeatInterval", type="Number", format="Time", inherit="no")]
+[Style(name="repeatInterval", type="Number", format="Time", inherit="no", minValueExclusive="0.0")]

 //--------------------------------------
 //  Events


Transferred from the Adobe Open Source Subversion Repository

Revision: 17305
Author:   gruehle@adobe.com
Date:     2010-08-12T21:18:50.910120Z

Log Message:
-----------
This revision includes the following changes:
* Text skin parts for Spark components changed from TextBase and RichEditableText to IDisplayText and IEditableText
* TextBase implements IDisplayText
* RichEditableText implements IEditableText
* New mobile skins for TextInput and TextArea (TextArea appearance is placeholder for now)
* Add a TOUCH_SCROLL_STARTING handler to SkinnableTextBase. This handler prevents the touch scroll from happening if the text is selectable or editable.
* Change global contentBackgroundColor to #3F3F3F and mobile application backgroundColor to #484848

Now that text skin parts are interfaces they need to be cast to concrete types in a bunch of places. There are two general approaches taken here:
* For required functionality, cast to a known type like InteractiveObject
* For optional functionality, cast to the desired type using “as” and wrap the code with a null check.

QE notes: Mobile TextInput is ready for testing. TextArea has some issues with resizing, so testing should wait for now.
Doc notes: -
Bugs: -
Reviewer: Jason Szeto, Corey L.
Tests run: full mustella pass (thank you cyclone server!), checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInput_border.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DefaultColumnHeaderRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableTextBaseAutomationImpl.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
@@ -20,6 +20,7 @@
 import flash.ui.Keyboard;
 import flash.utils.Timer;

+import mx.core.IVisualElement;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.events.SandboxMouseEvent;
@@ -29,6 +30,7 @@

 import spark.components.supportClasses.SkinnableComponent;
 import spark.components.supportClasses.TextBase;
+import spark.core.IDisplayText;

 use namespace mx_internal;

@@ -395,7 +397,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public var labelDisplay:TextBase;
+    public var labelDisplay:IDisplayText;

     //--------------------------------------------------------------------------
     //
@@ -412,7 +414,7 @@
      */
     override public function get baselinePosition():Number
     {
-        return getBaselinePositionForPart(labelDisplay);
+        return getBaselinePositionForPart(labelDisplay as IVisualElement);
     }

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/binding/IBindingClient.as
+++ frameworks/projects/framework/src/mx/binding/IBindingClient.as
@@ -14,6 +14,11 @@

 /**
  *  This is used to mark documents, which have data bindings.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface IBindingClient
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/graphics/GradientEntry.as
+++ frameworks/projects/framework/src/mx/graphics/GradientEntry.as
@@ -0,0 +1,191 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2004-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.graphics
+{
+
+import flash.events.Event;
+import flash.events.EventDispatcher;
+import mx.events.PropertyChangeEvent;
+
+/**
+ *  The GradientEntry class defines the objects
+ *  that control a transition as part of a gradient fill.
+ *  You use this class with the LinearGradient and RadialGradient classes
+ *  to define a gradient fill.
+ *
+ *  @mxml
+ *
+ *
The <mx:GradientEntry> tag inherits all the tag attributes
+ *  of its superclass, and adds the following tag attributes:

+ *
+ *

+ *  <mx:GradientEntry
+ *    Properties
+ *    alpha="1.0"
+ *    color="0x000000"
+ *    ratio="-1"
+ *  />
+ *

+ *
+ *  @see mx.graphics.LinearGradient
+ *  @see mx.graphics.RadialGradient
+ */
+public class GradientEntry extends EventDispatcher
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param color The color for this gradient entry.
+	 *  The default value is 0x000000 (black).
+	 *
+	 *  @param ratio Where in the graphical element to start
+	 *  the transition to the associated color.
+	 *  Flex uniformly spaces any GradientEntries
+	 *  with missing ratio values.
+	 *  The default value is -1.0.
+	 *
+	 *  @param alpha The alpha value for this entry in the gradient.
+	 *  This parameter is optional. The default value is 1.0.
+	 */
+	public function GradientEntry(color:uint = 0x000000,
+								  ratio:Number = -1.0,
+								  alpha:Number = 1.0)
+	{
+		super();
+
+		this.color = color;
+
+		if (ratio >= 0.0)
+			this.ratio = ratio;
+
+		this.alpha = alpha;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  alpha
+	//----------------------------------
+
+	private var _alpha:Number = 1.0;
+
+	[Bindable("propertyChange")]
+    [Inspectable(category="General", defaultValue="1")]
+
+	/**
+	 *  The transparency of a gradient fill.
+	 *  Possible values are 0.0 (invisible) through 1.0 (opaque).
+	 *
+	 *  @default 1.0
+	 */
+	public function get alpha():Number
+	{
+		return _alpha;
+	}
+
+	public function set alpha(value:Number):void
+	{
+		var oldValue:Number = _alpha;
+		if (value != oldValue)
+		{
+			_alpha = value;
+			dispatchEntryChangedEvent("alpha", oldValue, value);
+		}
+	}
+
+	//----------------------------------
+	//  color
+	//----------------------------------
+
+	private var _color:uint;
+
+	[Bindable("propertyChange")]
+    [Inspectable(category="General", format="Color")]
+
+	/**
+	 *  The color value for a gradient fill.
+	 */
+	public function get color():uint
+	{
+		return _color;
+	}
+
+	public function set color(value:uint):void
+	{
+		var oldValue:uint = _color;
+		if (value != oldValue)
+		{
+			_color = value;
+			dispatchEntryChangedEvent("color", oldValue, value);
+		}
+	}
+
+	//----------------------------------
+	//  ratio
+	//----------------------------------
+
+	private var _ratio:Number;
+
+	[Bindable("propertyChange")]
+    [Inspectable(category="General")]
+
+	/**
+	 *  Where in the graphical element, as a percentage from 0.0 to 1.0,
+	 *  Flex starts the transition to the associated color.
+	 *  For example, a ratio of 0.33 means Flex begins the transition
+	 *  to that color 33% of the way through the graphical element.
+	 */
+	public function get ratio():Number
+	{
+		return _ratio;
+	}
+
+	public function set ratio(value:Number):void
+	{
+		var oldValue:Number = _ratio;
+		if (value != oldValue)
+		{
+			_ratio = value;
+			dispatchEntryChangedEvent("ratio", oldValue, value);
+		}
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private function dispatchEntryChangedEvent(prop:String,
+											   oldValue:*, value:*):void
+	{
+		dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, prop,
+															oldValue, value));
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 6623
Author:   aharui@adobe.com
Date:     2009-05-05T01:01:58.839969Z

Log Message:
-----------
Re-Install RTE suppression that was removed when we stopped using callLater

QE Notes: None
Doc Notes: None
Bugs: SDK-20946
Reviewer: ryan
tests: checkintests

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as

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

--- frameworks/projects/framework/src/mx/managers/LayoutManager.as
+++ frameworks/projects/framework/src/mx/managers/LayoutManager.as
@@ -19,7 +19,9 @@

 import mx.core.ILayoutElement;
 import mx.core.UIComponent;
+import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
+import mx.events.DynamicEvent;
 import mx.events.FlexEvent;
 import mx.managers.layoutClasses.PriorityQueue;

@@ -681,7 +683,7 @@
 	/**
 	 *  @private
 	 */
-	private function doPhasedInstantiation(event:Event = null):void
+	private function doPhasedInstantiation():void
 	{
         var sm:ISystemManager = SystemManagerGlobals.topLevelSystemManagers[0]
 		sm.removeEventListener(Event.ENTER_FRAME, doPhasedInstantiation);
@@ -1024,7 +1026,7 @@

         var sm:ISystemManager = SystemManagerGlobals.topLevelSystemManagers[0]
 		sm.removeEventListener(Event.ENTER_FRAME, waitAFrame);
-		sm.addEventListener(Event.ENTER_FRAME, doPhasedInstantiation);
+		sm.addEventListener(Event.ENTER_FRAME, doPhasedInstantiationCallback);
         waitedAFrame = true;

 		// trace("<<LayoutManager:WaitAFrame");
@@ -1038,12 +1040,12 @@
 		}
 		else
 		{
-			sm.addEventListener(Event.ENTER_FRAME, doPhasedInstantiation);
+			sm.addEventListener(Event.ENTER_FRAME, doPhasedInstantiationCallback);
 			if (!usePhasedInstantiation)
 			{
 				if (sm && (sm.stage || sm.useSWFBridge()))
 				{
-					sm.addEventListener(Event.RENDER, doPhasedInstantiation);
+					sm.addEventListener(Event.RENDER, doPhasedInstantiationCallback);
 					if (sm.stage)
 						sm.stage.invalidate();
 				}
@@ -1052,6 +1054,35 @@

 		listenersAttached = true;
 	}
+
+    private function doPhasedInstantiationCallback(event:Event):void
+    {
+
+        // At run-time, callLaterDispatcher2() is called
+        // without a surrounding try-catch.
+        if (!UIComponentGlobals.catchCallLaterExceptions)
+        {
+            doPhasedInstantiation();
+        }
+
+        // At design-time, callLaterDispatcher2() is called
+        // with a surrounding try-catch.
+        else
+        {
+            try
+            {
+                doPhasedInstantiation();
+            }
+            catch(e:Error)
+            {
+                var callLaterErrorEvent:DynamicEvent = new DynamicEvent("callLaterError");
+                callLaterErrorEvent.error = e;
+                var sm:ISystemManager = SystemManagerGlobals.topLevelSystemManagers[0]
+                sm.dispatchEvent(callLaterErrorEvent);
+            }
+        }
+    }
+
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

--- frameworks/projects/rpc/src/mx/rpc/soap/types/SOAPArrayType.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/types/SOAPArrayType.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006-2007 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/charts/src/mx/charts/series/items/LineSeriesItem.as
+++ frameworks/projects/charts/src/mx/charts/series/items/LineSeriesItem.as
@@ -0,0 +1,223 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.charts.series.items
+{
+
+import mx.charts.ChartItem;
+import mx.charts.series.LineSeries;
+import mx.graphics.IFill;
+
+/**
+ *  Represents the information required to render an item as part of a LineSeries. The LineSeries class passes these items to its itemRenderer when rendering.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class LineSeriesItem extends ChartItem
+{
+    include "../../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *  @param  element The owning series.
+     *  @param  data    The item from the dataProvider that this ChartItem represents.
+     *  @param  index   The index of the item from the series's dataProvider.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function LineSeriesItem(element:LineSeries = null,
+                                   data:Object = null, index:uint = 0)
+    {
+        super(element, data, index);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    // fill
+    //----------------------------------
+    [Inspectable(environment="none")]
+
+    /**
+     *  Holds the fill color of the item.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+     public var fill:IFill;
+
+    //----------------------------------
+    //  x
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The x value of this item converted into screen coordinates.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var x:Number;
+
+    //----------------------------------
+    //  xFilter
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The x value of this item, filtered against the horizontal axis of the containing chart. This value is NaN if the value lies outside the axis's range.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var xFilter:Number;
+
+    //----------------------------------
+    //  xNumber
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The x value of this item, converted to a number by the horizontal axis of the containing chart.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var xNumber:Number;
+
+    //----------------------------------
+    //  xValue
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The x value of this item.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var xValue:Object;
+
+    //----------------------------------
+    //  y
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The y value of this item converted into screen coordinates.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var y:Number;
+
+    //----------------------------------
+    //  yFilter
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The y value of this item, filtered against the vertical axis of the containing chart. This value is NaN if the value lies outside the axis's range.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var yFilter:Number;
+
+    //----------------------------------
+    //  yNumber
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The y value of this item, converted to a number by the vertical axis of the containing chart.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var yNumber:Number;
+
+    //----------------------------------
+    //  yValue
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The y value of this item.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var yValue:Object;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Returns a copy of this ChartItem.
+     *
+     *  @return A copy of this ChartItem.
+     */
+    override public function clone():ChartItem
+    {
+        var result:LineSeriesItem = new LineSeriesItem(LineSeries(element),item,index);
+        result.itemRenderer = itemRenderer;
+        return result;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20083
Author:   cframpto@adobe.com
Date:     2011-02-03T01:30:21.215519Z

Log Message:
-----------
Fix vertical alignment of text in mobile TextInput, update ASdoc for StyleableTextField styles and include StyleableTextFieldStyles.as in StyleableTextField so style metadata is correct.

QE notes:
Doc notes:
Bugs: SDK-29291, SDK-27522
Reviewer: Ryan
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicNonInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/SelectionFormatTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as
@@ -188,18 +188,22 @@
         var unscaledTextWidth:Number = unscaledWidth - paddingLeft - paddingRight;
         var unscaledTextHeight:Number = unscaledHeight - paddingTop - paddingBottom;

+        // default vertical positioning is ascent centered
+        var textHeight:Number = getElementPreferredHeight(textDisplay);
+        var textY:Number = Math.round(0.5 * (unscaledTextHeight - textHeight)) + paddingTop;
+
         if (textDisplay)
         {
             textDisplay.commitStyles();
             setElementSize(textDisplay, unscaledTextWidth, unscaledTextHeight);
-            setElementPosition(textDisplay, paddingLeft, paddingTop);
+            setElementPosition(textDisplay, paddingLeft, textY);
         }

         if (promptDisplay)
         {
             promptDisplay.commitStyles();
             setElementSize(promptDisplay, unscaledTextWidth, unscaledTextHeight);
-            setElementPosition(promptDisplay, paddingLeft, paddingTop);
+            setElementPosition(promptDisplay, paddingLeft, textY);
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18192
Author:   hmuller@adobe.com
Date:     2010-10-18T16:02:55.786560Z

Log Message:
-----------
Support for explicit GridLayers in Grid, DataGridSkin.

QE notes:
Doc notes:
Bugs:
Reviewer: Kevin
Tests run: checkin, mustella cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridHeaderRenderer.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/spark-manifest.xml</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/skins/spark/DataGridSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayer.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayer.as
@@ -12,7 +12,9 @@
 package spark.components.supportClasses
 {

+import mx.core.IInvalidating;
 import mx.core.IVisualElement;
+import mx.core.IVisualElementContainer;
 import mx.core.mx_internal;

 import spark.components.Grid;
@@ -21,38 +23,92 @@

 use namespace mx_internal;

-[ExcludeClass]
-
 /**
- *  @private
- *  A simple no-layout container for Grid visual elements.   This class has-a Group, rather than
- *  being one, to accomodate using the Grid itself as a layer.
+ *  The element type for the Grid layers property.
+ *
+ *
A GridLayer is a non-visual object that has a simple no-layout container for Grid visual elements.
+ *  Visual elements are added to the layer's (internal) container with addElement() and removed with
+ *  removeElement().   GridLayer containers must not impose a layout on their elements, the Grid's
+ *  layout is responsible for sizing and positioning all GridLayer elements.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.4
+ *  @productversion Flex 4.5
  */
 public class GridLayer
 {
-    public function GridLayer(layerRoot:Group = null)
+    public function GridLayer()
     {
         super();
-        _root = (layerRoot) ? layerRoot : new LayerGroup();
     }

     //--------------------------------------------------------------------------
     //
     //  Properties
     //
-    //--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------

-    private var _root:Group;
+    //----------------------------------
+    //  id
+    //----------------------------------
+
+    private var _id:String;
+
+    /**
+     *  A unique identifier for this layer.   The Grid's layout looks up layers by id.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.4
+     *  @productversion Flex 4.5
+     */
+    public function get id():String
+    {
+        return _id;
+    }
+
+    /**
+     *  @private
+     */
+    public function set id(value:String):void
+    {
+        _id = value;
+    }

+    //----------------------------------
+    //  root
+    //----------------------------------
+
+    private var _root:IVisualElement;
+
     /**
-     *  The root of the hierarchy that addGridElement() adds visual elements to and
-     *  removeGridElement() removes them from.   To add a GridLayer to another Group,
-     *  add its root: myGroup.add(myGridLayer.root).
+     *  The root of the hierarchy that addElement() adds visual elements to and
+     *  removeElement() removes them from.   To add a GridLayer to another Group,
+     *  add its root: myGroup.addElement(myGridLayer.root).
+     *
+     *  @default A Group configured with a no-op layout.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.4
+     *  @productversion Flex 4.5
      */
-    public function get root():Group
+    public function get root():IVisualElement
     {
+        if (!_root)
+            _root = new LayerGroup();
+
         return _root;
+    }
+
+    /**
+     *  @private
+     */
+    public function set root(value:IVisualElement):void
+    {
+        _root = value;
     }

     //--------------------------------------------------------------------------
@@ -64,21 +120,44 @@
     /**
      *  Add the specified element to this GridLayer.  The relative order of elements
      *  is not guaranteed.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.4
+     *  @productversion Flex 4.5
      */
-    public function addGridElement(elt:IVisualElement):void
+    public function addElement(elt:IVisualElement):void
     {
         if (elt.parent != root)
-            root.addElement(elt);
+            IVisualElementContainer(root).addElement(elt);
     }

     /**
-     *  Remove the specified element from this GridLayer.
+     *  Remove the specified element from this GridLayer.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.4
+     *  @productversion Flex 4.5
      */
-    public function removeGridElement(elt:IVisualElement):void
+    public function removeElement(elt:IVisualElement):void
     {
         if (elt.parent == root)
-            root.removeElement(elt);
-    }
+            IVisualElementContainer(root).removeElement(elt);
+    }
+
+    /**
+     *  Validate this layer's display list.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.4
+     *  @productversion Flex 4.5
+     */
+    public function validateNow():void
+    {
+        IInvalidating(root).validateNow();
+    }
 }
 }


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

--- frameworks/projects/spark/src/spark/components/mediaClasses/ScrubBar.as
+++ frameworks/projects/spark/src/spark/components/mediaClasses/ScrubBar.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.components.mediaClasses


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

--- frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as
+++ frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.controls.advancedDataGridClasses
 {


Getting rid of the fairly useless DisplayUtil.getDisplayObjectLocation and adding the slightly less useless copyArea

--- raw/src/org/yellcorp/lib/display/DisplayUtil.as
+++ raw/src/org/yellcorp/lib/display/DisplayUtil.as
@@ -17,29 +17,19 @@
 public class DisplayUtil
 {
     /**
-     * Convenience method for getting a DisplayObject's location as a Point.
-     *
-     * @param dobj The DisplayObject to query.
-     * @param out An optional Point variable to store the result in. This
-     *            can be used to avoid calling the Point constructor.
-     */
-    public static function getDisplayObjectLocation(
-            dobj:DisplayObject, out:Point = null):Point
-    {
-        if (!out)
-        {
-            out = new Point(dobj.x, dobj.y);
-        }
-        else
-        {
-            out.x = dobj.x;
-            out.y = dobj.y;
-        }
-        return out;
-    }
-
-    /**
-     * Convert a point in one DisplayObject's local coordinaet space to the
+     * Copies the values of one object's x, y, width and height to another.
+     */
+    public static function copyArea(a:*, b:*):*
+    {
+    	b.x = a.x;
+    	b.y = a.y;
+    	b.width = a.width;
+    	b.height = a.height;
+    	return b;
+    }
+
+    /**
+     * Convert a point in one DisplayObject's local coordinate space to the
      * local space of another.
      *
      * @param pointInFromSpace


Adjusted low water threshold to more realistic value.

--- HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
@@ -371,7 +371,7 @@
 				}

-				if(timestamp < flvLowWater - 100 && !alwaysPass)
+				if(timestamp < flvLowWater - 750 && !alwaysPass)
 				{
 					trace("SKIPPING TOO LOW FLV TS @ " + timestamp);
 					return;


Remove a point light remove signal properly

--- src/aerys/minko/scene/controller/light/PointLightController.as
+++ src/aerys/minko/scene/controller/light/PointLightController.as
@@ -30,7 +30,7 @@

 			initialize();
 		}
-
+
 		private function initialize() : void
 		{
 			_worldPosition = new Vector4();
@@ -38,7 +38,7 @@
 		}

 		override protected function targetAddedHandler(ctrl	: LightController,
-													  light	: AbstractLight) : void
+													   light	: AbstractLight) : void
 		{
 			super.targetAddedHandler(ctrl, light);

@@ -49,15 +49,20 @@
 		override protected function lightAddedToScene(scene : Scene) : void
 		{
 			super.lightAddedToScene(scene);
-
-            light.localToWorld(Vector4.ZERO, _worldPosition);
+
+			light.localToWorld(Vector4.ZERO, _worldPosition);
 			updateProjectionMatrix();
-
-            light.localToWorldTransformChanged.add(lightLocalToWorldTransformChangedHandler);
+			light.localToWorldTransformChanged.add(lightLocalToWorldTransformChangedHandler);
 		}

-        protected function lightLocalToWorldTransformChangedHandler(light         : AbstractLight,
-                                                                    localToWorld  : Matrix4x4) : void
+		override protected function lightRemovedFromScene(scene:Scene):void
+		{
+			super.lightRemovedFromScene(scene);
+			light.localToWorldTransformChanged.remove(lightLocalToWorldTransformChangedHandler);
+		}
+
+		protected function lightLocalToWorldTransformChangedHandler(light         : AbstractLight,
+																	localToWorld  : Matrix4x4) : void
 		{
 			localToWorld.getTranslation(_worldPosition);
 		}


Nix verbose messages whenever we walk around.

git-svn-id: a3e1eb16dde062992de22c830ed8045c8013209a@771 c613c5cb-e716-0410-b11b-feb51c14d237

--- src/as/com/threerings/whirled/spot/client/SpotSceneDirector.as
+++ src/as/com/threerings/whirled/spot/client/SpotSceneDirector.as
@@ -209,7 +209,7 @@
         }

         var sceneId :int = _scdir.getScene().getId();
-        log.info("Sending changeLocation request [scid=" + sceneId + ", loc=" + loc + "].");
+        // log.info("Sending changeLocation request [scid=" + sceneId + ", loc=" + loc + "].");

         _pendingLoc = (loc.clone() as Location);
         var clist :ConfirmAdapter = new ConfirmAdapter(


allow override of desitination so SimpleBinding can be used for non-strands

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/SimpleBinding.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/SimpleBinding.as
@@ -85,7 +85,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		protected var destination:Object;
+		public var destination:Object;

         /**
          *  If not null, the id of the mxml tag who's property
@@ -141,7 +141,8 @@
          */
 		public function set strand(value:IStrand):void
 		{
-			destination = value;
+			if (destination == null)
+                destination = value;
             if (sourceID != null)
     			source = document[sourceID] as IEventDispatcher;
             else


Update LocalData class to use cache the same way IWorldData's implementations do

--- src/aerys/minko/scene/visitor/data/LocalData.as
+++ src/aerys/minko/scene/visitor/data/LocalData.as
@@ -4,51 +4,46 @@

 	public final class LocalData
 	{
+		private static const _SCREEN_TO_UV : Matrix4x4 = new Matrix4x4(
+			0.5,		0.0,		0.0,	0.0,
+			0.0, 		-0.5,		0.0,	0.0,
+			0.0,		0.0,		1.0,	0.0,
+			0.5, 		0.5,		0.0, 	1.0
+		);
+
 		public static const VIEW						: String = 'view';
 		public static const WORLD						: String = 'world';
 		public static const PROJECTION					: String = 'projection';

 		public static const WORLD_INVERSE				: String = 'worldInverse';
 		public static const VIEW_INVERSE				: String = 'viewInverse';
-		public static const PROJECTION_INVERSE			: String = 'projectionInverse';
+
+		public static const SCREEN_TO_UV				: String = 'screenToUv';

 		public static const LOCAL_TO_VIEW				: String = 'localToView';
 		public static const LOCAL_TO_SCREEN				: String = 'localToScreen';
 		public static const LOCAL_TO_UV					: String = 'localToUv';

-		private static const UPDATE_NONE				: uint		= 0;
-		private static const UPDATE_WORLD_TO_LOCAL		: uint		= 1;
-		private static const UPDATE_CAMERA_POSITION		: uint		= 2;
-		private static const UPDATE_LOCAL_TO_VIEW		: uint		= 4;
-		private static const UPDATE_LOCAL_TO_SCREEN		: uint		= 8;
-		private static const UPDATE_VIEW_TO_LOCAL		: uint		= 16;
-		private static const UPDATE_ALL					: uint		= UPDATE_WORLD_TO_LOCAL
-																	  | UPDATE_CAMERA_POSITION
-																	  | UPDATE_LOCAL_TO_VIEW
-																	  | UPDATE_LOCAL_TO_SCREEN
-																	  | UPDATE_VIEW_TO_LOCAL;
+		protected var _world							: Matrix4x4;
+		protected var _view								: Matrix4x4;
+		protected var _projection						: Matrix4x4;

-		private var _update								: uint			= 0;
+		protected var _viewInverse						: Matrix4x4;
+		protected var _viewInverse_viewVersion			: uint;

-		private var _world								: Matrix4x4		= new Matrix4x4();
-		private var _view								: Matrix4x4		= new Matrix4x4();
-		private var _projection							: Matrix4x4		= new Matrix4x4();
-		private var _viewInverse						: Matrix4x4		= null;
-		private var _viewInverse_viewVersion			: uint			= 0;
+		protected var _worldInverse						: Matrix4x4;
+		protected var _worldInverse_worldVersion		: uint;

-		private var _worldInverse						: Matrix4x4		= null;
-		private var _worldInverse_worldVersion			: uint			= 0;
+		protected var _localToView						: Matrix4x4;
+		protected var _localToView_viewVersion			: uint;
+		protected var _localToView_worldVersion			: uint;

-		private var _localToView						: Matrix4x4		= null;
-		private var _localToView_viewVersion			: uint			= 0;
-		private var _localToView_worldVersion			: uint			= 0;
+		protected var _localToScreen					: Matrix4x4;
+		protected var _localToScreen_localToViewVersion : uint;
+		protected var _localToScreen_projectionVersion	: uint;

-		private var _localToScreen						: Matrix4x4		= null;
-		private var _localToScreen_localToViewVersion 	: uint			= 0;
-		private var _localToScreen_projectionVersion	: uint			= 0;
-
-		private var _localToUv							: Matrix4x4		= null;
-		private var _localToUv_localToScreenVersion		: uint			= 0;
+		protected var _localToUv						: Matrix4x4;
+		protected var _localToUv_localToScreenVersion	: uint;

 		public function get view() : Matrix4x4
 		{
@@ -123,18 +118,9 @@
 			return _localToScreen;
 		}

-		/**
-		 * FIXME
-		 */
 		public function get screentoUv() : Matrix4x4
 		{
-			var offset : Number = 0.5 + (0.5 / 2048);
-			return new Matrix4x4(
-				0.5,		0.0,		0.0,	0.0,
-				0.0, 		-0.5,		0.0,	0.0,
-				0.0,		0.0,		1.0,	0.0,
-				offset, 	offset,		0.0, 	1.0
-			);
+			return _SCREEN_TO_UV;
 		}

 		public function get localToUv() : Matrix4x4
@@ -154,37 +140,35 @@
 		public function set world(value : Matrix4x4) : void
 		{
 			Matrix4x4.copy(value, _world);
-			_update |= UPDATE_LOCAL_TO_SCREEN | UPDATE_LOCAL_TO_VIEW | UPDATE_WORLD_TO_LOCAL;
 		}

 		public function set view(value : Matrix4x4) : void
 		{
 			Matrix4x4.copy(value, _view);
-			_update |= UPDATE_LOCAL_TO_SCREEN | UPDATE_LOCAL_TO_VIEW | UPDATE_VIEW_TO_LOCAL;
 		}

 		public function set projection(value : Matrix4x4) : void
 		{
 			Matrix4x4.copy(value, _projection);
-			_update |= UPDATE_LOCAL_TO_SCREEN;
 		}

 		public function LocalData()
 		{
+			_world								= new Matrix4x4();
+			_view								= new Matrix4x4();
+			_projection							= new Matrix4x4();
+
 			reset();
 		}

 		public function reset() : void
 		{
-			_viewInverse_viewVersion = uint.MAX_VALUE;
-
-			_worldInverse_worldVersion = uint.MAX_VALUE;
-
-			_localToView_viewVersion = uint.MAX_VALUE;
-			_localToView_worldVersion = uint.MAX_VALUE;
-
-			_localToScreen_localToViewVersion = uint.MAX_VALUE;
-			_localToScreen_projectionVersion = uint.MAX_VALUE;
+			_viewInverse_viewVersion			= uint.MAX_VALUE;
+			_worldInverse_worldVersion			= uint.MAX_VALUE;
+			_localToView_viewVersion			= uint.MAX_VALUE;
+			_localToView_worldVersion			= uint.MAX_VALUE;
+			_localToScreen_localToViewVersion	= uint.MAX_VALUE;
+			_localToScreen_projectionVersion	= uint.MAX_VALUE;
 		}
 	}
 }


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

--- frameworks/projects/automation/src/mx/automation/codec/ScrollDirectionPropertyCodec.as
+++ frameworks/projects/automation/src/mx/automation/codec/ScrollDirectionPropertyCodec.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
 {


- Fixed a typo in StaticChunksStrategy

- Fixed a typo in StaticChunksStrategy

--- as3/Apparat.Library.AS3/src/com/joa_ebert/apparat/memory/strategies/StaticChunksStrategy.as
+++ as3/Apparat.Library.AS3/src/com/joa_ebert/apparat/memory/strategies/StaticChunksStrategy.as
@@ -316,7 +316,7 @@
 						if( currentChunk.position < firstChunk.position )
 						{
 							if( null == currentChunk.next
-								|| currentChunk.next > firstChunk.position )
+								|| currentChunk.next.position > firstChunk.position )
 							{
 								break;
 							}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

--- frameworks/projects/automation/src/mx/automation/events/AdvancedDataGridHeaderShiftEvent.as
+++ frameworks/projects/automation/src/mx/automation/events/AdvancedDataGridHeaderShiftEvent.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 18602
Author:   chiedozi@adobe.com
Date:     2010-11-16T01:12:30.896435Z

Log Message:
-----------
The navigator skinpart is now bindable on MobileApplication and TabbedMobileApplicaiton
ViewNavigator.length is now bindable
ViewNavigator now ignores push and replace operations that don't provide a view factory class

QE notes:
Doc notes:
Bugs: SDK-28531
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigatorApplication.as
+++ frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigatorApplication.as
@@ -59,6 +59,7 @@
     //
     //--------------------------------------------------------------------------

+    [Bindable]
     [SkinPart(required="false")]
     /**
      *  The main navigator for the application.


:shirt: More refactoring for no avail

:shirt: More refactoring for no avail

--- index.as
+++ index.as
@@ -4903,43 +4903,35 @@
           }
         }

-        let td_address: int16 = sprite_tile * 16 + int16(tile_y) * 2;
-
         // Iterate through the columns of the sprite pixels and
         // blit them on the scanline

         let x: int16 = 0;
         while x < 8 {
           if (sx + x >= 0) and (sx + x < 160) {
-            // Make a bitmask for the pixel being rendered
-            let pixel_mask = 0x80 >> (if testb(sprite_flags, 5) { 7 - x; } else { x; });
-
-            // Check the color bits for that pixel
-            let palette_lo = if *(vram + td_address) & pixel_mask != 0 { 1; } else { 0; };
-            let palette_hi = if *(vram + td_address + 1) & pixel_mask != 0 { 1; } else { 0; };
-
-            // Combine them into a single index from 0 to 3
-            let palette_index = uint8((palette_hi << 1) | palette_lo);
+            let pixel = gpu_get_tile_pixel(
+              sprite_tile,
+              uint8(if testb(sprite_flags, 5) { 7 - x; } else { x; }),
+              uint8(tile_y));
+
             // NOTE: 0 is transparent for sprites
-            if palette_index != 0 {
+            if pixel != 0 {
               // Palette
               let color = if testb(sprite_flags, 4) {
-                (gpu_obj1_palette >> (palette_index * 2)) & 0x3;
+                (gpu_obj1_palette >> (pixel << 1)) & 0x3;
               } else {
-                (gpu_obj0_palette >> (palette_index * 2)) & 0x3;
+                (gpu_obj0_palette >> (pixel << 1)) & 0x3;
               };

-              if color != 0 {
-                // Push pixel to framebuffer
-                let fbo: int64 = (int64(gpu_line) * 160) + int64(sx + x);
-                if testb(sprite_flags, 7) {
-                  let bgcolor = *(gpu_framebuffer + fbo);
-                  if bgcolor == 0 {
-                    *(gpu_framebuffer + fbo) = 2;
-                  }
-                } else {
-                  *(gpu_framebuffer + fbo) = 2;
+              // Push pixel to framebuffer
+              let fbo: int64 = (int64(gpu_line) * 160) + int64(sx + x);
+              if testb(sprite_flags, 7) {
+                let bgcolor = *(gpu_framebuffer + fbo);
+                if bgcolor == 0 {
+                  *(gpu_framebuffer + fbo) = color;
                 }
+              } else {
+                *(gpu_framebuffer + fbo) = color;
               }
             }
           }