changeset 178:981a8e20b363

Implement alternative button graphics support.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 16 Mar 2017 10:45:39 +0200
parents 9f04e8ab180a
children ac5cf78a1cd2
files game/IDMButton.java
diffstat 1 files changed, 18 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/game/IDMButton.java	Thu Mar 16 10:45:13 2017 +0200
+++ b/game/IDMButton.java	Thu Mar 16 10:45:39 2017 +0200
@@ -16,17 +16,17 @@
 {
     enum State { FOCUSED, PRESSED, NORMAL }
     State state;
-    static BufferedImage imgOrigUnpressed, imgOrigPressed;
-    static BufferedImage imgUnpressed, imgPressed;
+    BufferedImage imgOrigUnpressed, imgOrigPressed;
+    BufferedImage imgUnpressed, imgPressed;
     Font font;
     FontMetrics metrics;
     String text;
     boolean active;
 
-    public IDMButton(IDMPoint pos, int keyCode, Font font, String text)
+    public IDMButton(IDMPoint pos, String prefix, int keyCode, Font font, String text)
     {
         super(pos);
-        loadImages();
+        loadImages(prefix);
         setSize(imgOrigUnpressed.getWidth(), imgOrigUnpressed.getHeight());
         setScale(1, 1);
 
@@ -38,22 +38,30 @@
         active = false;
     }
 
+    public IDMButton(IDMPoint pos, int keyCode, Font font, String text)
+    {
+        this(pos, "button1", keyCode, font, text);
+    }
+
+    public IDMButton(float x, float y, String prefix, int keyCode, Font font, String text)
+    {
+        this(new IDMPoint(x, y), prefix, keyCode, font, text);
+    }
+
     public IDMButton(float x, float y, int keyCode, Font font, String text)
     {
         this(new IDMPoint(x, y), keyCode, font, text);
     }
 
-    private static void loadImages()
+
+    public void loadImages(String prefix)
     {
-        if (imgUnpressed != null && imgPressed != null)
-            return;
-
         try
         {
-            ResourceLoader res = new ResourceLoader("graphics/button1_up.png");
+            ResourceLoader res = new ResourceLoader("graphics/"+ prefix +"_up.png");
             imgOrigUnpressed = ImageIO.read(res.getStream());
 
-            res = new ResourceLoader("graphics/button1_down.png");
+            res = new ResourceLoader("graphics/"+ prefix +"_down.png");
             imgOrigPressed = ImageIO.read(res.getStream());
         }
         catch (IOException e)