Problem drawing a Movie Clip with the Bitmap class

Hello everybody, I’m trying to do some kind of transition effect based in a senocular’s source FLA’s (great effect by the way). The transition basically takes a brush and paints the element you want to appear, in my case a movie clip. The problem is that in the partial code I have, the movie clip appears clipped. Could be because my movie clip is a little big (800x500px)?, or I don’t know. Maybe somebody could give me some help. Thanks. I post my code below:

[COLOR=Blue]import flash.display.BitmapData[/COLOR];
[COLOR=Blue]import flash.geom.Point[/COLOR];

[COLOR=Blue]Stage.scaleMode[/COLOR] = ‘noScale’;
[COLOR=Blue]var[/COLOR] speed_factor = 3;

[COLOR=Blue]var[/COLOR] basepoint = [COLOR=Blue]new Point/COLOR;

[COLOR=Blue]this.attachMovie/COLOR; [COLOR=SeaGreen]// the movie clip I want to display[/COLOR]

displayBitmap = [COLOR=Blue]new BitmapData[/COLOR](intro_mc.[COLOR=Blue]_width[/COLOR], [COLOR=Blue]intro_mc[/COLOR].[COLOR=Blue]_height[/COLOR], [COLOR=Blue]true[/COLOR], 0x00FFFFFF);

displayBitmap.[COLOR=Blue]draw/COLOR;
intro_mc.[COLOR=Blue]_visible[/COLOR] = [COLOR=Blue]false[/COLOR];

transBitmap = [COLOR=Blue]new BitmapData[/COLOR](intro_mc._width, intro_mc._height);
paintingBitmap = [COLOR=Blue]new BitmapData[/COLOR](intro_mc._width, intro_mc._height);

[COLOR=SeaGreen]// the animation that “paints” the above “intro_mc”
[/COLOR][COLOR=Blue]this.attachMovie[/COLOR](“painting”, “painting_mc”, 1);
painting_mc.[COLOR=Blue]_visible[/COLOR] = [COLOR=Blue]false[/COLOR];

[COLOR=Blue]this.createEmptyMovieClip[/COLOR](“display_mc”, 2);
display_mc.[COLOR=Blue]attachBitmap[/COLOR](displayBitmap, 1);

[COLOR=SeaGreen]// the frame of the painting (appears above the painting)
[/COLOR]frame_mc.[COLOR=Blue]swapDepths/COLOR;

startTransition();

[COLOR=Blue]function[/COLOR] startTransition() {
painting_mc.[COLOR=Blue]gotoAndStop/COLOR;
brushDrawToDisplay();
[COLOR=Blue]onEnterFrame[/COLOR] = tranOnEnterFrame;
}

[COLOR=Blue]function[/COLOR] transOnEnterFrame() {
[COLOR=Blue]var[/COLOR] i = speed_factor;
[COLOR=Blue]while/COLOR {
painting_mc.[COLOR=Blue]nextFrame/COLOR;
brushDrawToDisplay();
[COLOR=Blue]if[/COLOR](painting_mc.[COLOR=Blue]_currentframe[/COLOR] >= painting_mc.[COLOR=Blue]_totalframes[/COLOR]) {
displayBitmap.[COLOR=Blue]draw/COLOR;
[COLOR=Blue]delete this.onEnterFrame[/COLOR];
[COLOR=Blue]break[/COLOR];
}
}
}

[COLOR=Blue]function[/COLOR] brushDrawToDisplay() {
paintingBitmap.[COLOR=Blue]fillRect[/COLOR](paintingBitmap.rectangle, 0);
paintingBitmap.[COLOR=Blue]draw/COLOR;
displayBitmap.[COLOR=Blue]copyPixels[/COLOR](transBitmap, transBitmap.[COLOR=Blue]rectangle[/COLOR], basepoint, paintingBitmap, basepoint, [COLOR=Blue]true[/COLOR]);
}