Early DPI awareness
This commit is contained in:
parent
10cbf6a8bc
commit
f2924eee05
@ -25,19 +25,6 @@ namespace splash
|
||||
return utils::image::create_bitmap(img);
|
||||
}
|
||||
|
||||
void enable_dpi_awareness()
|
||||
{
|
||||
const utils::nt::library user32{"user32.dll"};
|
||||
const auto set_dpi = user32
|
||||
? user32.get_proc<BOOL(WINAPI*)(DPI_AWARENESS_CONTEXT)>(
|
||||
"SetProcessDpiAwarenessContext")
|
||||
: nullptr;
|
||||
if (set_dpi)
|
||||
{
|
||||
set_dpi(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2);
|
||||
}
|
||||
}
|
||||
|
||||
void destroy_window()
|
||||
{
|
||||
if (window && IsWindow(window))
|
||||
@ -169,8 +156,6 @@ namespace splash
|
||||
{
|
||||
component()
|
||||
{
|
||||
enable_dpi_awareness();
|
||||
|
||||
image = load_splash_image();
|
||||
window_thread = std::thread([this]
|
||||
{
|
||||
|
@ -170,6 +170,19 @@ namespace
|
||||
return true;
|
||||
}
|
||||
|
||||
void enable_dpi_awareness()
|
||||
{
|
||||
const utils::nt::library user32{ "user32.dll" };
|
||||
const auto set_dpi = user32
|
||||
? user32.get_proc<BOOL(WINAPI*)(DPI_AWARENESS_CONTEXT)>(
|
||||
"SetProcessDpiAwarenessContext")
|
||||
: nullptr;
|
||||
if (set_dpi)
|
||||
{
|
||||
set_dpi(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2);
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
if (handle_process_runner())
|
||||
@ -180,6 +193,8 @@ namespace
|
||||
FARPROC entry_point{};
|
||||
srand(uint32_t(time(nullptr)) ^ ~(GetTickCount() * GetCurrentProcessId()));
|
||||
|
||||
enable_dpi_awareness();
|
||||
|
||||
{
|
||||
auto premature_shutdown = true;
|
||||
const auto _ = utils::finally([&premature_shutdown]
|
||||
|
Loading…
Reference in New Issue
Block a user