hooks: track software mirror mouse

This commit is contained in:
zeruth
2020-05-13 02:56:37 -04:00
parent baa0df85ba
commit b2c9990aad
2 changed files with 13 additions and 1 deletions

View File

@@ -66,6 +66,7 @@ import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.events.DrawFinished; import net.runelite.client.events.DrawFinished;
import net.runelite.client.input.KeyManager; import net.runelite.client.input.KeyManager;
import net.runelite.client.input.MouseListener;
import net.runelite.client.input.MouseManager; import net.runelite.client.input.MouseManager;
import net.runelite.client.task.Scheduler; import net.runelite.client.task.Scheduler;
import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.ClientUI;
@@ -75,6 +76,7 @@ import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.OverlayRenderer; import net.runelite.client.ui.overlay.OverlayRenderer;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import net.runelite.client.util.DeferredEventBus; import net.runelite.client.util.DeferredEventBus;
import net.runelite.client.util.ImageUtil;
import net.runelite.client.util.RSTimeUnit; import net.runelite.client.util.RSTimeUnit;
/** /**
@@ -97,6 +99,11 @@ public class Hooks implements Callbacks
private static final BeforeRender BEFORE_RENDER = BeforeRender.INSTANCE; private static final BeforeRender BEFORE_RENDER = BeforeRender.INSTANCE;
private static final DrawFinished drawFinishedEvent = new DrawFinished(); private static final DrawFinished drawFinishedEvent = new DrawFinished();
private int mouseX = 0;
private int mouseY = 0;
private final Image cursor = ImageUtil.getResourceStreamFromClass(Hooks.class, "cursor.png");
@Inject @Inject
private EventBus eventBus; private EventBus eventBus;
@@ -287,12 +294,16 @@ public class Hooks implements Callbacks
@Override @Override
public MouseEvent mouseDragged(MouseEvent mouseEvent) public MouseEvent mouseDragged(MouseEvent mouseEvent)
{ {
mouseX = mouseEvent.getX();
mouseY = mouseEvent.getY();
return mouseManager.processMouseDragged(mouseEvent); return mouseManager.processMouseDragged(mouseEvent);
} }
@Override @Override
public MouseEvent mouseMoved(MouseEvent mouseEvent) public MouseEvent mouseMoved(MouseEvent mouseEvent)
{ {
mouseX = mouseEvent.getX();
mouseY = mouseEvent.getY();
return mouseManager.processMouseMoved(mouseEvent); return mouseManager.processMouseMoved(mouseEvent);
} }
@@ -397,7 +408,8 @@ public class Hooks implements Callbacks
if (client.isMirrored()) if (client.isMirrored())
{ {
drawFinishedEvent.image = finalImage; drawFinishedEvent.image = copy(finalImage);
drawFinishedEvent.image.getGraphics().drawImage(cursor, mouseX, mouseY, null);
eventBus.post(DrawFinished.class, drawFinishedEvent); eventBus.post(DrawFinished.class, drawFinishedEvent);
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB