1
4
5 import org.aswing.ASColor;
6 import org.aswing.border.Border;
7 import org.aswing.Component;
8 import org.aswing.geom.Rectangle;
9 import org.aswing.graphices.Graphics;
10 import org.aswing.graphices.Pen;
11 import org.aswing.Insets;
12 import org.aswing.JTextComponent;
13 import org.aswing.plaf.UIResource;
14 import org.aswing.UIDefaults;
15 import org.aswing.UIManager;
16
17
20 class org.aswing.plaf.basic.border.TextBorder implements Border, UIResource {
21
22
23 private var shadow:ASColor;
24 private var darkShadow:ASColor;
25 private var highlight:ASColor;
26 private var lightHighlight:ASColor;
27
28 public function TextBorder(shadow:ASColor, darkShadow:ASColor, light:ASColor, highlight:ASColor){
29 var table:UIDefaults = UIManager.getLookAndFeelDefaults();
30
31 this.shadow = shadow;
32 this.darkShadow = darkShadow;
33 this.highlight = highlight;
34 this.lightHighlight = light;
35 }
36
37
40 public function paintBorder(c:Component, g:Graphics, r:Rectangle):Void{
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 var textCom:JTextComponent = JTextComponent(c);
46 if(textCom.isEditable() && textCom.isEnabled()){
47
48 g.drawRectangle(new Pen(highlight, 1), x1+0.5, y1+0.5, w-1, h-1);
49
50 }
51 g.drawRectangle(new Pen(lightHighlight, 1), x1+1.5, y1+1.5, w-3, h-3);
52
53 }
54
55 public function getBorderInsets(c:Component, bounds:Rectangle):Insets{
56 return new Insets(2, 2, 2, 2);
57 }
58
59 public function uninstallBorder(c:Component):Void{
60 }
61
62 }
63