| 454 | stbi_set_flip_vertically_on_load(1); |
| 455 | } |
| 456 | void SetDpiAware() |
| 457 | { |
| 458 | #if defined(_WIN32) |
| 459 | enum DpiAwareness { |
| 460 | Unaware, |
| 461 | System, |
| 462 | PerMonitor |
| 463 | }; |
| 464 | typedef HRESULT(WINAPI * SetProcessDpiAwarenessFn)(DpiAwareness); |
| 465 | typedef BOOL(WINAPI * SetProcessDPIAwareFn)(void); |
| 466 | |
| 467 | HINSTANCE lib = LoadLibraryA("Shcore.dll"); |
| 468 | |
| 469 | if (lib) { |
| 470 | SetProcessDpiAwarenessFn setProcessDpiAwareness = (SetProcessDpiAwarenessFn)GetProcAddress(lib, "SetProcessDpiAwareness"); |
| 471 | if (setProcessDpiAwareness) |
| 472 | setProcessDpiAwareness(DpiAwareness::PerMonitor); |
| 473 | } else { |
| 474 | lib = LoadLibraryA("user32.dll"); |
| 475 | if (lib) { |
| 476 | SetProcessDPIAwareFn setProcessDPIAware = (SetProcessDPIAwareFn)GetProcAddress(lib, "SetProcessDPIAware"); |
| 477 | |
| 478 | if (setProcessDPIAware) |
| 479 | setProcessDPIAware(); |
| 480 | } |
| 481 | } |
| 482 | |
| 483 | if (lib) |
| 484 | FreeLibrary(lib); |
| 485 | #endif |
| 486 | } |