         var bmd :BitmapData = new BitmapData(Math.ceil(_w), Math.ceil(_h), true, 0x00);
         var m :Matrix = new Matrix();
         m.translate(_origin.x, _origin.y);
-        bmd.drawWithQuality(_disp, m, null, null, null, true, _quality);
+        bmd.drawWithQuality(_disp, m, null, null, null, true, this.quality);
 
         // scale bitmap to target size if necessary (only used if _disp contains filters)
         if (_scale != 1.0) {
-            bmd = Util.renderToBitmapData(bmd, this.w, this.h, _quality, _scale);
+            bmd = Util.renderToBitmapData(bmd, this.w, this.h, this.quality, _scale);
         }
 
         // add padding if necessary

        return false;        
    }
    
    private var _symbol :String;
    private var _disp :DisplayObjectContainer;
    private var _w :int, _h :int;
    private var _origin :Point;
    private var _strictBounds :Rectangle;
    private var _visualBounds :Rectangle;
    private var _scale :Number;
    private var _quality :String;
    private var _treatAsFiltered:Boolean;
    
    static private var _s_filteredBmd:BitmapData = new BitmapData(2048, 2048, true, 0x0);

            // render to bmd
            var topLeft:Point = new Point(_s_filteredBmd.width / 2 - _strictBounds.width / 2 - _strictBounds.x, _s_filteredBmd.height / 2 - _strictBounds.height / 2 - _strictBounds.y);
            var m :Matrix = new Matrix(1,0,0,1, topLeft.x, topLeft.y);
            _s_filteredBmd.drawWithQuality(_disp, m, null, null, null, true, this.quality);
            
            // calculate visual bounds
            _visualBounds = _s_filteredBmd.getColorBoundsRect(0xff000000, 0x00000000, false);
