From 40b600253d8b481c013578b75f4e8203bcc19646 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Thu, 23 Aug 2007 20:25:20 +0000 Subject: [PATCH] - turn back cursor on screensaver exit - display fullscreen instead of maximized - patch by Vytis Girdzijauskas, "CMan", cman[at]cman[dot]us See issue #2583 for more details. svn path=/trunk/; revision=28492 --- .../applications/screensavers/logon/logon.c | 23 ++++++++++++------- .../screensavers/scrnsave/scrnsave.c | 21 +++++++++++------ .../screensavers/starfield/screensaver.c | 21 +++++++++++------ 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/reactos/base/applications/screensavers/logon/logon.c b/reactos/base/applications/screensavers/logon/logon.c index 74c7c13e787..79c7da4eebd 100644 --- a/reactos/base/applications/screensavers/logon/logon.c +++ b/reactos/base/applications/screensavers/logon/logon.c @@ -155,6 +155,7 @@ LRESULT WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { KillTimer (hwnd, APP_TIMER); DeleteObject(bitmap); + ShowCursor(TRUE); PostQuitMessage(0); break; } @@ -223,14 +224,20 @@ void InitSaver(HWND hwndParent) else { HWND hwnd; - hwnd = CreateWindow(APPNAME, APPNAME, - WS_VISIBLE | WS_POPUP | WS_EX_TOPMOST, - 0, 0, - GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), - HWND_DESKTOP, 0, - hInstance, NULL); - ShowWindow(hwnd, SW_SHOWMAXIMIZED); - ShowCursor(FALSE); + hwnd = CreateWindowEx(WS_EX_TOPMOST, + APPNAME, + APPNAME, + WS_VISIBLE | WS_POPUP, + 0, 0, + GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), + HWND_DESKTOP, 0, + hInstance, NULL); + + SetWindowPos(hwnd, + 0, 0, 0, 0, 0, + SWP_NOZORDER|SWP_NOACTIVATE|SWP_NOSIZE|SWP_SHOWWINDOW); + + ShowCursor(FALSE); fullscreen = TRUE; } } diff --git a/reactos/base/applications/screensavers/scrnsave/scrnsave.c b/reactos/base/applications/screensavers/scrnsave/scrnsave.c index beba909a42e..b61832afbb1 100644 --- a/reactos/base/applications/screensavers/scrnsave/scrnsave.c +++ b/reactos/base/applications/screensavers/scrnsave/scrnsave.c @@ -37,6 +37,7 @@ LRESULT WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) switch (msg) { case WM_DESTROY: + ShowCursor(TRUE); PostQuitMessage(0); break; @@ -104,13 +105,19 @@ void InitSaver(HWND hwndParent) else { HWND hwnd; - hwnd = CreateWindow(APPNAME, APPNAME, - WS_VISIBLE | WS_POPUP | WS_EX_TOPMOST, - 0, 0, - GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), - HWND_DESKTOP, 0, - hInstance, NULL); - ShowWindow(hwnd, SW_SHOWMAXIMIZED); + hwnd = CreateWindowEx(WS_EX_TOPMOST, + APPNAME, + APPNAME, + WS_VISIBLE | WS_POPUP, + 0, 0, + GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), + HWND_DESKTOP, 0, + hInstance, NULL); + + SetWindowPos(hwnd, + 0, 0, 0, 0, 0, + SWP_NOZORDER|SWP_NOACTIVATE|SWP_NOSIZE|SWP_SHOWWINDOW); + ShowCursor(FALSE); fullscreen = TRUE; } diff --git a/reactos/base/applications/screensavers/starfield/screensaver.c b/reactos/base/applications/screensavers/starfield/screensaver.c index 73d7567dac3..846a03adaa4 100644 --- a/reactos/base/applications/screensavers/starfield/screensaver.c +++ b/reactos/base/applications/screensavers/starfield/screensaver.c @@ -192,6 +192,7 @@ LRESULT WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { KillTimer (hwnd, APP_TIMER); free(stars); + ShowCursor(TRUE); PostQuitMessage (0); return 0; } @@ -266,13 +267,19 @@ void InitSaver(HWND hwndParent) else { HWND hwnd; - hwnd = CreateWindow(APPNAME, APPNAME, - WS_VISIBLE | WS_POPUP | WS_EX_TOPMOST, - 0, 0, - GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), - HWND_DESKTOP, 0, - hInstance, NULL); - ShowWindow(hwnd, SW_SHOWMAXIMIZED); + hwnd = CreateWindowEx(WS_EX_TOPMOST, + APPNAME, + APPNAME, + WS_VISIBLE | WS_POPUP, + 0, 0, + GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), + HWND_DESKTOP, 0, + hInstance, NULL); + + SetWindowPos(hwnd, + 0, 0, 0, 0, 0, + SWP_NOZORDER|SWP_NOACTIVATE|SWP_NOSIZE|SWP_SHOWWINDOW); + ShowCursor(FALSE); fullscreen = TRUE; }