     //
     //--------------------------------------------------------------------------
     
-    /**
-     *  Bitmap capture of the focused component. This bitmap includes a glow
-     *  filter that shows the focus glow.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    private var bitmap:Bitmap;
-
-    /**
-     *  @private
-     */
-    private var _focusObject:SkinnableComponent;
-    
-    /**
-     *  Object to draw focus around.  If null, uses focusManager.getFocus();
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get focusObject():SkinnableComponent
+    override protected function get borderWeight() : Number
     {
-        return _focusObject;
-    }
-    
-    public function set focusObject(value:SkinnableComponent):void
-    {
-        _focusObject = value;
-        
-        // Add an "updateComplete" listener to the skin so we can redraw
-        // whenever the skin is drawn.
-        if (_focusObject.skin)
-            _focusObject.skin.addEventListener(FlexEvent.UPDATE_COMPLETE, 
-                    skin_updateCompleteHandler, false, 0, true);
+        return getStyle("focusThickness");
     }
     
     //--------------------------------------------------------------------------

 *  @playerversion AIR 1.5
 *  @productversion Flex 4
 */
public class FocusSkin extends UIComponent
{
    include "../../core/Version.as";
    

    //
    //--------------------------------------------------------------------------
    
    /**
     *  @private
     */
    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    {   
        super.updateDisplayList(unscaledWidth, unscaledHeight);
         
        blendMode = target.getStyle("focusBlendMode");
    }
    
    /**
     *  @private
     */
    override protected function processBitmap() : void
    {
        // Apply the glow filter
        rect.x = rect.y = 0;
        rect.width = bitmap.width;
        rect.height = bitmap.height;
        // If the focusObject has an errorString, use "errorColor" instead of "focusColor" 
        if (target.errorString != null && target.errorString != "") 
        {
            glowFilter.color = target.getStyle("errorColor");
        }
        else
        {
            glowFilter.color = target.getStyle("focusColor");
        }
        glowFilter.blurX = glowFilter.blurY = borderWeight * BLUR_MULTIPLIER;
        glowFilter.alpha = target.getStyle("focusAlpha") * ALPHA_MULTIPLIER;
        
        bitmap.bitmapData.applyFilter(bitmap.bitmapData, rect, filterPt, glowFilter);         
    }
}
}        
