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);
}
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)

View File

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

View File

@@ -24,6 +24,12 @@
*/
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();
}
public static void mouseWheelMoved(MouseWheelEvent event)
public static MouseWheelEvent mouseWheelMoved(MouseWheelEvent event)
{
throw new RuntimeException();
}

View File

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