Merge pull request #2451 from xKylee/upupandaway

upstream: merge
This commit is contained in:
Kyle
2020-03-23 13:46:35 +00:00
committed by GitHub
4 changed files with 35 additions and 4 deletions

View File

@@ -1817,6 +1817,11 @@ public interface Client extends GameShell
* Get the item index of the item being dragged on an if1 widget
*/
int getIf1DraggedItemIndex();
/**
* If a widget is in target mode?
*/
boolean getSpellSelected();
/**
* Sets if a widget is in target mode

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)

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.getSpellSelected() && bounds.contains(mouse))
{
menuEntries = createRightClickMenuEntries(overlay);
if (menuEntries == null)
{
menuEntries = createRightClickMenuEntries(overlay);
}
overlay.onMouseOver();
}
}
}
@@ -634,4 +639,4 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
return entries;
}
}
}