1  /*
     2   Copyright aswing.org, see the LICENCE.txt.
     3  */
     4   
     5  import org.aswing.*;
     6  import org.aswing.graphices.*;
     7  import org.aswing.geom.*;
     8   
     9  /**
    10   *
    11   * @author iiley
    12   */
    13  class org.aswing.plaf.basic.BasicGraphicsUtils {
    14  		
    15  	public static function drawUpperedBezel(g:Graphics, r:Rectangle,
    16                                      shadow:ASColor, darkShadow:ASColor, 
    17                                   highlight:ASColor, lightHighlight:ASColor):Void{
    18  		var x1:Number = r.x;
    19  		var y1:Number = r.y;
    20  		var w:Number = r.width;
    21  		var h:Number = r.height;
    22  		
    23  		var brush:SolidBrush=new SolidBrush(darkShadow,100);
    24  		g.fillRectangleRingWithThickness(brush, x1, y1, w, h, 1);
    25  		
    26          brush.setASColor(lightHighlight);
    27          g.fillRectangleRingWithThickness(brush, x1, y1, w-1, h-1, 1);
    28          
    29          brush.setASColor(highlight);
    30          g.fillRectangleRingWithThickness(brush, x1+1, y1+1, w-2, h-2, 1);
    31          
    32          brush.setASColor(shadow);
    33          g.fillRectangle(brush, x1+w-2, y1+1, 1, h-2);
    34          g.fillRectangle(brush, x1+1, y1+h-2, w-2, 1);
    35  	}
    36  	
    37  	public static function drawLoweredBezel(g:Graphics, r:Rectangle,
    38                                      shadow:ASColor, darkShadow:ASColor, 
    39                                   highlight:ASColor, lightHighlight:ASColor):Void{
    40                                   	
    41  		var x1:Number = r.x;
    42  		var y1:Number = r.y;
    43  		var w:Number = r.width;
    44  		var h:Number = r.height;
    45  		
    46          var brush:SolidBrush=new SolidBrush(darkShadow,100);
    47  		g.fillRectangleRingWithThickness(brush, x1, y1, w, h, 1);
    48  		
    49  		brush.setASColor(darkShadow);
    50          g.fillRectangleRingWithThickness(brush, x1, y1, w-1, h-1, 1);
    51          
    52          brush.setASColor(highlight);
    53          g.fillRectangleRingWithThickness(brush, x1+1, y1+1, w-2, h-2, 1);
    54          
    55          brush.setASColor(highlight);
    56          g.fillRectangle(brush, x1+w-2, y1+1, 1, h-2);
    57          g.fillRectangle(brush, x1+1, y1+h-2, w-2, 1);
    58  	}
    59  	
    60  	public static function drawBezel(g:Graphics, r:Rectangle, isPressed:Boolean, 
    61                                      shadow:ASColor, darkShadow:ASColor, 
    62                                   highlight:ASColor, lightHighlight:ASColor):Void{
    63                                   
    64          if(isPressed) {
    65              drawLoweredBezel(g, r, shadow, darkShadow, highlight, lightHighlight);
    66          }else {
    67          	drawUpperedBezel(g, r, shadow, darkShadow, highlight, lightHighlight);
    68          }
    69  	}
    70  	
    71  }
    72