summaryrefslogtreecommitdiff
path: root/NET/worlds/console/TextImageButtons.java
diff options
context:
space:
mode:
Diffstat (limited to 'NET/worlds/console/TextImageButtons.java')
-rw-r--r--NET/worlds/console/TextImageButtons.java137
1 files changed, 137 insertions, 0 deletions
diff --git a/NET/worlds/console/TextImageButtons.java b/NET/worlds/console/TextImageButtons.java
new file mode 100644
index 0000000..637a996
--- /dev/null
+++ b/NET/worlds/console/TextImageButtons.java
@@ -0,0 +1,137 @@
+/* */ package NET.worlds.console;
+/* */
+/* */ import java.awt.Color;
+/* */ import java.awt.Dimension;
+/* */ import java.awt.Font;
+/* */ import java.awt.FontMetrics;
+/* */ import java.awt.Graphics;
+/* */ import java.awt.Toolkit;
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ class TextImageButtons
+/* */ extends ImageButtons
+/* */ {
+/* */ private static final long serialVersionUID = -3744924750348174006L;
+/* */ private int buttonCount;
+/* */ private int[] xText;
+/* */ private String[] texts;
+/* */ private int[] buttonBottoms;
+/* */ private Font font;
+/* 60 */ private static Font defFont = new Font(Console.message("ButtonFont"),
+/* 61 */ 0, 9);
+/* */
+/* */ private static final int yBaseline = 4;
+/* */
+/* */
+/* */ public static Dimension measure(String text, Font f)
+/* */ {
+/* 68 */ Dimension sz = new Dimension();
+/* 69 */ FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(f);
+/* 70 */ sz.width = fm.stringWidth(text);
+/* 71 */ sz.height = fm.getHeight();
+/* 72 */ return sz;
+/* */ }
+/* */
+/* */
+/* */
+/* */ public TextImageButtons(String imageName, int buttonWidth, int[] buttonHeights, int[] textLefts, String[] texts, ImageButtonsCallback handler)
+/* */ {
+/* 79 */ this(imageName, buttonWidth, buttonHeights, textLefts, texts, handler, defFont);
+/* */ }
+/* */
+/* */
+/* */ public TextImageButtons(String imageName, int buttonWidth, int[] buttonHeights, int[] textLefts, String[] texts, ImageButtonsCallback handler, Font f)
+/* */ {
+/* 85 */ super(imageName, buttonWidth, buttonHeights, handler);
+/* 86 */ this.xText = textLefts;
+/* 87 */ this.texts = texts;
+/* 88 */ this.buttonCount = buttonHeights.length;
+/* 89 */ this.font = f;
+/* */
+/* 91 */ this.buttonBottoms = new int[this.buttonCount];
+/* 92 */ int lastBottom = 0;
+/* 93 */ for (int i = 0; i < this.buttonCount; i++) {
+/* 94 */ lastBottom += buttonHeights[i];
+/* 95 */ this.buttonBottoms[i] = lastBottom;
+/* */ }
+/* */ }
+/* */
+/* */ public void setTexts(String[] newTexts) {
+/* 100 */ assert (newTexts.length == this.texts.length);
+/* 101 */ this.texts = newTexts;
+/* 102 */ repaint();
+/* */ }
+/* */
+/* */ public String getText(int i) {
+/* 106 */ return this.texts[i];
+/* */ }
+/* */
+/* */ protected Graphics drawButton(Graphics g, int button, int state)
+/* */ {
+/* 111 */ return drawButton(g, button, state, Color.white);
+/* */ }
+/* */
+/* */ protected Graphics drawButton(Graphics g, int button, int state, Color c)
+/* */ {
+/* 116 */ if ((button >= 0) && (button < this.buttonCount) && (this.texts[button] != null)) {
+/* 117 */ g = super.drawButton(g, button, state);
+/* */
+/* 119 */ if ((g != null) || ((g = getGraphics()) != null)) {
+/* 120 */ g.setColor(c);
+/* */
+/* 122 */ g.setFont(this.font);
+/* 123 */ g.drawString(this.texts[button], this.xText[button],
+/* 124 */ this.buttonBottoms[button] - 4);
+/* */ }
+/* */ } else {
+/* 127 */ g = super.drawButton(g, button, 0);
+/* */ }
+/* 129 */ return g;
+/* */ }
+/* */ }
+
+
+/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\console\TextImageButtons.class
+ * Java compiler version: 6 (50.0)
+ * JD-Core Version: 0.7.1
+ */ \ No newline at end of file