From fab0d00c2538e35b8d1f83f4905c07e869247bbe Mon Sep 17 00:00:00 2001 From: yixy-only Date: Thu, 9 Nov 2023 14:03:50 +0800 Subject: [PATCH] feat:add INIT_HIDE initialize mode --- src/ege.h | 1 + src/graphics.cpp | 13 ++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/ege.h b/src/ege.h index 488a4fba..4cb634a6 100644 --- a/src/ege.h +++ b/src/ege.h @@ -458,6 +458,7 @@ enum initmode_flag { INIT_RENDERMANUAL = 0x8, INIT_NOFORCEEXIT = 0x10, INIT_UNICODE = 0x20, + INIT_HIDE = 0x40, INIT_WITHLOGO = 0x100, INIT_ANIMATION = INIT_DEFAULT | INIT_RENDERMANUAL | INIT_NOFORCEEXIT, }; diff --git a/src/graphics.cpp b/src/graphics.cpp index 63306f66..2a88338d 100755 --- a/src/graphics.cpp +++ b/src/graphics.cpp @@ -692,7 +692,8 @@ init_instance(HINSTANCE hInstance) { //DeleteObject(hfont); } //*/ - SetActiveWindow(pg->hwnd); + if (!(g_initoption & INIT_HIDE)) + SetActiveWindow(pg->hwnd); pg->exit_window = 0; return TRUE; @@ -1286,9 +1287,11 @@ initgraph(int *gdriver, int *gmode, const char *path) { UpdateWindow(pg->hwnd); - ShowWindow(pg->hwnd, SW_SHOWNORMAL); - BringWindowToTop(pg->hwnd); - SetForegroundWindow(pg->hwnd); + if (!(g_initoption & INIT_HIDE)) { + ShowWindow(pg->hwnd, SW_SHOWNORMAL); + BringWindowToTop(pg->hwnd); + SetForegroundWindow(pg->hwnd); + } if (g_windowexstyle & WS_EX_TOPMOST) { SetWindowPos(pg->hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); @@ -1303,7 +1306,7 @@ initgraph(int *gdriver, int *gmode, const char *path) { static egeControlBase _egeControlBase; - if (g_initoption & INIT_WITHLOGO) + if ((g_initoption & INIT_WITHLOGO) && !(g_initoption & INIT_HIDE)) logoscene(); if (g_initoption & INIT_RENDERMANUAL)