1. assuming that's done by drawing to a mask, you can use the getColorBoundsRect method to determine if your mask is complete, or not:
var maskColor:uint = 0xFFFFFF;
var color:uint = 0xFF0000; // <-if that's your mask color
var r:Rectangle;
var bmpd:BitmapData = new BitmapData(stage.stageWidth,stage.stageHeight,false);
function checkMaskF():Boolean{
bmpd.draw(mask_mc);
r = bmpd.getColorBoundsRect(maskColor, color, false);
if(r.width==0 && r.height==0){
return true;
} else {
return false;
}
}
2. if you enable the cacheAsBitmap property of the mask and the masked movieclips, you can use an alpha gradient
3. don't now what you want
4. the mask/masked sizes can vary and so can the brush size.