diff options
author | dani162 <34603476+dani162@users.noreply.github.com> | 2022-02-27 12:51:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-27 13:51:35 +0200 |
commit | 4678523c9713ac01ffa8db2054788cbbfce441f8 (patch) | |
tree | 88a97eb0b54fcdf8375c278f11fcec3ab3db0d4b | |
parent | bbea8c7192717f08876c2083f99d6be8edcb2e3d (diff) | |
download | LibGui-4678523c9713ac01ffa8db2054788cbbfce441f8.tar.gz LibGui-4678523c9713ac01ffa8db2054788cbbfce441f8.tar.bz2 LibGui-4678523c9713ac01ffa8db2054788cbbfce441f8.zip |
Corrected calculation of the current visible elements in the list panel. (#152)
* Corrected calculation of the current visible elements in the list panel.
The change fixes the problem that the last element/elements in the list are not shown because the margin spaces weren't properly calculated in the visibleCells variable.
Removed unnecessary for-loop run-trough.
* Should add one margin to layoutHeight because the dividing element also has margin
Co-authored-by: dani162 <{ID}+{username}@users.noreply.github.com>
-rw-r--r-- | src/main/java/io/github/cottonmc/cotton/gui/widget/WListPanel.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/io/github/cottonmc/cotton/gui/widget/WListPanel.java b/src/main/java/io/github/cottonmc/cotton/gui/widget/WListPanel.java index 1247d02..5440bd5 100644 --- a/src/main/java/io/github/cottonmc/cotton/gui/widget/WListPanel.java +++ b/src/main/java/io/github/cottonmc/cotton/gui/widget/WListPanel.java @@ -139,7 +139,7 @@ public class WListPanel<D, W extends WWidget> extends WClippedPanel { if (cellHeight<4) cellHeight=4; int layoutHeight = this.getHeight()-(margin*2); - int cellsHigh = Math.max(layoutHeight / cellHeight, 1); // At least one cell is always visible + int cellsHigh = Math.max((layoutHeight+margin) / (cellHeight + margin), 1); // At least one cell is always visible //System.out.println("Adding children..."); @@ -157,7 +157,7 @@ public class WListPanel<D, W extends WWidget> extends WClippedPanel { int presentCells = Math.min(data.size()-scrollOffset, cellsHigh); if (presentCells>0) { - for(int i=0; i<presentCells+1; i++) { + for(int i=0; i<presentCells; i++) { int index = i+scrollOffset; if (index>=data.size()) break; if (index<0) continue; //THIS IS A THING THAT IS HAPPENING >:( |