Add: add the GetDesktopWindow and scale support

This commit is contained in:
vcaesar 2023-02-27 09:35:35 -08:00
parent e0583e83ec
commit 9afa311121

View File

@ -67,20 +67,31 @@ func GetMainId() int {
return int(GetMain()) return int(GetMain())
} }
// ScaleF get the system scale val // ScaleF get the system scale value
// if "displayId == -2" this function will get the desktop scale value
func ScaleF(displayId ...int) (f float64) { func ScaleF(displayId ...int) (f float64) {
if len(displayId) > 0 && displayId[0] != -1 { if len(displayId) > 0 && displayId[0] != -1 {
dpi := GetDPI(win.HWND(displayId[0])) dpi := GetDPI(win.HWND(displayId[0]))
f = float64(dpi) / 96.0 f = float64(dpi) / 96.0
} else { } else {
f = float64(GetMainDPI()) / 96.0 if displayId == -2 {
f = float64(GetDPI(GetDesktopWindow())) / 96.0
} else {
f = float64(GetMainDPI()) / 96.0
}
} }
if f == 0.0 { if f == 0.0 {
f = 1.0 f = 1.0
} }
return f return f
} }
// GetDesktopWindow get the desktop window hwnd id
func GetDesktopWindow() win.HWND {
return win.GetDesktopWindow()
}
// GetMainDPI get the display dpi // GetMainDPI get the display dpi
func GetMainDPI() int { func GetMainDPI() int {
return int(GetDPI(GetHWND())) return int(GetDPI(GetHWND()))