diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2019-12-18 10:27:18 +0100 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2019-12-18 10:27:18 +0100 |
commit | b5dee2dc2d6efd124d2e26a3f1c96d28e55329e3 (patch) | |
tree | b86c75b58e9ac65772da198e7f89a424293887f2 | |
parent | dd535dc97129dbac3e0521826343e5002f43777b (diff) | |
download | gdx-boardgame-b5dee2dc2d6efd124d2e26a3f1c96d28e55329e3.zip gdx-boardgame-b5dee2dc2d6efd124d2e26a3f1c96d28e55329e3.tar.gz |
ui.List : follow taint() computeGeometry() logic
-rw-r--r-- | core/src/ch/asynk/gdx/boardgame/ui/List.java | 7 | ||||
-rw-r--r-- | test/src/ch/asynk/gdx/boardgame/test/UiScreen.java | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/core/src/ch/asynk/gdx/boardgame/ui/List.java b/core/src/ch/asynk/gdx/boardgame/ui/List.java index 19f08f2..e9f874a 100644 --- a/core/src/ch/asynk/gdx/boardgame/ui/List.java +++ b/core/src/ch/asynk/gdx/boardgame/ui/List.java @@ -56,6 +56,11 @@ public class List extends Element { unselect(); this.items = items; + taint(); + } + + @Override public void computeGeometry() + { float w = 0f; for (Item e: items) { layout.setText(font, e.s()); @@ -65,12 +70,14 @@ public class List extends Element rect.width = w + (2 * padding); rect.height = (itemHeight * items.size()) + (2 * padding) - spacing; + super.computeGeometry(); } @Override public void draw(Batch batch) { if (!visible) return; + if (tainted) computeGeometry(); float x = getInnerX(); float y = getInnerTop(); for (Item e : items) { diff --git a/test/src/ch/asynk/gdx/boardgame/test/UiScreen.java b/test/src/ch/asynk/gdx/boardgame/test/UiScreen.java index a0167dc..ec06a3f 100644 --- a/test/src/ch/asynk/gdx/boardgame/test/UiScreen.java +++ b/test/src/ch/asynk/gdx/boardgame/test/UiScreen.java @@ -188,6 +188,7 @@ class MyList extends Patch // update dimensions title.computeGeometry(); + list.computeGeometry(); rect.width = title.getWidth() + pp; rect.height = title.getHeight() + pp + list.getHeight() + 15; if ((list.getWidth() + pp) > rect.width) rect.width = list.getWidth() + pp; |