1  /*
     2   Copyright aswing.org, see the LICENCE.txt.
     3  */
     4  
     5  import org.aswing.ASColor;
     6  
     7  /**
     8   * Pen, to draw line drawing.
     9   * @author iiley
    10   */
    11  class org.aswing.graphices.Pen{
    12  	private var _thickness:Number;
    13  	private var _color:Number;
    14  	private var _alpha:Number;
    15  	
    16  	/**
    17  	 * <p>
    18  	 * Pen(color:ASColor, thickness:Number)<br>
    19  	 * Pen(color:Number, thickness:Number, alpha:Number)<br>
    20  	 */
    21  	function Pen(color:Object, thickness:Number, alpha:Number){
    22  		if(color instanceof ASColor){
    23  			this._thickness=(thickness==undefined)?0:thickness;
    24  			setASColor(ASColor(color));
    25  		}
    26  		else{
    27  			this._color=(color==undefined)?ASColor.BLACK.getRGB():Number(color);
    28  			this._thickness=(thickness==undefined)?0:thickness;
    29  			this._alpha=(alpha==undefined)?100:Number(alpha);
    30  		}
    31  	}
    32  	
    33  	public function getColor():Number{
    34  		return _color;
    35  	}
    36  	
    37  	public function setColor(color:Number):Void{
    38  		this._color=color;
    39  	}
    40  	
    41  	public function getThickness():Number{
    42  		return _thickness;
    43  	}
    44  	
    45  	public function setThickness(thickness:Number):Void{
    46  		this._thickness=thickness;
    47  	}
    48  	
    49  	public function getAlpha():Number{
    50  		return _alpha;
    51  	}
    52  	
    53  	public function setAlpha(alpha:Number):Void{
    54  		this._alpha=alpha;
    55  	}
    56  	
    57  	public function setTo(target:MovieClip):Void{
    58  		target.lineStyle(_thickness, _color, _alpha);
    59  	}
    60  	
    61  	public function setASColor(color:ASColor):Void{
    62  		if(color!=null){			
    63  			this._color=color.getRGB();
    64  			this._alpha=color.getAlpha();
    65  		}
    66  	}
    67  }
    68