                 weight *= sX;
             else
                 weight *= Math.sqrt(0.5 * (sX * sX + sY * sY));
-            
-            _strokeExtents.x = weight;
-            _strokeExtents.y = weight;
+
+            _strokeExtents.width  = weight;
+            _strokeExtents.height = weight;
+			_strokeExtents.x      = weight * -0.5;
+			_strokeExtents.y      = weight * -0.5;
             return _strokeExtents;
         }
         else if (scaleMode == LineScaleMode.HORIZONTAL)
         {
-            _strokeExtents.x = weight * sX;
-            _strokeExtents.y = weight;
+            _strokeExtents.width  = weight * sX;
+            _strokeExtents.height = weight;
+			_strokeExtents.x      = weight * sX * -0.5;
+			_strokeExtents.y      = weight * -0.5;
             return _strokeExtents;
         }
         else if (scaleMode == LineScaleMode.VERTICAL)
         {
-            _strokeExtents.x = weight;
-            _strokeExtents.y = weight * sY;
+            _strokeExtents.width  = weight;
+            _strokeExtents.height = weight * sY;
+			_strokeExtents.x      = weight * -0.5;
+			_strokeExtents.y      = weight * sY * -0.5;
             return _strokeExtents;
         }
 

    {
        super();
    }
    
    //--------------------------------------------------------------------------
    //
    //  Variables
    //
    //--------------------------------------------------------------------------
    
    static private var _strokeExtents:Point = new Point();
    
    //--------------------------------------------------------------------------
    //

    /**
     *  @private
     */  
    override protected function getStrokeExtents(postLayoutTransform:Boolean = true):Rectangle
    {
        // TODO (egeorgie): currently we take only scale into account,
        // but depending on joint style, cap style, etc. we need to take
        // the whole matrix into account as well as examine every line segment...

        if (!stroke)
        {
            _strokeExtents.x      = 0;
            _strokeExtents.y      = 0;
			_strokeExtents.width  = 0;
			_strokeExtents.height = 0;
            return _strokeExtents;
        }

