Most of Windows-API features are cumulative. So everything available in Windows 7 is also available in more recent Windows versions, so support in W7 and W10 cannot be totally different, it can be just extended in W10.
Per-Monitor DPI Awareness is not as important as support for HiDPI itself. For basic DPI awareness, all you need is:
- determine pixel ratio by dividing
GetDeviceCaps(GetDC(window), LOGPIXELSX)
by default 96; - multiply all the UI-element’s sizes and coordinates by that ratio with proportional upscaling of bitmap graphics where needed;
- declare DPI awareness: either via executable’s manifest (
<dpiAware>true</dpiAware>
) or by callingSetProcessDPIAware()
.
Or does Cubase 10 use Windows 10’s automatic scaling stuff like EnableNonClientDpiScaling()
without actually supporting true HiDPI?
Fwiw, according to StatCounter, market share of Windows 7 is 70% of Windows 10’s market share (36.31% vs. 51.94%). According to NetMarketShare, the difference is even smaller: Windows 7’s market share is 84% of Windows 10’s one (35.27% vs. 41.82%).