diff --git a/src/main/java/de/extio/game_engine/renderer/container/ScrollArea.java b/src/main/java/de/extio/game_engine/renderer/container/ScrollArea.java index 2b87ad1..2bc50f5 100644 --- a/src/main/java/de/extio/game_engine/renderer/container/ScrollArea.java +++ b/src/main/java/de/extio/game_engine/renderer/container/ScrollArea.java @@ -83,6 +83,10 @@ public class ScrollArea implements WindowComponent { protected void onMouseWheelEvent(final MouseClickEvent event) { if (event.getButton() == 4 || event.getButton() == 5) { + if (Window.getContainerUnderCursor(event) != this.parent) { + return; + } + if (!SpatialUtils2.intersects( this.relativeArea.getPosition().add(this.parent.getAbsolutePosition()), this.relativeArea.getDimension(), diff --git a/src/main/java/de/extio/game_engine/renderer/container/Window.java b/src/main/java/de/extio/game_engine/renderer/container/Window.java index cad9024..f5ffc1d 100644 --- a/src/main/java/de/extio/game_engine/renderer/container/Window.java +++ b/src/main/java/de/extio/game_engine/renderer/container/Window.java @@ -213,7 +213,7 @@ public class Window extends AbstractClientModule implements InitializingBean { } protected void onMouseClickEvent(final MouseClickEvent event) { - final Window containerUnderCursor = this.getContainerUnderCursor(event); + final Window containerUnderCursor = getContainerUnderCursor(event); if (containerUnderCursor == this) { if (event.isPressed() && !this.dragging) { this.zIndexToTop(); @@ -355,7 +355,7 @@ public class Window extends AbstractClientModule implements InitializingBean { return this.normalizedArea.getDimension().toImmutableCoordI2(); } - private Window getContainerUnderCursor(final MouseEvent event) { + public static Window getContainerUnderCursor(final MouseEvent event) { Window containerUnderCursor = null; synchronized (DISPLAYED_CONTAINERS) { short zIndexHighest = -1; diff --git a/src/main/java/de/extio/game_engine/renderer/g2d/control/components/CustomWindowPanel.java b/src/main/java/de/extio/game_engine/renderer/g2d/control/components/CustomWindowPanel.java index 7f1ca35..4b97282 100644 --- a/src/main/java/de/extio/game_engine/renderer/g2d/control/components/CustomWindowPanel.java +++ b/src/main/java/de/extio/game_engine/renderer/g2d/control/components/CustomWindowPanel.java @@ -92,6 +92,7 @@ public class CustomWindowPanel extends Component { public void mouseWheelMoved(final MouseWheelEvent e) { if (CustomWindowPanel.this.getParent() instanceof final G2DMainFrame mainFrame) { mainFrame.handleWheelMoved(e, ImmutableCoordI2.create(CustomWindowPanel.this.getX(), CustomWindowPanel.this.getY())); + e.consume(); } } });