1  /*
     2   Copyright aswing.org, see the LICENCE.txt.
     3  */
     4  import org.aswing.AbstractButton;
     5  import org.aswing.border.Border;
     6  import org.aswing.Component;
     7  import org.aswing.geom.Rectangle;
     8  import org.aswing.graphices.Graphics;
     9  import org.aswing.plaf.basic.BasicGraphicsUtils;
    10  import org.aswing.plaf.basic.border.ButtonBorder;
    11  
    12  /**
    13   *
    14   * @author iiley
    15   */
    16  class org.aswing.plaf.basic.border.ToolBarButtonBorder extends ButtonBorder {
    17  	
    18  	private static var toolBarButtonBordeInstance:Border;
    19  	
    20  	/**
    21  	 * this make shared instance and construct when use.
    22  	 */	
    23  	public static function createInstance():Border{
    24  		if(toolBarButtonBordeInstance == null){
    25  			toolBarButtonBordeInstance = new ToolBarButtonBorder();
    26  		}
    27  		return toolBarButtonBordeInstance;
    28  	}
    29  	
    30  	function ToolBarButtonBorder() {
    31  		super();
    32  	}
    33  	
    34  	/**
    35  	 * paint the ButtonBorder content.
    36  	 */
    37      public function paintBorder(c:Component, g:Graphics, bounds:Rectangle):Void{
    38      	var isPressed:Boolean = false;
    39      	var button:AbstractButton = AbstractButton(c);
    40      	if(button != null){
    41  			isPressed = button.getModel().isPressed() || button.getModel().isSelected();
    42  			if(button.getModel().isRollOver() || isPressed){
    43  				BasicGraphicsUtils.drawBezel(g, bounds, isPressed, shadow,
    44                                     darkShadow, highlight, lightHighlight);
    45  			}
    46      	}
    47      }
    48  
    49  }
    50