Как сделать так чтобы при прорисовке выбранного мувиклипа (а не всей сцены) учитывался и его масштаб. А то получается неправильное смещение при масштабировании того клипа с которого я беру информацию для размытия!

Код AS3:
package
{
import flash.filters.*;
import flash.geom.*;
import flash.display.*;
import flash.events.*;
public class Frosted extends MovieClip
{
private var glassColor:Number=0xD9FFFF;
private var glassAlpha:Number=.35;
private var mousePoint:Point = new Point(mouseX,mouseY);
private var alphaScreen:Sprite;
private var blurScreen:Sprite;
private var blurBmd:BitmapData;
private var blurBitmap:Bitmap;
private var w:uint= width;
private var h:uint= height;
private var lowDepth:uint = 0;
public function Frosted():void
{
//////////////
var bounds=getBounds(this);
blurScreen = new Sprite();
alphaScreen = new Sprite();
effects_mc = new Sprite();
effects_mc.addChild(blurScreen);
effects_mc.addChild(alphaScreen);
effects_mc.setChildIndex(blurScreen, 0);
effects_mc.setChildIndex(alphaScreen, 1);
effects_mc.mask = blur_mask;
createTexture();
this.addChild(effects_mc);
alphaScreen.x=blurScreen.x=bounds.x;
alphaScreen.y=blurScreen.y=bounds.y;
alphaScreen.graphics.beginFill(glassColor,glassAlpha);
alphaScreen.graphics.lineTo(w,0);
alphaScreen.graphics.lineTo(w,h);
alphaScreen.graphics.lineTo(0,h);
alphaScreen.graphics.endFill();
////////
blurBmd = new BitmapData(w,h, false, 0x808080);
blurBitmap = new Bitmap(blurBmd);
blurScreen.addChildAt(blurBitmap,0);
getScreen();
render();
this.addEventListener(MouseEvent.MOUSE_DOWN, Press);
this.addEventListener(MouseEvent.MOUSE_UP, Release);
trace(this.numChildren);
}
function Press(e:MouseEvent):void
{
mousePoint=new Point(mouseX,mouseY);
this.addEventListener(Event.ENTER_FRAME, render);
}
function Release(e:MouseEvent):void
{
this.removeEventListener(Event.ENTER_FRAME, render);
}
function render(e:Event = null):void
{
x+=mouseX-mousePoint.x;
y+=mouseY-mousePoint.y;
mousePoint=new Point(mouseX,mouseY);
getScreen();
}
function getScreen()
{
var p:Point=new Point(x,y);
parent.localToGlobal(p);
var tx:Number=-(p.x+blurScreen.x);
var ty:Number=-(p.y+blurScreen.y);
var mtrx=new Matrix(1,0,0,1,tx,ty);
visible=false;
blurBmd.draw(root.all_bg,mtrx); // Вот в этой строчке я беру инфу из выбранного мувика и ресую её в размытие. Но при этом берётся реальный размер, а мне надо с учётом масштаба.
visible=true;
blurBmd.applyFilter(blurBmd,blurBmd.rect,new Point(),new BlurFilter(1,1,3));
}
function createTexture():void
{
var noiseBmd:BitmapData = new BitmapData(w, h);
var seed:Number = Math.floor(Math.random()*100);
noiseBmd.noise(seed, 210, 250, 7, true);
var noiseBitmap:Bitmap = new Bitmap(noiseBmd);
effects_mc.addChildAt(noiseBitmap, 1);
noiseBitmap.alpha = 0.25;
//noiseBitmap.mask = blur_mask;
}
}
}