aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordani162 <34603476+dani162@users.noreply.github.com>2022-02-27 12:51:35 +0100
committerGitHub <noreply@github.com>2022-02-27 13:51:35 +0200
commit4678523c9713ac01ffa8db2054788cbbfce441f8 (patch)
tree88a97eb0b54fcdf8375c278f11fcec3ab3db0d4b
parentbbea8c7192717f08876c2083f99d6be8edcb2e3d (diff)
downloadLibGui-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.java4
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 >:(