package components.Tools
{
    import flash.display.Sprite;
    
    // classe que desenha o circulo
    public class BannerCircle extends Sprite{
        public var fillColor:uint;
        public var Radius:Number;
        private var fillAlpha:Number;
        public var lineColor:uint;
        public var lineWidth:Number;
        private var lineAlpha:Number;
        private var XPos:Number;
        private var YPos:Number;
        
        public function BannerCircle(fCol:uint,r:Number,fAlpha:Number,lCol:uint,lWidth:Number,lAlpha:Number){
            paint(fCol,r,fAlpha,lCol,lWidth,lAlpha);
        }
        private function paint(fCol:uint,r:Number,fAlpha:Number,lCol:uint,lWidth:int,lAlpha:Number,xPos:Number=1,yPos:Number=1):void{
            this.graphics.lineStyle(lWidth, lCol, lAlpha);
            this.graphics.beginFill(fCol, fAlpha);
            this.graphics.drawCircle(xPos,yPos,r);
            this.graphics.endFill();
            //armazenando os parametros exatos caso seja preciso redesenhar depois
            fillColor = fCol;
            Radius = r;
            fillAlpha = fAlpha;
            lineColor = lCol;
            lineWidth = lWidth;
            lineAlpha = lAlpha;
            XPos = xPos;
            YPos = yPos
        }
        public function changeFill(col:uint):void{
            this.graphics.clear();
            paint(col,Radius,fillAlpha,lineColor,lineWidth,lineAlpha,XPos,YPos);
        }
        public function changeLine(col:uint,thick:Number):void{
            this.graphics.clear();
            paint(fillColor,Radius,fillAlpha,col,thick,lineAlpha,XPos,YPos);
        }
        public function redraw(fCol:uint,fAlpha:Number,lCol:uint,lWidth:Number,lAlpha:Number):void{
            this.graphics.clear();
            var r:Number;
            r = (Math.sqrt(Math.pow(mouseX/2,2) + Math.pow(mouseY/2,2)))/2;
            paint(fCol,r,fAlpha,lCol,lWidth,lAlpha,mouseX/2,mouseY/2);
        }
    }
}