auto& desktop = Desktop::getInstance();
desktop.setGlobalScaleFactor( scale );
// do stuff to resize main window
This continues to work on OSX and has worked on Windows up until recently. Now when scaled to anything other than 1.0 the mouse doesn’t track controls correctly and sometimes the display is rendering incorrectly. Not sure whether this is to do with HDPI changes recently.
Anyone else noticed any issues? I can do a video to demo if that’s useful.
You can disable the hiDPI support for the time being by disabling the JUCE_WIN_PER_MONITOR_DPI_AWARE flag in the juce_gui_basics module settings in the Projucer.
I had report as well that something broke in recent version of Juce with users that use my own app scaling factor (that uses setTransform on the main component) in combination with the windows one. It used to work in previous Juce versions.
Looks like there are still issue. (using the trunk)
We have reports of graphical issue when using OpenGL renderer that use to work fine couple of month ago.
This happens when the Windows global scale is different than 100%
Weirdly this happens only in plugin mode and we don’t use the Juce plugin wrapper.
The only way to fix it on my Windows 7 system is to disable OpenGL. Disabling JUCE_WIN_PER_MONITOR_DPI_AWARE doesn’t do anything that I can see on Windows 7.
Is there any update as to when this might be fixed?
This is a stand-alone application. No DAW or Plug-in required or used.
JUCE 5.3.2; Windows 7; Works as expected.
JUCE 5.4.0; Windows 7; Fails as described.
JUCE 5.4.1; Windows 7; Fails as described.
JUCE 5.4.1; Windows 10 Pro; Works as expected.
OK, so just to be clear this is only happening when global scale factor != 1? Unfortunately we don’t have a Win7 machine to test this on but could you try changing the getWindowScaleFactor() method in juce_OpenGL_win32.h (here) to this:
We do have one, but it’s a spectacular pain to use - it’s tied up in our CI system and is extremely slow to use interactively. If it’s possible to debug vicariously via the forum that will be a more efficient use of time.