diff options
Diffstat (limited to 'core/src/ch')
| -rw-r--r-- | core/src/ch/asynk/tankontank/game/hud/Label.java | 61 | 
1 files changed, 19 insertions, 42 deletions
| diff --git a/core/src/ch/asynk/tankontank/game/hud/Label.java b/core/src/ch/asynk/tankontank/game/hud/Label.java index e3f753f..0b6001e 100644 --- a/core/src/ch/asynk/tankontank/game/hud/Label.java +++ b/core/src/ch/asynk/tankontank/game/hud/Label.java @@ -1,63 +1,48 @@  package ch.asynk.tankontank.game.hud; -import com.badlogic.gdx.utils.Disposable;  import com.badlogic.gdx.graphics.g2d.Batch;  import com.badlogic.gdx.graphics.g2d.BitmapFont;  import com.badlogic.gdx.graphics.g2d.BitmapFont.TextBounds; -import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  import ch.asynk.tankontank.engine.gfx.Drawable; -public class Label implements Drawable, Disposable +public class Label extends Widget  { -    public boolean visible; -    public float x; -    public float y; -    private float ry; -    private String text;      private BitmapFont font; +    private float padding; +    private float rx; +    private float ry; +    protected String text; -    public Label(BitmapFont font, String text) -    { -        this.font = font; -        this.text = text; -        this.visible = true; -    } - -    @Override -    public void dispose() +    public Label(BitmapFont font)      { -        font.dispose(); +        this(font, 0f);      } -    public float getWidth() +    public Label(BitmapFont font, float padding)      { -        TextBounds b = getBounds(); -        return b.width; +        this.font = font; +        this.padding = padding;      } -    public float getHeight() +    @Override +    public void dispose()      { -        TextBounds b = getBounds(); -        return b.height;      } +    @Override      public void setPosition(float x, float y)      { -        TextBounds b = getBounds(); -        this.x = x; -        this.y = y; -        this.ry = (y + b.height); -    } - -    public TextBounds getBounds() -    { -        return font.getMultiLineBounds(text); +        TextBounds b = font.getMultiLineBounds((text == null) ? "" : text); +        set(x, y, (b.width + (2 * padding)), (b.height + (2 * padding))); +        this.rx = x + (padding); +        this.ry = (y + padding + b.height);      }      public void write(String text)      {          this.text = text; +        setPosition(rect.x, rect.y);      }      public void write(String text, float x, float y) @@ -70,14 +55,6 @@ public class Label implements Drawable, Disposable      public void draw(Batch batch)      {          if (!visible) return; -        font.drawMultiLine(batch, text, x, ry); -    } - -    @Override -    public void drawDebug(ShapeRenderer shapes) -    { -        if (!visible) return; -        TextBounds b = getBounds(); -        shapes.rect(x, y, b.width, b.height); +        font.drawMultiLine(batch, text, rx, ry);      }  } | 
