overlay: make alt drag hotkey configurable
This commit is contained in:
@@ -464,4 +464,15 @@ public interface RuneLiteConfig extends Config
|
||||
{
|
||||
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.RenderingHints;
|
||||
import java.awt.Stroke;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.geom.AffineTransform;
|
||||
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.Subscribe;
|
||||
import net.runelite.client.events.OverlayMenuClicked;
|
||||
import net.runelite.client.input.KeyListener;
|
||||
import net.runelite.client.input.KeyManager;
|
||||
import net.runelite.client.input.MouseAdapter;
|
||||
import net.runelite.client.input.MouseManager;
|
||||
import net.runelite.client.ui.ClientUI;
|
||||
import net.runelite.client.ui.JagexColors;
|
||||
import net.runelite.client.util.ColorUtil;
|
||||
import net.runelite.client.util.HotkeyListener;
|
||||
import org.slf4j.Marker;
|
||||
import org.slf4j.MarkerFactory;
|
||||
|
||||
@Singleton
|
||||
@Slf4j
|
||||
public class OverlayRenderer extends MouseAdapter implements KeyListener
|
||||
public class OverlayRenderer extends MouseAdapter
|
||||
{
|
||||
private static final Marker DEDUPLICATE = MarkerFactory.getMarker("DEDUPLICATE");
|
||||
private static final int BORDER = 5;
|
||||
@@ -112,6 +111,8 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
||||
private boolean isResizeable;
|
||||
private OverlayBounds emptySnapCorners, snapCorners;
|
||||
|
||||
private final HotkeyListener hotkeyListener;
|
||||
|
||||
@Inject
|
||||
private OverlayRenderer(
|
||||
final Client client,
|
||||
@@ -127,7 +128,27 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
||||
this.runeLiteConfig = runeLiteConfig;
|
||||
this.clientUI = clientUI;
|
||||
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);
|
||||
eventBus.register(this);
|
||||
}
|
||||
@@ -692,30 +713,6 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
||||
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)
|
||||
{
|
||||
if (!isResizeable && (layer == OverlayLayer.ABOVE_SCENE || layer == OverlayLayer.UNDER_WIDGETS))
|
||||
|
||||
Reference in New Issue
Block a user