 import flash.geom.Matrix;
 import flash.geom.Point;
 import flash.geom.Rectangle;
-import flump.xfl.XflMovie;
 
 import flump.executor.load.LoadedSwf;
 import flump.mold.MovieMold;
 import flump.xfl.XflLibrary;
 import flump.xfl.XflTexture;
-
-import com.threerings.display.DisplayUtil;
 
 public class SwfTexture
 {

            _visualBounds.x = -(topLeft.x - _visualBounds.x);
            _visualBounds.y = -(topLeft.y - _visualBounds.y);
        }
        
        // calculate derivative info
        _origin = new Point(-_visualBounds.x, -_visualBounds.y);
        _w = _visualBounds.width;
        _h = _visualBounds.height;
    }

    private function hasPotentiallySizeAlteringFilters(dObj:DisplayObject) :Boolean {
        return DisplayUtil.applyToHierarchy(dObj, function (disp :DisplayObject) :Boolean {
            for each (var filter :Object in disp.filters) {
                // all standard filters except ColorMatrixFilter can change the visual bounds

    public function toBitmapData (borderPadding :int = 0) :BitmapData {
        // render with vector renderer
        var bmd :BitmapData = new BitmapData(Math.ceil(_w), Math.ceil(_h), true, 0x00);
        const m :Matrix = new Matrix();
        m.translate(_origin.x, _origin.y);
        bmd.drawWithQuality(_disp, m, null, null, null, true, this.quality);

