         {
             glowFilter.color = focusObject.getStyle("focusColor");
         }
+        glowFilter.blurX = glowFilter.blurY = focusThickness * BLUR_MULTIPLIER;
+        glowFilter.alpha = focusObject.getStyle("focusAlpha") * ALPHA_MULTIPLIER;
+        
         bitmapData.applyFilter(bitmapData, rect, filterPt, glowFilter); 
                
         if (!bitmap)
         {
             bitmap = new Bitmap();
             addChild(bitmap);
-            bitmap.x = bitmap.y = -FOCUS_THICKNESS;
+            bitmap.x = bitmap.y = -focusThickness;
         }
         
         bitmap.bitmapData = bitmapData;
+        
+        blendMode = focusObject.getStyle("focusBlendMode");
         
         // Restore original 3D matrix if applicable.
         if (transform3D)

        // FIXME (gruehle): Figure out a better solution.
        if (weakIsCheck(focusObject, "spark.components::Scroller"))
        {
            rect.x = rect.y = FOCUS_THICKNESS;
            rect.width = focusObject.width;
            rect.height = focusObject.height;
            bitmapData.fillRect(rect, 0xFFFFFFFF);

    //  Class constants
    //
    //--------------------------------------------------------------------------
        
    // Number to multiply focusThickness by to determine the blur value
    private const BLUR_MULTIPLIER:Number = 2.5;
    
    // Number to multiply focusAlpha by to determine the filter alpha value
    private const ALPHA_MULTIPLIER:Number = 1.5454;
    
    //--------------------------------------------------------------------------
    //
