Author: tkreuzer Date: Tue Jun 12 00:38:55 2007 New Revision: 27148
URL: http://svn.reactos.org/svn/reactos?rev=27148&view=rev Log: - use LOGFONTW structure from GetFontResourceInfo for face name - use LF_FULLFACESIZE - some cleanup
Modified: trunk/rosapps/fontview/display.c trunk/rosapps/fontview/display.h trunk/rosapps/fontview/fontview.c
Modified: trunk/rosapps/fontview/display.c URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/fontview/display.c?rev=2714... ============================================================================== --- trunk/rosapps/fontview/display.c (original) +++ trunk/rosapps/fontview/display.c Tue Jun 12 00:38:55 2007 @@ -35,7 +35,7 @@ typedef struct { int nPageHeight; - WCHAR szTypeFaceName[MAX_TYPEFACENAME]; + WCHAR szTypeFaceName[LF_FULLFACESIZE]; WCHAR szFormat[MAX_FORMAT]; WCHAR szString[MAX_STRING];
@@ -81,9 +81,8 @@ HFONT hOldFont; TEXTMETRIC tm; int i, y; - const int nSizes[7] = {12, 18, 24, 36, 48, 60, 72}; WCHAR szSize[5]; - WCHAR szCaption[MAX_TYPEFACENAME + 20]; + WCHAR szCaption[LF_FULLFACESIZE + 20];
/* This is the location on the DC where we draw */ y = -nYPos; @@ -132,7 +131,7 @@ GetTextMetrics(hDC, &tm); y += tm.tmHeight + 1; SelectObject(hDC, pData->hSizeFont); - swprintf(szSize, L"%d", nSizes[i]); + swprintf(szSize, L"%d", pData->nSizes[i]); TextOutW(hDC, 0, y - 13 - tm.tmDescent, szSize, wcslen(szSize)); } SelectObject(hDC, hOldFont); @@ -152,7 +151,7 @@
/* Set the new type face name */ pData = (DISPLAYDATA*)GetWindowLongPtr(hwnd, GWLP_USERDATA); - snwprintf(pData->szTypeFaceName, MAX_TYPEFACENAME, (WCHAR*)lParam); + snwprintf(pData->szTypeFaceName, LF_FULLFACESIZE, (WCHAR*)lParam);
/* Create the new fonts */ hDC = GetDC(hwnd); @@ -217,7 +216,7 @@ Display_OnCreate(HWND hwnd) { DISPLAYDATA* pData; - const int nSizes[7] = {12, 18, 24, 36, 48, 60, 72}; + const int nSizes[MAX_SIZES] = {12, 18, 24, 36, 48, 60, 72}; int i;
/* Create data structure */
Modified: trunk/rosapps/fontview/display.h URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/fontview/display.h?rev=2714... ============================================================================== --- trunk/rosapps/fontview/display.h (original) +++ trunk/rosapps/fontview/display.h Tue Jun 12 00:38:55 2007 @@ -7,9 +7,7 @@
/* Size restrictions */ #define MAX_STRING 100 -#define MAX_TYPEFACENAME 32 #define MAX_FORMAT 20 - #define MAX_SIZES 7
extern const WCHAR g_szFontDisplayClassName[];
Modified: trunk/rosapps/fontview/fontview.c URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/fontview/fontview.c?rev=271... ============================================================================== --- trunk/rosapps/fontview/fontview.c (original) +++ trunk/rosapps/fontview/fontview.c Tue Jun 12 00:38:55 2007 @@ -23,11 +23,13 @@ #include "fontview.h"
HINSTANCE g_hInstance; -WCHAR g_szTypeFaceName[MAX_TYPEFACENAME]; +WCHAR g_szTypeFaceName[LF_FULLFACESIZE]; +LOGFONTW g_LogFontW; + static const WCHAR g_szFontViewClassName[] = L"FontViewWClass";
/* Tye definition for the GetFontResourceInfo function */ -typedef BOOL (WINAPI *PGFRI)(LPCWSTR, DWORD *, LPWSTR, DWORD); +typedef BOOL (WINAPI *PGFRI)(LPCWSTR, DWORD *, LPVOID, DWORD);
DWORD FormatString( @@ -117,6 +119,13 @@ /* Get the font name */ dwSize = sizeof(g_szTypeFaceName); if (!GetFontResourceInfoW(argv[1], &dwSize, g_szTypeFaceName, 1)) + { + ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOFONT, argv[1]); + return -1; + } + + dwSize = sizeof(LOGFONTW); + if (!GetFontResourceInfoW(argv[1], &dwSize, &g_LogFontW, 2)) { ErrorMsgBox(0, IDS_ERROR, IDS_ERROR_NOFONT, argv[1]); return -1; @@ -206,7 +215,7 @@ SendMessage(hDisplay, FVM_SETSTRING, 0, (LPARAM)szString);
/* Init the display window with the font name */ - SendMessage(hDisplay, FVM_SETTYPEFACE, 0, (LPARAM)g_szTypeFaceName); + SendMessage(hDisplay, FVM_SETTYPEFACE, 0, (LPARAM)&g_LogFontW.lfFaceName); ShowWindow(hDisplay, SW_SHOWNORMAL);
/* Create the quit button */ @@ -303,15 +312,15 @@ } break;
- case WM_DESTROY: - PostQuitMessage (0); /* send a WM_QUIT to the message queue */ - break; - - default: /* for messages that we don't deal with */ - return DefWindowProcW(hwnd, message, wParam, lParam); - } - - return 0; + case WM_DESTROY: + PostQuitMessage (0); /* send a WM_QUIT to the message queue */ + break; + + default: /* for messages that we don't deal with */ + return DefWindowProcW(hwnd, message, wParam, lParam); + } + + return 0; }
/* EOF */