hooks: track software mirror mouse
This commit is contained in:
@@ -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 |
Reference in New Issue
Block a user