From a2b61f49fb8d323e933e98faafad2f109e3c24c2 Mon Sep 17 00:00:00 2001 From: Colin Finck Date: Mon, 30 Jul 2007 09:36:32 +0000 Subject: [PATCH] Add a Logon screensaver similar to the one of Windows developed by Marc Piulachs (marc DOT piulachs AT codexchange DOT net) I modified the code, so the screensaver is listed as "Logon ScreenSaver" instead of "Default ScreenSaver" I also added the other screensavers we have to the Boot-CD. Some of them highlight some bugs in ReactOS, when you try to use them. See issue #2505 for more details. svn path=/trunk/; revision=28038 --- .../applications/screensavers/logon/logon.c | 307 ++++++++++++++++++ .../screensavers/logon/logon.rbuild | 17 + .../applications/screensavers/logon/logon.rc | 21 ++ .../applications/screensavers/logon/res/0.bmp | Bin 0 -> 230454 bytes .../applications/screensavers/logon/res/1.bmp | Bin 0 -> 230454 bytes .../screensavers/logon/resource.h | 4 + .../screensavers/screensavers.rbuild | 14 +- reactos/boot/bootdata/packages/reactos.dff | 67 ++-- 8 files changed, 395 insertions(+), 35 deletions(-) create mode 100644 reactos/base/applications/screensavers/logon/logon.c create mode 100644 reactos/base/applications/screensavers/logon/logon.rbuild create mode 100644 reactos/base/applications/screensavers/logon/logon.rc create mode 100644 reactos/base/applications/screensavers/logon/res/0.bmp create mode 100644 reactos/base/applications/screensavers/logon/res/1.bmp create mode 100644 reactos/base/applications/screensavers/logon/resource.h diff --git a/reactos/base/applications/screensavers/logon/logon.c b/reactos/base/applications/screensavers/logon/logon.c new file mode 100644 index 00000000000..74c7c13e787 --- /dev/null +++ b/reactos/base/applications/screensavers/logon/logon.c @@ -0,0 +1,307 @@ +/* + * Copyright 2003 J Brown + * Copyright 2006 Eric Kohl + * Copyright 2007 Marc Piulachs (marc.piulachs@codexchange.net) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include +#include +#include "resource.h" + +#define RANDOM( min, max ) ((rand() % (int)(((max)+1) - (min))) + (min)) + +#define APPNAME _T("Logon") +#define APP_TIMER 1 +#define APP_TIMER_INTERVAL 2000 + +#define BITMAP_HEIGHT 240; +#define BITMAP_WIDTH 340 + +HINSTANCE hInstance; + +BOOL fullscreen = FALSE; + +void DrawScreen (HDC hdc, HDC hMemDC , RECT rect) +{ + int x; + int y; + int width = BITMAP_WIDTH; + int height = BITMAP_HEIGHT; + + if (!fullscreen) + { + width = width / 20; + height = height / 20; + } + + x = RANDOM (0, rect.right - width); + y = RANDOM (0, rect.bottom - height); + + BitBlt( + hdc, + x, + y, + width, + height, + hMemDC, + 0, + 0, + SRCCOPY); +} + +HBITMAP GetScreenSaverBitmap (void) +{ + OSVERSIONINFOEX osvi; + + ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + GetVersionEx ((OSVERSIONINFO *) &osvi); + + switch(osvi.wProductType) + { + case VER_NT_WORKSTATION: + return LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_WORKSTATION)); + break; + default: + return LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_SERVER)); + break; + } +} + +LRESULT WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + static POINT ptLast; + static POINT ptCursor; + static BOOL fFirstTime = TRUE; + + static PAINTSTRUCT ps; + static RECT rect; + static HDC hDC; + static HDC hMemDC; + static HBRUSH hBlkBrush; + static HBITMAP bitmap; + + switch (msg) + { + case WM_CREATE: + { + hDC = GetDC(hwnd); + hBlkBrush = (HBRUSH) GetStockObject(BLACK_BRUSH); + hMemDC = CreateCompatibleDC(hDC); + GetClientRect(hwnd, &rect); + + bitmap = GetScreenSaverBitmap (); + + if(bitmap == NULL) + { + MessageBox( + hwnd, + _T("Fatal Error: Could not load bitmap"), + _T("Error"), + MB_OK | MB_ICONEXCLAMATION); + } + + SetTimer ( + hwnd, + APP_TIMER, + APP_TIMER_INTERVAL, + NULL); + + break; + } + case WM_PAINT: + { + hDC = BeginPaint(hwnd, &ps); + SelectObject(hMemDC, bitmap); + DrawScreen (hDC , hMemDC , rect); + EndPaint(hwnd, &ps); + break; + } + case WM_TIMER : + { + if (wParam == APP_TIMER) + { + InvalidateRect(hwnd, NULL, 1); + } + } + case WM_ERASEBKGND: + { + SelectObject(hDC, hBlkBrush); + + PatBlt( + hDC, + 0, + 0, + rect.right, + rect.bottom, + PATCOPY); + break; + } + case WM_DESTROY: + { + KillTimer (hwnd, APP_TIMER); + DeleteObject(bitmap); + PostQuitMessage(0); + break; + } + + // break out of screen-saver if any keyboard activity + case WM_NOTIFY: + case WM_SYSKEYDOWN: + PostMessage(hwnd, WM_CLOSE, 0, 0); + break; + + // break out of screen-saver if any mouse activity + case WM_LBUTTONDOWN: + case WM_LBUTTONUP: + case WM_RBUTTONDOWN: + case WM_RBUTTONUP: + case WM_MBUTTONDOWN: + case WM_MBUTTONUP: + case WM_MOUSEMOVE: + // If we've got a parent then we must be a preview + if(GetParent(hwnd) != 0) + return 0; + + if(fFirstTime) + { + GetCursorPos(&ptLast); + fFirstTime = FALSE; + } + + GetCursorPos(&ptCursor); + + // if the mouse has moved more than 3 pixels then exit + if(abs(ptCursor.x - ptLast.x) >= 3 || abs(ptCursor.y - ptLast.y) >= 3) + PostMessage(hwnd, WM_CLOSE, 0, 0); + + ptLast = ptCursor; + + return 0; + } + + return DefWindowProc(hwnd, msg, wParam, lParam); +} + +void InitSaver(HWND hwndParent) +{ + WNDCLASS wc; + ZeroMemory(&wc, sizeof(wc)); + wc.style = CS_HREDRAW | CS_VREDRAW; + wc.lpfnWndProc = WndProc; + wc.lpszClassName = APPNAME; + wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); + RegisterClass(&wc); + + if (hwndParent != 0) + { + RECT rect; + GetClientRect(hwndParent, &rect); + CreateWindow(APPNAME, APPNAME, + WS_VISIBLE | WS_CHILD, + 0, 0, + rect.right, + rect.bottom, + hwndParent, 0, + hInstance, NULL); + fullscreen = FALSE; + } + 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); + fullscreen = TRUE; + } +} + +void ParseCommandLine(PSTR szCmdLine, int *chOption, HWND *hwndParent) +{ + int ch = *szCmdLine++; + + if(ch == '-' || ch == '/') + ch = *szCmdLine++; + + if(ch >= 'A' && ch <= 'Z') + ch += 'a' - 'A'; + + *chOption = ch; + ch = *szCmdLine++; + + if(ch == ':') + ch = *szCmdLine++; + + while(ch == ' ' || ch == '\t') + ch = *szCmdLine++; + + if(isdigit(ch)) + { + unsigned int i = atoi(szCmdLine - 1); + *hwndParent = (HWND)i; + } + else + *hwndParent = 0; +} + +int WINAPI WinMain (HINSTANCE hInst, + HINSTANCE hPrev, + LPSTR lpCmdLine, + int iCmdShow) +{ + HWND hwndParent; + UINT nPreviousState; + int chOption; + MSG Message; + + hInstance = hInst; + + ParseCommandLine(lpCmdLine, &chOption, &hwndParent); + + SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0); + + switch (chOption) + { + case 's': + InitSaver(0); + break; + + case 'p': + InitSaver(hwndParent); + break; + + case 'c': + default: + MessageBox(0, + _T("No options need to be set."), + _T("About"), + MB_OK | MB_ICONWARNING); + return 0; + } + + while (GetMessage(&Message, 0, 0, 0)) + DispatchMessage(&Message); + + SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, FALSE, &nPreviousState, 0); + + return Message.wParam; +} diff --git a/reactos/base/applications/screensavers/logon/logon.rbuild b/reactos/base/applications/screensavers/logon/logon.rbuild new file mode 100644 index 00000000000..841d89f5346 --- /dev/null +++ b/reactos/base/applications/screensavers/logon/logon.rbuild @@ -0,0 +1,17 @@ + + . + + + + + + kernel32 + user32 + gdi32 + opengl32 + glu32 + winmm + + logon.c + logon.rc + diff --git a/reactos/base/applications/screensavers/logon/logon.rc b/reactos/base/applications/screensavers/logon/logon.rc new file mode 100644 index 00000000000..36c97ed42d1 --- /dev/null +++ b/reactos/base/applications/screensavers/logon/logon.rc @@ -0,0 +1,21 @@ +#include +#include "resource.h" + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Logon ScreenSaver\0" +#define REACTOS_STR_INTERNAL_NAME "logon\0" +#define REACTOS_STR_ORIGINAL_FILENAME "logon.scr\0" + +#include + +IDB_WORKSTATION BITMAP DISCARDABLE "res/0.bmp" +IDB_SERVER BITMAP DISCARDABLE "res/1.bmp" + +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +STRINGTABLE DISCARDABLE +BEGIN + IDS_DESCRIPTION "Logon ScreenSaver" +END diff --git a/reactos/base/applications/screensavers/logon/res/0.bmp b/reactos/base/applications/screensavers/logon/res/0.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c37117112431ef79bb8edc47e0132a181194626b GIT binary patch literal 230454 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 literal 0 HcmV?d00001 diff --git a/reactos/base/applications/screensavers/logon/res/1.bmp b/reactos/base/applications/screensavers/logon/res/1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..47e732664de6b719a21b95110ef37e3645ffc388 GIT binary patch literal 230454 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 Iw<_@e04=2|fdBvi literal 0 HcmV?d00001 diff --git a/reactos/base/applications/screensavers/logon/resource.h b/reactos/base/applications/screensavers/logon/resource.h new file mode 100644 index 00000000000..6854273616c --- /dev/null +++ b/reactos/base/applications/screensavers/logon/resource.h @@ -0,0 +1,4 @@ + +#define IDS_DESCRIPTION 1 +#define IDB_WORKSTATION 0x100 +#define IDB_SERVER 0x200 diff --git a/reactos/base/applications/screensavers/screensavers.rbuild b/reactos/base/applications/screensavers/screensavers.rbuild index a969b7f15b9..d522418ba82 100644 --- a/reactos/base/applications/screensavers/screensavers.rbuild +++ b/reactos/base/applications/screensavers/screensavers.rbuild @@ -1,13 +1,21 @@ - - - + + + + + + + + + + + \ No newline at end of file diff --git a/reactos/boot/bootdata/packages/reactos.dff b/reactos/boot/bootdata/packages/reactos.dff index 3ecab1fea26..bae00ee8270 100644 --- a/reactos/boot/bootdata/packages/reactos.dff +++ b/reactos/boot/bootdata/packages/reactos.dff @@ -30,38 +30,41 @@ Signature = "$ReactOS$" ; Base files -base\applications\cacls\cacls.exe 1 -base\applications\calc\calc.exe 1 -base\applications\charmap\charmap.exe 1 -base\applications\cmdutils\find\find.exe 1 -base\applications\cmdutils\more\more.exe 1 -base\applications\control\control.exe 1 -base\applications\mscutils\devmgmt\devmgmt.exe 1 -base\applications\games\solitaire\sol.exe 1 -base\applications\games\winemine\winemine.exe 1 -base\applications\hh\hh.exe 1 -base\applications\hostname\hostname.exe 1 -base\applications\msconfig\msconfig.exe 1 -base\applications\network\arp\arp.exe 1 -base\applications\network\route\route.exe 1 -base\applications\network\finger\finger.exe 1 -base\applications\network\ftp\ftp.exe 1 -base\applications\network\ipconfig\ipconfig.exe 1 -base\applications\network\netstat\netstat.exe 1 -base\applications\network\ping\ping.exe 1 -base\applications\network\telnet\telnet.exe 1 -base\applications\network\tracert\tracert.exe 1 -base\applications\network\whois\whois.exe 1 -base\applications\notepad\notepad.exe 1 -base\applications\regedit\regedit.exe 4 -base\applications\regedit\clb\clb.dll 1 -base\applications\sc\sc.exe 1 -base\applications\screensavers\matrix\matrix.scr 1 -base\applications\mscutils\servman\servman.exe 1 -base\applications\shutdown\shutdown.exe 1 -base\applications\sndvol32\sndvol32.exe 1 -base\applications\taskmgr\taskmgr.exe 1 -base\applications\wordpad\wordpad.exe 1 +base\applications\cacls\cacls.exe 1 +base\applications\calc\calc.exe 1 +base\applications\charmap\charmap.exe 1 +base\applications\cmdutils\find\find.exe 1 +base\applications\cmdutils\more\more.exe 1 +base\applications\control\control.exe 1 +base\applications\mscutils\devmgmt\devmgmt.exe 1 +base\applications\games\solitaire\sol.exe 1 +base\applications\games\winemine\winemine.exe 1 +base\applications\hh\hh.exe 1 +base\applications\hostname\hostname.exe 1 +base\applications\msconfig\msconfig.exe 1 +base\applications\network\arp\arp.exe 1 +base\applications\network\route\route.exe 1 +base\applications\network\finger\finger.exe 1 +base\applications\network\ftp\ftp.exe 1 +base\applications\network\ipconfig\ipconfig.exe 1 +base\applications\network\netstat\netstat.exe 1 +base\applications\network\ping\ping.exe 1 +base\applications\network\telnet\telnet.exe 1 +base\applications\network\tracert\tracert.exe 1 +base\applications\network\whois\whois.exe 1 +base\applications\notepad\notepad.exe 1 +base\applications\regedit\regedit.exe 4 +base\applications\regedit\clb\clb.dll 1 +base\applications\sc\sc.exe 1 +base\applications\screensavers\cylfrac\cylfrac.scr 1 +base\applications\screensavers\logon\logon.scr 1 +base\applications\screensavers\matrix\matrix.scr 1 +base\applications\screensavers\scrnsave\scrnsave.scr 1 +base\applications\mscutils\servman\servman.exe 1 +base\applications\shutdown\shutdown.exe 1 +base\applications\sndvol32\sndvol32.exe 1 +base\applications\taskmgr\taskmgr.exe 1 +base\applications\wordpad\wordpad.exe 1 base\services\dhcp\dhcp.exe 1 base\services\eventlog\eventlog.exe 1