overlay: make alt drag hotkey configurable
This commit is contained in:
@@ -464,4 +464,15 @@ public interface RuneLiteConfig extends Config
|
|||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "dragHotkey",
|
||||||
|
name = "Drag Hotkey",
|
||||||
|
description = "Configures the hotkey used to drag UI elements around",
|
||||||
|
position = 52
|
||||||
|
)
|
||||||
|
default Keybind dragHotkey()
|
||||||
|
{
|
||||||
|
return Keybind.ALT;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ import java.awt.Point;
|
|||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.awt.RenderingHints;
|
import java.awt.RenderingHints;
|
||||||
import java.awt.Stroke;
|
import java.awt.Stroke;
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.geom.AffineTransform;
|
import java.awt.geom.AffineTransform;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@@ -60,19 +59,19 @@ import net.runelite.client.config.RuneLiteConfig;
|
|||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.events.OverlayMenuClicked;
|
import net.runelite.client.events.OverlayMenuClicked;
|
||||||
import net.runelite.client.input.KeyListener;
|
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.input.MouseAdapter;
|
import net.runelite.client.input.MouseAdapter;
|
||||||
import net.runelite.client.input.MouseManager;
|
import net.runelite.client.input.MouseManager;
|
||||||
import net.runelite.client.ui.ClientUI;
|
import net.runelite.client.ui.ClientUI;
|
||||||
import net.runelite.client.ui.JagexColors;
|
import net.runelite.client.ui.JagexColors;
|
||||||
import net.runelite.client.util.ColorUtil;
|
import net.runelite.client.util.ColorUtil;
|
||||||
|
import net.runelite.client.util.HotkeyListener;
|
||||||
import org.slf4j.Marker;
|
import org.slf4j.Marker;
|
||||||
import org.slf4j.MarkerFactory;
|
import org.slf4j.MarkerFactory;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class OverlayRenderer extends MouseAdapter implements KeyListener
|
public class OverlayRenderer extends MouseAdapter
|
||||||
{
|
{
|
||||||
private static final Marker DEDUPLICATE = MarkerFactory.getMarker("DEDUPLICATE");
|
private static final Marker DEDUPLICATE = MarkerFactory.getMarker("DEDUPLICATE");
|
||||||
private static final int BORDER = 5;
|
private static final int BORDER = 5;
|
||||||
@@ -112,6 +111,8 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
private boolean isResizeable;
|
private boolean isResizeable;
|
||||||
private OverlayBounds emptySnapCorners, snapCorners;
|
private OverlayBounds emptySnapCorners, snapCorners;
|
||||||
|
|
||||||
|
private final HotkeyListener hotkeyListener;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private OverlayRenderer(
|
private OverlayRenderer(
|
||||||
final Client client,
|
final Client client,
|
||||||
@@ -127,7 +128,27 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
this.runeLiteConfig = runeLiteConfig;
|
this.runeLiteConfig = runeLiteConfig;
|
||||||
this.clientUI = clientUI;
|
this.clientUI = clientUI;
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
keyManager.registerKeyListener(this);
|
|
||||||
|
this.hotkeyListener = new HotkeyListener(runeLiteConfig::dragHotkey)
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void hotkeyPressed()
|
||||||
|
{
|
||||||
|
inOverlayManagingMode = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void hotkeyReleased()
|
||||||
|
{
|
||||||
|
if (inOverlayManagingMode)
|
||||||
|
{
|
||||||
|
inOverlayManagingMode = false;
|
||||||
|
resetOverlayManagementMode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
keyManager.registerKeyListener(hotkeyListener);
|
||||||
mouseManager.registerMouseListener(this);
|
mouseManager.registerMouseListener(this);
|
||||||
eventBus.register(this);
|
eventBus.register(this);
|
||||||
}
|
}
|
||||||
@@ -692,30 +713,6 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
return mouseEvent;
|
return mouseEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void keyTyped(KeyEvent e)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void keyPressed(KeyEvent e)
|
|
||||||
{
|
|
||||||
if (e.isAltDown())
|
|
||||||
{
|
|
||||||
inOverlayManagingMode = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void keyReleased(KeyEvent e)
|
|
||||||
{
|
|
||||||
if (!e.isAltDown() && inOverlayManagingMode)
|
|
||||||
{
|
|
||||||
inOverlayManagingMode = false;
|
|
||||||
resetOverlayManagementMode();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void safeRender(Client client, Overlay overlay, OverlayLayer layer, Graphics2D graphics, Point point)
|
private void safeRender(Client client, Overlay overlay, OverlayLayer layer, Graphics2D graphics, Point point)
|
||||||
{
|
{
|
||||||
if (!isResizeable && (layer == OverlayLayer.ABOVE_SCENE || layer == OverlayLayer.UNDER_WIDGETS))
|
if (!isResizeable && (layer == OverlayLayer.ABOVE_SCENE || layer == OverlayLayer.UNDER_WIDGETS))
|
||||||
|
|||||||
Reference in New Issue
Block a user