Author: gedmurphy
Date: Wed May 3 01:01:43 2006
New Revision: 21776
URL:
http://svn.reactos.ru/svn/reactos?rev=21776&view=rev
Log:
- convert the screensaver to tchar and build as unicode.
- gets around the ANSI bug in the config dialog
Modified:
trunk/reactos/base/applications/screensavers/matrix/config.c
trunk/reactos/base/applications/screensavers/matrix/globals.h
trunk/reactos/base/applications/screensavers/matrix/matrix.c
trunk/reactos/base/applications/screensavers/matrix/matrix.rbuild
trunk/reactos/base/applications/screensavers/matrix/message.c
trunk/reactos/base/applications/screensavers/matrix/message.h
trunk/reactos/base/applications/screensavers/matrix/password.c
trunk/reactos/base/applications/screensavers/matrix/screensave.c
trunk/reactos/base/applications/screensavers/matrix/settings.c
Modified: trunk/reactos/base/applications/screensavers/matrix/config.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/screensav…
==============================================================================
--- trunk/reactos/base/applications/screensavers/matrix/config.c (original)
+++ trunk/reactos/base/applications/screensavers/matrix/config.c Wed May 3 01:01:43 2006
@@ -5,6 +5,7 @@
//
#include <windows.h>
#include <commctrl.h>
+#include <tchar.h>
#include "resource.h"
#include "globals.h"
#include "message.h"
@@ -32,7 +33,7 @@
lf.lfCharSet = ANSI_CHARSET;
lf.lfPitchAndFamily = 0;
- lf.lfFaceName[0] = '\0';
+ lf.lfFaceName[0] = _T('\0');
hdc = GetDC(0);
EnumFontFamiliesEx(hdc, &lf, (FONTENUMPROC)EnumFontProc, (LONG)hwndCombo, 0);
@@ -54,7 +55,7 @@
//
BOOL CALLBACK ConfigDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
- static char buf[256];
+ static TCHAR buf[256];
HWND hwndCombo, hwndCtrl;
int index, items, val;
RECT rect;
Modified: trunk/reactos/base/applications/screensavers/matrix/globals.h
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/screensav…
==============================================================================
--- trunk/reactos/base/applications/screensavers/matrix/globals.h (original)
+++ trunk/reactos/base/applications/screensavers/matrix/globals.h Wed May 3 01:01:43
2006
@@ -5,7 +5,7 @@
extern "C" {
#endif
-#define APPNAME "MATRIX ScreenSaver 2.0"
+#define APPNAME _T("MATRIX ScreenSaver 2.0")
#define DENSITY 24
#define DENSITY_MAX 50
@@ -32,9 +32,9 @@
#define FONT_MIN 8
#define FONT_MAX 30
-extern char g_szMessages[MAX_MESSAGES][MAXMSG_LENGTH];
+extern TCHAR g_szMessages[MAX_MESSAGES][MAXMSG_LENGTH];
extern int g_nFontSize;
-extern char g_szFontName[];
+extern TCHAR g_szFontName[];
extern BOOL g_fFontBold;
extern int g_nNumMessages;
extern int g_nCurrentMessage;
Modified: trunk/reactos/base/applications/screensavers/matrix/matrix.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/screensav…
==============================================================================
--- trunk/reactos/base/applications/screensavers/matrix/matrix.c (original)
+++ trunk/reactos/base/applications/screensavers/matrix/matrix.c Wed May 3 01:01:43 2006
@@ -5,6 +5,7 @@
//
#include <windows.h>
#include <windowsx.h>
+#include <tchar.h>
#include "globals.h"
#include "message.h"
#include "matrix.h"
Modified: trunk/reactos/base/applications/screensavers/matrix/matrix.rbuild
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/screensav…
==============================================================================
--- trunk/reactos/base/applications/screensavers/matrix/matrix.rbuild (original)
+++ trunk/reactos/base/applications/screensavers/matrix/matrix.rbuild Wed May 3 01:01:43
2006
@@ -8,6 +8,8 @@
<define name="_WIN32_IE">0x0501</define>
<define name="_WIN32_WINNT">0x0501</define>
<define name="__REACTOS__" />
+ <define name="UNICODE" />
+ <define name="_UNICODE" />
<library>kernel32</library>
<library>user32</library>
Modified: trunk/reactos/base/applications/screensavers/matrix/message.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/screensav…
==============================================================================
--- trunk/reactos/base/applications/screensavers/matrix/message.c (original)
+++ trunk/reactos/base/applications/screensavers/matrix/message.c Wed May 3 01:01:43
2006
@@ -35,7 +35,7 @@
//
// Set a new message based on font and text
//
-void SetMatrixMessage(MATRIX_MESSAGE *msg, HFONT hFont, char *text)
+void SetMatrixMessage(MATRIX_MESSAGE *msg, HFONT hFont, TCHAR *text)
{
HDC hdc;
RECT rect;
@@ -198,7 +198,7 @@
//
// Set current font used for messages
//
-void SetMessageFont(HWND hwnd, char *szFontName, int nPointSize, BOOL fBold)
+void SetMessageFont(HWND hwnd, TCHAR *szFontName, int nPointSize, BOOL fBold)
{
int lfHeight;
HDC hdc;
Modified: trunk/reactos/base/applications/screensavers/matrix/message.h
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/screensav…
==============================================================================
--- trunk/reactos/base/applications/screensavers/matrix/message.h (original)
+++ trunk/reactos/base/applications/screensavers/matrix/message.h Wed May 3 01:01:43
2006
@@ -22,7 +22,7 @@
} MATRIX_MESSAGE;
-void SetMessageFont(HWND hwnd, char *szFontName, int nPointSize, BOOL fBold);
+void SetMessageFont(HWND hwnd, TCHAR *szFontName, int nPointSize, BOOL fBold);
MATRIX_MESSAGE *InitMatrixMessage(HWND hwnd, int width, int height);
#ifdef __cplusplus
Modified: trunk/reactos/base/applications/screensavers/matrix/password.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/screensav…
==============================================================================
--- trunk/reactos/base/applications/screensavers/matrix/password.c (original)
+++ trunk/reactos/base/applications/screensavers/matrix/password.c Wed May 3 01:01:43
2006
@@ -4,9 +4,10 @@
// Password support for Win9x
//
#include <windows.h>
+#include <tchar.h>
typedef BOOL (WINAPI *VERIFYSCREENSAVEPWD)(HWND hwnd);
-typedef VOID (WINAPI *PWDCHANGEPASSWORD)(LPCSTR lpcRegkeyname, HWND hwnd,UINT
uiReserved1,UINT uiReserved2);
+typedef VOID (WINAPI *PWDCHANGEPASSWORD)(LPCTSTR lpcRegkeyname, HWND hwnd,UINT
uiReserved1,UINT uiReserved2);
BOOL VerifyPassword(HWND hwnd)
{
@@ -22,7 +23,7 @@
if(GetVersion() < 0x80000000)
return TRUE;
- hpwdcpl = LoadLibrary("PASSWORD.CPL");
+ hpwdcpl = LoadLibrary(_T("PASSWORD.CPL"));
if(hpwdcpl == NULL)
{
@@ -47,7 +48,7 @@
BOOL ChangePassword(HWND hwnd)
{
// This only ever gets called under '95, when started with the /a option.
- HINSTANCE hmpr = LoadLibrary("MPR.DLL");
+ HINSTANCE hmpr = LoadLibrary(_T("MPR.DLL"));
PWDCHANGEPASSWORD PwdChangePassword;
if(hmpr == NULL)
@@ -61,7 +62,7 @@
return FALSE;
}
- PwdChangePassword("SCRSAVE", hwnd, 0, 0);
+ PwdChangePassword(_T("SCRSAVE"), hwnd, 0, 0);
FreeLibrary(hmpr);
return TRUE;
Modified: trunk/reactos/base/applications/screensavers/matrix/screensave.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/screensav…
==============================================================================
--- trunk/reactos/base/applications/screensavers/matrix/screensave.c (original)
+++ trunk/reactos/base/applications/screensavers/matrix/screensave.c Wed May 3 01:01:43
2006
@@ -11,6 +11,7 @@
//
#include <windows.h>
#include <windowsx.h>
+#include <tchar.h>
#include "globals.h"
#include "message.h"
#include "matrix.h"
@@ -58,7 +59,7 @@
SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0);
// Dynamically locate API call from USER32 - not present in all versions
- hUser32 = GetModuleHandle("USER32.DLL");
+ hUser32 = GetModuleHandle(_T("USER32.DLL"));
pfnEnumDisplayMonitors = (PVOID)GetProcAddress(hUser32,
"EnumDisplayMonitors");
// If we're running Win2k+ then the API is available...so call it!
@@ -99,7 +100,7 @@
// -p <hwnd> (preview)
// -c <hwnd> (configure)
//
-BOOL ParseCommandLine(PSTR szCmdLine, int *chOption, HWND *hwndParent)
+BOOL ParseCommandLine(LPSTR szCmdLine, int *chOption, HWND *hwndParent)
{
int ch = *szCmdLine++;
@@ -150,10 +151,10 @@
switch(chOption)
{
- case 's': return ScreenSaver(NULL); // screen save
- case 'p': return ScreenSaver(hwndParent); // preview in small window
- case 'a': return ChangePassword(hwndParent); // ask for password
- case 'c': return Configure(hwndParent); // configuration dialog
+ case _T('s'): return ScreenSaver(NULL); // screen save
+ case _T('p'): return ScreenSaver(hwndParent); // preview in small window
+ case _T('a'): return ChangePassword(hwndParent); // ask for password
+ case _T('c'): return Configure(hwndParent); // configuration dialog
default: return Configure(hwndParent); // configuration dialog
}
Modified: trunk/reactos/base/applications/screensavers/matrix/settings.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/screensav…
==============================================================================
--- trunk/reactos/base/applications/screensavers/matrix/settings.c (original)
+++ trunk/reactos/base/applications/screensavers/matrix/settings.c Wed May 3 01:01:43
2006
@@ -4,14 +4,15 @@
// Load/Save settings from registry
//
#include <windows.h>
+#include <tchar.h>
#include "globals.h"
#include "message.h"
#include "matrix.h"
-char g_szMessages[MAX_MESSAGES][MAXMSG_LENGTH];
+TCHAR g_szMessages[MAX_MESSAGES][MAXMSG_LENGTH];
int g_nNumMessages = 0;
int g_nMessageSpeed = 5;
-char g_szFontName[512] = "Arial";
+TCHAR g_szFontName[512] = _T("Arial");
int g_nMatrixSpeed = 150;
int g_nDensity = 32;
@@ -27,61 +28,61 @@
HKEY hkey;
LONG value;
ULONG len;
- char *hugechar = malloc(4096);
- char *hptr = hugechar;
+ TCHAR *hugechar = malloc(4096);
+ TCHAR *hptr = hugechar;
if(hugechar == 0)
return;
- hugechar[0] = '\0';
+ hugechar[0] = _T('\0');
- RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Catch22\\Matrix Screen Saver",
0,
- "", 0, KEY_READ, NULL, &hkey, NULL);
+ RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Catch22\\Matrix Screen
Saver"), 0,
+ _T(""), 0, KEY_READ, NULL, &hkey, NULL);
len = sizeof value;
- if(ERROR_SUCCESS == RegQueryValueEx(hkey, "MessageSpeed", 0, 0, (BYTE
*)&value, &len))
+ if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("MessageSpeed"), 0, 0, (BYTE
*)&value, &len))
{
if(value >= MSGSPEED_MIN && value <= MSGSPEED_MAX)
g_nMessageSpeed = value;
}
- if(ERROR_SUCCESS == RegQueryValueEx(hkey, "MatrixSpeed", 0, 0, (BYTE
*)&value, &len))
+ if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("MatrixSpeed"), 0, 0, (BYTE
*)&value, &len))
{
if(value >= SPEED_MIN && value <= SPEED_MAX)
g_nMatrixSpeed = value;
}
- if(ERROR_SUCCESS == RegQueryValueEx(hkey, "Density", 0, 0, (BYTE
*)&value, &len))
+ if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("Density"), 0, 0, (BYTE
*)&value, &len))
{
if(value >= DENSITY_MIN && value <= DENSITY_MAX)
g_nDensity = value;
}
- if(ERROR_SUCCESS == RegQueryValueEx(hkey, "FontSize", 0, 0, (BYTE
*)&value, &len))
+ if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("FontSize"), 0, 0, (BYTE
*)&value, &len))
{
if(value >= FONT_MIN && value <= FONT_MAX)
g_nFontSize = value;
}
- if(ERROR_SUCCESS == RegQueryValueEx(hkey, "FontBold", 0, 0, (BYTE
*)&value, &len))
+ if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("FontBold"), 0, 0, (BYTE
*)&value, &len))
g_fFontBold = (value == 0 ? FALSE : TRUE);
- if(ERROR_SUCCESS == RegQueryValueEx(hkey, "Randomize", 0, 0, (BYTE
*)&value, &len))
+ if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("Randomize"), 0, 0, (BYTE
*)&value, &len))
g_fRandomizeMessages = (value == 0 ? FALSE : TRUE);
len = 4096;
- if(ERROR_SUCCESS == RegQueryValueEx(hkey, "FontName", 0, 0, (BYTE *)hugechar,
&len))
+ if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("FontName"), 0, 0, (BYTE
*)hugechar, &len))
{
if(len > 0)
lstrcpy(g_szFontName, hugechar);
else
- lstrcpy(g_szFontName, "Arial");
+ lstrcpy(g_szFontName, _T("Arial"));
}
len = 4096;
- if(ERROR_SUCCESS == RegQueryValueEx(hkey, "Messages", 0, 0 , (BYTE
*)hugechar, &len))
+ if(ERROR_SUCCESS == RegQueryValueEx(hkey, _T("Messages"), 0, 0 , (BYTE
*)hugechar, &len))
{
while(len > 0 && *hptr && isascii(*hptr))
{
@@ -96,7 +97,7 @@
else
{
/* built-in coded message for first run */
- lstrcpyn(g_szMessages[0], "ReactOS", MAXMSG_LENGTH);
+ lstrcpyn(g_szMessages[0], _T("ReactOS"), MAXMSG_LENGTH);
}
RegCloseKey(hkey);
@@ -106,8 +107,8 @@
void SaveSettings()
{
HKEY hkey;
- char *hugechar = malloc(4096);
- char *msgptr = hugechar;
+ TCHAR *hugechar = malloc(4096);
+ TCHAR *msgptr = hugechar;
int totallen = 0;
int i,len;
LONG value;
@@ -115,31 +116,31 @@
if(hugechar == 0)
return;
- hugechar[0] = '\0';
+ hugechar[0] = _T('\0');
msgptr = hugechar;
- RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Catch22\\Matrix Screen Saver",
0,
- "", 0, KEY_WRITE, NULL, &hkey, NULL);
+ RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Catch22\\Matrix Screen
Saver"), 0,
+ _T(""), 0, KEY_WRITE, NULL, &hkey, NULL);
value = g_nMessageSpeed;
- RegSetValueEx(hkey, "MessageSpeed", 0, REG_DWORD, (BYTE *)&value, sizeof
value);
+ RegSetValueEx(hkey, _T("MessageSpeed"), 0, REG_DWORD, (BYTE *)&value,
sizeof value);
value = g_nMatrixSpeed;
- RegSetValueEx(hkey, "MatrixSpeed", 0, REG_DWORD, (BYTE *)&value, sizeof
value);
+ RegSetValueEx(hkey, _T("MatrixSpeed"), 0, REG_DWORD, (BYTE *)&value,
sizeof value);
value = g_nDensity;
- RegSetValueEx(hkey, "Density", 0, REG_DWORD, (BYTE *)&value, sizeof
value);
+ RegSetValueEx(hkey, _T("Density"), 0, REG_DWORD, (BYTE *)&value, sizeof
value);
value = g_nFontSize;
- RegSetValueEx(hkey, "FontSize", 0, REG_DWORD, (BYTE *)&value, sizeof
value);
+ RegSetValueEx(hkey, _T("FontSize"), 0, REG_DWORD, (BYTE *)&value, sizeof
value);
value = g_fRandomizeMessages;
- RegSetValueEx(hkey, "Randomize", 0, REG_DWORD, (BYTE *)&value, sizeof
value);
+ RegSetValueEx(hkey, _T("Randomize"), 0, REG_DWORD, (BYTE *)&value, sizeof
value);
value = g_fFontBold;
- RegSetValueEx(hkey, "FontBold", 0, REG_DWORD, (BYTE *)&value, sizeof
value);
+ RegSetValueEx(hkey, _T("FontBold"), 0, REG_DWORD, (BYTE *)&value, sizeof
value);
- RegSetValueEx(hkey, "FontName", 0, REG_SZ, (BYTE *)g_szFontName,
lstrlen(g_szFontName));
+ RegSetValueEx(hkey, _T("FontName"), 0, REG_SZ, (BYTE *)g_szFontName,
lstrlen(g_szFontName));
for(i = 0; i < g_nNumMessages; i++)
{
@@ -153,10 +154,10 @@
}
}
- *msgptr = '\0';
+ *msgptr = _T('\0');
totallen++;
- RegSetValueEx(hkey, "Messages", 0, REG_MULTI_SZ, (BYTE *)hugechar, totallen);
+ RegSetValueEx(hkey, _T("Messages"), 0, REG_MULTI_SZ, (BYTE *)hugechar,
totallen);
RegCloseKey(hkey);
free(hugechar);