From 11ca24e66168aa95ed6b82c76f49373f71a6d701 Mon Sep 17 00:00:00 2001 From: sje Date: Mon, 8 Jan 2007 11:29:31 +0000 Subject: merge both is_full_screen functions (idea from Alexander Rivilis) git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@72 4f64403b-2f21-0410-a795-97e2b3489a10 --- yapp/message_pump.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'yapp/message_pump.cpp') diff --git a/yapp/message_pump.cpp b/yapp/message_pump.cpp index 3d67948..aedac1e 100644 --- a/yapp/message_pump.cpp +++ b/yapp/message_pump.cpp @@ -18,8 +18,16 @@ HANDLE hMPEvent; bool is_full_screen() { int w = GetSystemMetrics(SM_CXSCREEN); int h = GetSystemMetrics(SM_CYSCREEN); - + RECT WindowRect; HWND hWnd = 0; + + // check foregroundwindow + hWnd = GetForegroundWindow(); + GetWindowRect(hWnd, &WindowRect); + if ((WindowRect.right - WindowRect.left) >= w && (WindowRect.bottom - WindowRect.top) >= h) + return true; + + // check other top level windows while (hWnd = FindWindowEx(NULL, hWnd, NULL, NULL)) { if(!IsWindowVisible(hWnd) || IsIconic(hWnd)) continue; @@ -28,13 +36,13 @@ bool is_full_screen() { continue; // not sure if this could be done more simply using 'IsZoomed'? - RECT WindowRect; GetWindowRect(hWnd, &WindowRect); - if ((w != (WindowRect.right - WindowRect.left)) || (h != (WindowRect.bottom - WindowRect.top))) + if ((WindowRect.right - WindowRect.left) < w || (WindowRect.bottom - WindowRect.top) < h) continue; return true; } + return false; } -- cgit v1.2.3