Graphic coordinates in Juce


#1

When I draw any figure to the screen, it is displayed on the screen actually 25% more in pixels.

This happens with any commands: drawLine, fillRect, setSize and others.

Why???

Windows 7


#2

Perhaps you have a global scale factor set? You can see this by calling Desktop::getInstance().getGlobalScaleFactor() and can set it via Desktop::getInstance().setGlobalScaleFactor().


#3

You could also

#define JUCE_DISABLE_WIN32_DPI_AWARENESS 1

in your AppConfig.h file

which will discard whatever scaling Windows is trying to do and will plainly 1:1 map logical pixels to physical pixels


#4

Thank you! It returns 1.25. But i never set it.


#5

I’ll try. Thank you!


#6

It’s in the Control Panel of Windows (don’t remember exactly where): there is a setting for drawing native controls at a bigger (or smaller) size. It defaults to 125% (at least on high DPI monitors) so that controls are rendered with a reasonable size and not too small as they would be if they were with 1:1 scale.