Naja, Du kannst das selbst testen, indem Du Deinem Windows mal verschiedene Anzeige-Einstellungen aufzwängst - inkl. verschiedener DPI-Skalierungen.
Wenn Dein Code am Ende das tut, was Du Dir vorstellst (und ich bin mir noch nicht sicher, was genau das sein soll), wäre es der beste Zeitpunkt, um die globalen Variable loszuwerden. Es sei denn, der hier gezeigte Code ist nur ein Auszug zur Demonstration. In dem Fall wäre das mit den globalen Variablen natürlich mehr oder weniger egal.
Naja, mein Programm wird auch nicht Rosa, wie im Beispiel

Schon klar.
Das war jetzt mein erster Versuch, nur kurz getestet und wollt es schnell posten.