[Change] Support for Mouse Scrolling

This commit is contained in:
Frank 2022-07-19 15:11:32 +02:00
parent cee7a6daa5
commit 522c59e5a7

View file

@ -20,7 +20,7 @@ public class VerticalScroll<R extends ComponentRenderer, RS extends ScrollerRend
protected Rectangle viewBounds; protected Rectangle viewBounds;
protected int dist; protected int dist;
protected int scrollerY; protected double scrollerY;
protected int scrollerHeight; protected int scrollerHeight;
protected int travel; protected int travel;
protected int topOffset; protected int topOffset;
@ -163,7 +163,7 @@ public class VerticalScroll<R extends ComponentRenderer, RS extends ScrollerRend
} }
protected int saveScrollerY() { protected int saveScrollerY() {
return Math.max(0, Math.min(travel, scrollerY)); return (int) Math.max(0, Math.min(travel, scrollerY));
} }
protected int scrollerOffset() { protected int scrollerOffset() {
@ -222,10 +222,17 @@ public class VerticalScroll<R extends ComponentRenderer, RS extends ScrollerRend
return false; return false;
} }
@Override @Override
public boolean mouseScrolled(double x, double y, double f) { public boolean mouseScrolled(double x, double y, double delta) {
if (child != null && relativeBounds.contains(x, y)) boolean didCapture = false;
return child.mouseScrolled(x - relativeBounds.left, y - relativeBounds.top - scrollerOffset(), f); if (child != null && relativeBounds.contains(x, y)) {
didCapture = child.mouseScrolled(x - relativeBounds.left, y - relativeBounds.top - scrollerOffset(), delta);
}
if (!didCapture) {
scrollerY = scrollerY + delta;
return true;
}
return false; return false;
} }