
See also here: http://www.purebasic.fr/english/viewtop ... 56#p343856
1. Font size.
Though we can compensate for changed text sizes when using different DPI settings, it's in a way silly we have to do so. Wouldn't it make more sense to keep font sizes as they are, without adjusting them to the DPI settings? (Ie. isn't it silly that the font is enlarged in higher DPI settings whilst all other elements are not?)
I suggest font size is not adjusted, or (if Windows is actually the culprit) to have PureBasic adjust it downwards properly.
I would like to have an optional parameter like #PB_DPIOLD. If set behaviour is what it is now. If left out LoadFont() shouldn't force the PureBasic programmer to mess around with GetDeviceCaps_(). Impact on existing code would be minimal, and it would make more sense for the future (see also next part).
2. DesktopWidth().
... always reports the actual screen size. Yet when dealing with high DPI settings in non XP-style DPI mode (something that will be happening more and more with increasing resolutions and Windows 7 users) one also needs the 'adjusted' screen size. Here I request the same flag #PB_DPIOLD. When passing this flag, DesktopWidth() should report the real screen size, as it does now. When leaving this flag out, it should report the adjusted width.
With these two changes there is no need to resort to WinApi when writing software for other DPI settings.