[IGN-15956] Designer Zooming on Mac

Bit of a weird one but anyone else have issues zooming in/out on Mac in Designer. When I try to zoom in / out with the Trackpad it just doesn’t work and zooms all the way in (on Vision), on Perspective I have to hold Command instead of Control and it just immediately zooms all the way out. It works on Mouse but definitely feels a little clunkier than Windows.

I typically don’t use a mouse with my Mac so was just hoping there’s something I’m missing, system being used is a MacBook Pro (2024 - M4 Pro) and Designer Launcher version is v1.3.3

If anyone has any solutions please let me know!

Hi,

Apologies this post has been up for a while, hoping someone from IA can offer advice.

Kind Regards,

Max.

1 Like

It's because of the way Java is reading the zoom events and translating them into scroll wheel events (and how our code is written to handle them). The Designer/Vision use Java Swing, which is a desktop GUI framework that long predates multi-touch capacitive touchpads.

Scrolling with the touchpad on my M4 issues a series of events like this:

MOUSE_WHEEL,scrollAmount=1,wheelRotation=0,preciseWheelRotation=0.30000000000000004
MOUSE_WHEEL,scrollAmount=1,wheelRotation=1,preciseWheelRotation=0.30000000000000004
MOUSE_WHEEL,scrollAmount=1,wheelRotation=0,preciseWheelRotation=0.30000000000000004
MOUSE_WHEEL,scrollAmount=1,wheelRotation=0,preciseWheelRotation=0.30000000000000004
MOUSE_WHEEL,scrollAmount=1,wheelRotation=1,preciseWheelRotation=0.30000000000000004
MOUSE_WHEEL,scrollAmount=1,wheelRotation=0,preciseWheelRotation=0.30000000000000004
MOUSE_WHEEL,scrollAmount=1,wheelRotation=0,preciseWheelRotation=0.30000000000000004
MOUSE_WHEEL,scrollAmount=1,wheelRotation=1,preciseWheelRotation=0.30000000000000004
MOUSE_WHEEL,scrollAmount=1,wheelRotation=0,preciseWheelRotation=0.30000000000000004
MOUSE_WHEEL,scrollAmount=1,wheelRotation=0,preciseWheelRotation=0.30000000000000004

In Vision, there's a block of code that interprets the scrolls:

        if (e.getWheelRotation() > 0) {
          panel.zoomOut();
        } else {
          panel.zoomIn();
        }

When you're using the touchpad, if your "precise" wheel rotation rounds down to an integer wheel rotation less than or equal to zero, Vision treats that as a zoom in, but then a few milliseconds later you get a zoom out event (because the rotation rounded up to 1) and so on, which is why you get such weird inconsistent zooming.
Perspective probably has something similar, copied over from Vision at the beginning of its development.

In contrast, a physical mouse gives you nice full integer scroll reports and works great.

This is something we could absolutely improve. This code was originally written before Java had a getPreciseWheelRotation method and just hasn't been revisited since then.

4 Likes

I had assume it had to something to do with Swing, to be honest I never use the touchpad on any of my Windows Machines and haven’t recently created any modules or Java Swing apps that actually required listening for MouseWheelEvents. Good to hear it might be looked at in the future.

Another side note of something I came across recently is regarding v8.3.4 and Safari. Not sure if the Gateway Webpage is officially supported by Safari but when taking a GWBK the button animation seems to be breaking out. Video attached below :sweat_smile: , happy to report this as a separate issue if you desire.

Eitherway, thanks for your response re the Trackpad!

Kind Regards,

Max.

Safari is a support target, but has a variety of known bugs. I think I've seen something similar to that reported already, but couldn't find it at a glance.

yup, right here [IGN-14835] Weird Quirk in Gateway UI in Safari

1 Like