Merge pull request #2455 from xKylee/upstream2

upstream: i actually hate git desktop
This commit is contained in:
Kyle
2020-03-23 20:40:44 +00:00
committed by GitHub
3 changed files with 30 additions and 4 deletions

View File

@@ -33,6 +33,9 @@ import javax.inject.Singleton;
@Singleton
public class MouseManager
{
// Button numbers greater than BUTTON3 have no constant identifier
private static final int MOUSE_BUTTON_4 = 4;
private final List<MouseListener> mouseListeners = new CopyOnWriteArrayList<>();
private final List<MouseWheelListener> mouseWheelListeners = new CopyOnWriteArrayList<>();
@@ -74,6 +77,7 @@ public class MouseManager
public MouseEvent processMousePressed(MouseEvent mouseEvent)
{
checkExtraMouseButtons(mouseEvent);
for (MouseListener mouseListener : mouseListeners)
{
mouseEvent = mouseListener.mousePressed(mouseEvent);
@@ -83,6 +87,7 @@ public class MouseManager
public MouseEvent processMouseReleased(MouseEvent mouseEvent)
{
checkExtraMouseButtons(mouseEvent);
for (MouseListener mouseListener : mouseListeners)
{
mouseEvent = mouseListener.mouseReleased(mouseEvent);
@@ -92,6 +97,7 @@ public class MouseManager
public MouseEvent processMouseClicked(MouseEvent mouseEvent)
{
checkExtraMouseButtons(mouseEvent);
for (MouseListener mouseListener : mouseListeners)
{
mouseEvent = mouseListener.mouseClicked(mouseEvent);
@@ -99,6 +105,17 @@ public class MouseManager
return mouseEvent;
}
private void checkExtraMouseButtons(MouseEvent mouseEvent)
{
// Prevent extra mouse buttins from being passed into the client,
// as it treats them all as left click
int button = mouseEvent.getButton();
if (button >= MOUSE_BUTTON_4)
{
mouseEvent.consume();
}
}
public MouseEvent processMouseEntered(MouseEvent mouseEvent)
{
for (MouseListener mouseListener : mouseListeners)
@@ -143,4 +160,4 @@ public class MouseManager
}
return mouseWheelEvent;
}
}
}

View File

@@ -69,4 +69,8 @@ public abstract class Overlay implements LayoutableRenderableEntity
{
return this.getClass().getSimpleName();
}
public void onMouseOver()
{
}
}

View File

@@ -235,7 +235,7 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
if (!isResizeable)
{
// On fixed mode, ABOVE_CHATBOX_RIGHT is in the same location as
// BOTTOM_RIGHT and CANVAST_TOP_RIGHT is same as TOP_RIGHT.
// BOTTOM_RIGHT and CANVAS_TOP_RIGHT is same as TOP_RIGHT.
// Just use BOTTOM_RIGHT and TOP_RIGHT to prevent overlays from
// drawing over each other.
switch (overlayPosition)
@@ -316,9 +316,14 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
graphics.setColor(previous);
}
if (menuEntries == null && !client.isMenuOpen() && !client.isSpellSelected() && bounds.contains(mouse))
if (!client.isMenuOpen() && !client.isSpellSelected() && bounds.contains(mouse))
{
menuEntries = createRightClickMenuEntries(overlay);
if (menuEntries == null)
{
menuEntries = createRightClickMenuEntries(overlay);
}
overlay.onMouseOver();
}
}
}