1  /*
     2   Copyright aswing.org, see the LICENCE.txt.
     3  */
     4   
     5  import org.aswing.ASColor;
     6  import org.aswing.Component;
     7  import org.aswing.geom.Dimension;
     8  import org.aswing.geom.Rectangle;
     9  
    10  import org.aswing.graphices.Graphics;
    11  import org.aswing.graphices.SolidBrush;
    12  import org.aswing.plaf.basic.BasicTextComponentUI;
    13  import org.aswing.UIManager;
    14   
    15  class org.aswing.plaf.winxp.WinXpTextAreaUI extends BasicTextComponentUI {
    16  	
    17  	private var textUI:WinXpTextAreaUI;
    18  	
    19  	private var background:ASColor;
    20  	
    21  	public function createInstance():WinXpTextAreaUI{
    22  		if(textUI == null){
    23  			textUI = new WinXpTextAreaUI();
    24  		}
    25  		return textUI;
    26  	}
    27  	
    28  	public function WinXpTextAreaUI(){
    29  		super();
    30  		background = UIManager.getColor("TextArea.background");
    31  		
    32  	}
    33  	
    34  	
    35  	//override this to the sub component's prefix
    36      private function getPropertyPrefix():String {
    37          return "TextArea.";
    38      }
    39      //override this to the sub component's text field property
    40      private function isMultiline():Boolean{
    41      	return true;
    42      }	
    43  	
    44      private function paintBackGround(c:Component, g:Graphics, r:Rectangle):Void{
    45      	if(c.isOpaque()){
    46  			var x:Number = r.x;
    47  			var y:Number = r.y;
    48  			var w:Number = r.width;
    49  			var h:Number = r.height;
    50  			g.fillRectangle(new SolidBrush(background), x,y,w,h);
    51  			
    52  			
    53      	}
    54      	
    55      }
    56      
    57      /**
    58       * Return null, make it to count in JTextFiled's countPreferredSize method.
    59       */
    60      public function getPreferredSize(c:Component):Dimension{
    61      	return null;
    62      }    
    63  }
    64