#35 CJK font wip
[fanfix.git] / src / jexer / TButton.java
index 83ff2d241f0c1c31dc27b45c65285c346f87b417..33fe73328b1773f9b42225537a70771fc8c8b6d6 100644 (file)
@@ -34,7 +34,8 @@ import jexer.bits.GraphicsChars;
 import jexer.bits.MnemonicString;
 import jexer.event.TKeypressEvent;
 import jexer.event.TMouseEvent;
-import static jexer.TKeypress.*;
+import static jexer.TKeypress.kbEnter;
+import static jexer.TKeypress.kbSpace;
 
 /**
  * TButton implements a simple button.  To make the button do something, pass
@@ -69,7 +70,8 @@ public class TButton extends TWidget {
     private TAction action;
 
     /**
-     * The background color used for the button "shadow".
+     * The background color used for the button "shadow", or null for "no
+     * shadow".
      */
     private CellAttributes shadowColor;
 
@@ -240,10 +242,12 @@ public class TButton extends TWidget {
             putStringXY(1, 0, mnemonic.getRawLabel(), buttonColor);
             putCharXY(getWidth() - 2, 0, ' ', buttonColor);
 
-            putCharXY(getWidth() - 1, 0,
-                GraphicsChars.CP437[0xDC], shadowColor);
-            hLineXY(1, 1, getWidth() - 1,
-                GraphicsChars.CP437[0xDF], shadowColor);
+            if (shadowColor != null) {
+                putCharXY(getWidth() - 1, 0,
+                    GraphicsChars.CP437[0xDC], shadowColor);
+                hLineXY(1, 1, getWidth() - 1,
+                    GraphicsChars.CP437[0xDF], shadowColor);
+            }
         }
         if (mnemonic.getShortcutIdx() >= 0) {
             if (inButtonPress) {
@@ -281,15 +285,20 @@ public class TButton extends TWidget {
     }
 
     /**
-     * Set the background color used for the button "shadow".
+     * Set the background color used for the button "shadow".  If null, no
+     * shadow will be drawn.
      *
-     * @param color the new background color
+     * @param color the new background color, or null for no shadow
      */
     public void setShadowColor(final CellAttributes color) {
-        shadowColor = new CellAttributes();
-        shadowColor.setTo(color);
-        shadowColor.setForeColor(Color.BLACK);
-        shadowColor.setBold(false);
+        if (color != null) {
+            shadowColor = new CellAttributes();
+            shadowColor.setTo(color);
+            shadowColor.setForeColor(Color.BLACK);
+            shadowColor.setBold(false);
+        } else {
+            shadowColor = null;
+        }
     }
 
 }