Add support for proxying mouseWheelMoved events

This commit is contained in:
Lotto
2018-03-03 00:44:56 +01:00
parent d1d45eb11f
commit d0aa72f61b
5 changed files with 14 additions and 7 deletions

View File

@@ -188,9 +188,9 @@ public class Hooks
return mouseManager.processMouseMoved(mouseEvent); return mouseManager.processMouseMoved(mouseEvent);
} }
public static void mouseWheelMoved(MouseWheelEvent event) public static MouseWheelEvent mouseWheelMoved(MouseWheelEvent event)
{ {
mouseManager.processMouseWheelMoved(event); return mouseManager.processMouseWheelMoved(event);
} }
public static void keyPressed(KeyEvent keyEvent) public static void keyPressed(KeyEvent keyEvent)

View File

@@ -125,11 +125,12 @@ public class MouseManager
return mouseEvent; return mouseEvent;
} }
public void processMouseWheelMoved(MouseWheelEvent mouseWheelEvent) public MouseWheelEvent processMouseWheelMoved(MouseWheelEvent mouseWheelEvent)
{ {
for (MouseWheelListener mouseWheelListener : mouseWheelListeners) for (MouseWheelListener mouseWheelListener : mouseWheelListeners)
{ {
mouseWheelListener.mouseWheelMoved(mouseWheelEvent); mouseWheelEvent = mouseWheelListener.mouseWheelMoved(mouseWheelEvent);
} }
return mouseWheelEvent;
} }
} }

View File

@@ -24,6 +24,12 @@
*/ */
package net.runelite.client.input; package net.runelite.client.input;
public interface MouseWheelListener extends java.awt.event.MouseWheelListener import java.awt.event.MouseWheelEvent;
public abstract class MouseWheelListener
{ {
public MouseWheelEvent mouseWheelMoved(MouseWheelEvent event)
{
return event;
}
} }

View File

@@ -83,7 +83,7 @@ public class Hooks
throw new RuntimeException(); throw new RuntimeException();
} }
public static void mouseWheelMoved(MouseWheelEvent event) public static MouseWheelEvent mouseWheelMoved(MouseWheelEvent event)
{ {
throw new RuntimeException(); throw new RuntimeException();
} }

View File

@@ -41,7 +41,7 @@ public abstract class RSMouseWheelHandlerMixin implements RSMouseWheelHandler
@Replace("mouseWheelMoved") @Replace("mouseWheelMoved")
public void mouseWheelMoved(MouseWheelEvent event) public void mouseWheelMoved(MouseWheelEvent event)
{ {
Hooks.mouseWheelMoved(event); event = Hooks.mouseWheelMoved(event);
if (!event.isConsumed()) if (!event.isConsumed())
{ {
rs$mouseWheelMoved(event); rs$mouseWheelMoved(event);