diff options
Diffstat (limited to 'c/common.c')
-rw-r--r-- | c/common.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -4,6 +4,24 @@ #include "resource.h" #include "defs.h" +/* Scale integer according to DPI. */ +int Dpi(int i) +{ + extern int IDPI; + + if (IDPI == -1) { + HMODULE hModule; + FARPROC GetDpiForWindow; + extern HWND HWnd; + IDPI = 96; + hModule = LoadLibrary(TEXT("User32.dll")); + if (hModule && (GetDpiForWindow = GetProcAddress(hModule, "GetDpiForWindow"))) + IDPI = GetDpiForWindow(HWnd); + } + + return MulDiv(i, IDPI, 96); +} + /* Convert normal string to TSTR using given codepage. */ TCHAR * TszFromSz(const char *sz, int iCp) |