camera: add zoom slider tooltip when dragging

Co-authored-by: superiorser9 <superiorser9@gmail.com>
This commit is contained in:
Adam
2021-06-01 20:19:56 -04:00
parent b1dd93bb0b
commit 8fe75748f9
2 changed files with 34 additions and 12 deletions

View File

@@ -351,4 +351,16 @@ public final class ScriptID
*/ */
@ScriptArguments(integer = 14, string = 3) @ScriptArguments(integer = 14, string = 3)
public static final int CHATBOX_BUILD_LINE_WITH_CLAN = 4483; public static final int CHATBOX_BUILD_LINE_WITH_CLAN = 4483;
/**
* Drag callback for the camera zoom slider in the options side panel.
*/
@ScriptArguments(integer = 3)
public static final int ZOOM_SLIDER_ONDRAG = 833;
/**
* Drag callback for the camera zoom slider in the settings.
*/
@ScriptArguments(integer = 6)
public static final int SETTINGS_ZOOM_SLIDER_ONDRAG = 3896;
} }

View File

@@ -367,7 +367,9 @@ public class CameraPlugin extends Plugin implements KeyListener, MouseListener
@Subscribe @Subscribe
private void onScriptPreFired(ScriptPreFired ev) private void onScriptPreFired(ScriptPreFired ev)
{ {
if (ev.getScriptId() == ScriptID.SETTINGS_SLIDER_CHOOSE_ONOP) switch (ev.getScriptId())
{
case ScriptID.SETTINGS_SLIDER_CHOOSE_ONOP:
{ {
int arg = client.getIntStackSize() - 7; int arg = client.getIntStackSize() - 7;
int[] is = client.getIntStack(); int[] is = client.getIntStack();
@@ -376,6 +378,12 @@ public class CameraPlugin extends Plugin implements KeyListener, MouseListener
{ {
addZoomTooltip(client.getScriptActiveWidget()); addZoomTooltip(client.getScriptActiveWidget());
} }
break;
}
case ScriptID.ZOOM_SLIDER_ONDRAG:
case ScriptID.SETTINGS_ZOOM_SLIDER_ONDRAG:
sliderTooltip = makeSliderTooltip();
break;
} }
} }
@@ -390,12 +398,14 @@ public class CameraPlugin extends Plugin implements KeyListener, MouseListener
private void addZoomTooltip(Widget w) private void addZoomTooltip(Widget w)
{ {
w.setOnMouseRepeatListener((JavaScriptCallback) ev -> w.setOnMouseRepeatListener((JavaScriptCallback) ev -> sliderTooltip = makeSliderTooltip());
}
private Tooltip makeSliderTooltip()
{ {
int value = client.getVar(VarClientInt.CAMERA_ZOOM_RESIZABLE_VIEWPORT); int value = client.getVar(VarClientInt.CAMERA_ZOOM_RESIZABLE_VIEWPORT);
int max = config.innerLimit() ? config.INNER_ZOOM_LIMIT : CameraPlugin.DEFAULT_INNER_ZOOM_LIMIT; int max = config.innerLimit() ? config.INNER_ZOOM_LIMIT : CameraPlugin.DEFAULT_INNER_ZOOM_LIMIT;
sliderTooltip = new Tooltip("Camera Zoom: " + value + " / " + max); return new Tooltip("Camera Zoom: " + value + " / " + max);
});
} }
@Subscribe @Subscribe