From 01628545dfbe1c6e06428e2afa83524d5238b7a0 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Tue, 5 Jun 2018 17:20:00 +0200 Subject: [PATCH] Add mappings for checkClick, mouseCanvasHoverX/Y - Add mappings to use checkClick, mouseCanvasHover X and Y from runescape-client - Add methods to set them to runelite-api Signed-off-by: Tomas Slusny --- .../src/main/java/net/runelite/api/Client.java | 17 +++++++++++++++++ .../java/net/runelite/mixins/RSClientMixin.java | 8 ++++++++ .../main/java/net/runelite/rs/api/RSClient.java | 10 ++++++++++ 3 files changed, 35 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index f074f6010a..e2a20788b9 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -368,6 +368,23 @@ public interface Client extends GameEngine */ int getMouseCurrentButton(); + /** + * Schedules checking of current region tile for next frame, so ${@link Client#getSelectedSceneTile()} ()} will + * return actual value. + * + * @param checkClick when true next frame selected region tile will be updated + */ + void setCheckClick(boolean checkClick); + + /** + * Sets current mouse hover position. This value is automatically updated only when right-clicking in game. + * Setting this value together with ${@link Client#setCheckClick(boolean)} will update ${@link Client#getSelectedSceneTile()} ()} + * for next frame. + * + * @param position current mouse hover position + */ + void setMouseCanvasHoverPosition(Point position); + /** * Gets the currently selected tile (ie. last right clicked tile). * diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 15f270a276..6cbf16500f 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -237,6 +237,14 @@ public abstract class RSClientMixin implements RSClient return AccountType.NORMAL; } + @Inject + @Override + public void setMouseCanvasHoverPosition(final Point position) + { + setMouseCanvasHoverPositionX(position.getX()); + setMouseCanvasHoverPositionY(position.getY()); + } + @Inject @Override public Tile getSelectedSceneTile() diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index ee72bd1e3a..e24612d4e2 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -129,6 +129,16 @@ public interface RSClient extends RSGameEngine, Client @Import("gameState") int getRSGameState(); + @Import("checkClick") + @Override + void setCheckClick(boolean checkClick); + + @Import("mouseX2") + void setMouseCanvasHoverPositionX(int x); + + @Import("mouseY2") + void setMouseCanvasHoverPositionY(int y); + @Import("mouseCurrentButton") @Override int getMouseCurrentButton();