 			if (_autoResize && displayObject.parent == stage)
 				displayObject.mask = null;
 		}
+		
+		private function getGlobalScaleX() : Number
+		{
+			var currentParent	: DisplayObjectContainer	= parent;
+			var scale			: Number					= scaleX; 
+			
+			while(currentParent != stage)
+			{
+				scale *= currentParent.scaleX;
+				currentParent = currentParent.parent;
+			}
+			
+			return scale;
+		}
+		
+		private function getGlobalScaleY() : Number
+		{
+			var currentParent	: DisplayObjectContainer	= parent;
+			var scale			: Number					= scaleY; 
+			
+			while(currentParent != stage)
+			{
+				scale *= currentParent.scaleY;
+				currentParent = currentParent.parent;
+			}
+			
+			return scale;
+		}
 	}
 }
				return ;
			
			_invalidBackBuffer = false;
			_stage3d.context3D.configureBackBuffer(_width, _height, _antiAliasing, true);
			_backBuffer = new RenderTarget(_width, _height, null, 0, _backgroundColor);
			
			graphics.clear();
			graphics.beginFill(0, 0);

			
			stage.removeEventListener(Event.ADDED_TO_STAGE, displayObjectAddedToStageHandler);
			stage.removeEventListener(Event.REMOVED_FROM_STAGE, displayObjectRemovedFromStageHandler);
			
			stage.removeEventListener(Event.RESIZE, stageResizedHandler);
			
			if (_stage3d != null)
				_stage3d.visible = false;
