package components.Tools
{
    import flash.display.Sprite

    public class BannerRectangle extends Sprite{
        public var fillColor:uint;
        private var Width:Number;
        private var Height: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 BannerRectangle(fCol:uint,w:Number,h:Number,fAlpha:Number,lCol:uint,lWidth:Number,lAlpha:Number){
            paint(fCol,w,h,fAlpha,lCol,lWidth,lAlpha);
        }
        private function paint(fCol:uint,w:Number,h:Number,fAlpha:Number,lCol:uint,lWidth:int,lAlpha:Number,xPos:Number=0,yPos:Number=0):void{
            this.graphics.lineStyle(lWidth, lCol, lAlpha);
            this.graphics.beginFill(fCol, fAlpha);
            this.graphics.drawRect(xPos, yPos, w, h);
            this.graphics.endFill();
            //Now store the exact parameters should in case you need to redraw later...
            fillColor = fCol;
            Width = w;
            Height = h;
            fillAlpha = fAlpha;
            lineColor = lCol;
            lineWidth = lWidth;
            lineAlpha = lAlpha;
            XPos = xPos;
            YPos = yPos
        }
        public function changeFill(col:uint):void{
            this.graphics.clear();
            paint(col,Width,Height,fillAlpha,lineColor,lineWidth,lineAlpha,XPos,YPos);
        }
        public function changeLine(col:uint,thick:Number):void{
            this.graphics.clear();
            paint(fillColor,Width,Height,fillAlpha,col,thick,lineAlpha,XPos,YPos);
        }
        public function redraw(fCol:uint,fAlpha:Number,lCol:uint,lWidth:Number,lAlpha:Number):void{
            this.graphics.clear();
            var tempW:Number, tempH:Number;
            tempW = (mouseX > 0) ? mouseX : -1 * mouseX;
            tempH = (mouseY > 0) ? mouseY : -1 * mouseY;
            var xPos:Number, yPos:Number;
            xPos = (mouseX > 0) ? 0 : mouseX;
            yPos = (mouseY > 0) ? 0 : mouseY;
            paint(fCol,tempW,tempH,fAlpha,lCol,lWidth,lAlpha,xPos,yPos);
        }
    }
}