Merge pull request #2455 from xKylee/upstream2
upstream: i actually hate git desktop
This commit is contained in:
@@ -33,6 +33,9 @@ import javax.inject.Singleton;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class MouseManager
|
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<MouseListener> mouseListeners = new CopyOnWriteArrayList<>();
|
||||||
private final List<MouseWheelListener> mouseWheelListeners = new CopyOnWriteArrayList<>();
|
private final List<MouseWheelListener> mouseWheelListeners = new CopyOnWriteArrayList<>();
|
||||||
|
|
||||||
@@ -74,6 +77,7 @@ public class MouseManager
|
|||||||
|
|
||||||
public MouseEvent processMousePressed(MouseEvent mouseEvent)
|
public MouseEvent processMousePressed(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
|
checkExtraMouseButtons(mouseEvent);
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
{
|
{
|
||||||
mouseEvent = mouseListener.mousePressed(mouseEvent);
|
mouseEvent = mouseListener.mousePressed(mouseEvent);
|
||||||
@@ -83,6 +87,7 @@ public class MouseManager
|
|||||||
|
|
||||||
public MouseEvent processMouseReleased(MouseEvent mouseEvent)
|
public MouseEvent processMouseReleased(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
|
checkExtraMouseButtons(mouseEvent);
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
{
|
{
|
||||||
mouseEvent = mouseListener.mouseReleased(mouseEvent);
|
mouseEvent = mouseListener.mouseReleased(mouseEvent);
|
||||||
@@ -92,6 +97,7 @@ public class MouseManager
|
|||||||
|
|
||||||
public MouseEvent processMouseClicked(MouseEvent mouseEvent)
|
public MouseEvent processMouseClicked(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
|
checkExtraMouseButtons(mouseEvent);
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
{
|
{
|
||||||
mouseEvent = mouseListener.mouseClicked(mouseEvent);
|
mouseEvent = mouseListener.mouseClicked(mouseEvent);
|
||||||
@@ -99,6 +105,17 @@ public class MouseManager
|
|||||||
return mouseEvent;
|
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)
|
public MouseEvent processMouseEntered(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
@@ -143,4 +160,4 @@ public class MouseManager
|
|||||||
}
|
}
|
||||||
return mouseWheelEvent;
|
return mouseWheelEvent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -69,4 +69,8 @@ public abstract class Overlay implements LayoutableRenderableEntity
|
|||||||
{
|
{
|
||||||
return this.getClass().getSimpleName();
|
return this.getClass().getSimpleName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onMouseOver()
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
if (!isResizeable)
|
if (!isResizeable)
|
||||||
{
|
{
|
||||||
// On fixed mode, ABOVE_CHATBOX_RIGHT is in the same location as
|
// 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
|
// Just use BOTTOM_RIGHT and TOP_RIGHT to prevent overlays from
|
||||||
// drawing over each other.
|
// drawing over each other.
|
||||||
switch (overlayPosition)
|
switch (overlayPosition)
|
||||||
@@ -316,9 +316,14 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
graphics.setColor(previous);
|
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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user