Author: fireball
Date: Sat Jul 18 10:29:27 2009
New Revision: 42025
URL:
http://svn.reactos.org/svn/reactos?rev=42025&view=rev
Log:
- Add assert/ASSERT implementation to prevent linking with a wrong msvcrt version of it.
- Fix one msvcrt function linkage (snprintf -> _snprintf).
- Stub out all other registry operations for now and thus get rid of advapi32 dependancy
(and unbreak the system).
- Start converting registry operations from advapi32 to native functions.
- Initial port of freetype.c to ReactOS. Many places are UNIMPLEMENTED yet.
- Implement GdiAddFontResourceW as a success-returning stub.
- Fix gdi32 exports so it loads on Windows 2003.
- 16->32 conversion in user32/cursoricon.
- Remove all calls to advapi's registry operations from gdi32 init and use defaults.
Modified:
branches/arwinss/reactos/dll/win32/gdi32/driver.c
branches/arwinss/reactos/dll/win32/gdi32/font.c
branches/arwinss/reactos/dll/win32/gdi32/freetype.c
branches/arwinss/reactos/dll/win32/gdi32/gdi32.rbuild
branches/arwinss/reactos/dll/win32/gdi32/gdi32.spec
branches/arwinss/reactos/dll/win32/gdi32/gdi_private.h
branches/arwinss/reactos/dll/win32/gdi32/gdiobj.c
Modified: branches/arwinss/reactos/dll/win32/gdi32/driver.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
==============================================================================
--- branches/arwinss/reactos/dll/win32/gdi32/driver.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/gdi32/driver.c [iso-8859-1] Sat Jul 18 10:29:27
2009
@@ -237,22 +237,27 @@
return display_driver;
}
+#ifndef __REACTOS__
strcpy( buffer, "x11" ); /* default value */
+#else
+ strcpy( buffer, "nt" ); /* default value */
+#endif
/* @@ Wine registry key: HKCU\Software\Wine\Drivers */
+#if 0
if (!RegOpenKeyA( HKEY_CURRENT_USER, "Software\\Wine\\Drivers", &hkey
))
{
DWORD type, count = sizeof(buffer);
RegQueryValueExA( hkey, "Graphics", 0, &type, (LPBYTE) buffer,
&count );
RegCloseKey( hkey );
}
-
+#endif
name = buffer;
while (name)
{
next = strchr( name, ',' );
if (next) *next++ = 0;
- snprintf( libname, sizeof(libname), "wine%s.drv", name );
+ _snprintf( libname, sizeof(libname), "wine%s.drv", name );
if ((module = LoadLibraryA( libname )) != 0) break;
name = next;
}
Modified: branches/arwinss/reactos/dll/win32/gdi32/font.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
==============================================================================
--- branches/arwinss/reactos/dll/win32/gdi32/font.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/gdi32/font.c [iso-8859-1] Sat Jul 18 10:29:27 2009
@@ -3298,3 +3298,16 @@
return ret;
}
+
+
+int
+WINAPI
+GdiAddFontResourceW(
+ LPCWSTR lpszFilename,
+ FLONG fl,
+ DESIGNVECTOR *pdv)
+{
+ FIXME("GdiAddFontResourceW(%S %p) UNIMPLEMENTED\n", lpszFilename, pdv);
+ return 0;
+}
+
Modified: branches/arwinss/reactos/dll/win32/gdi32/freetype.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
==============================================================================
--- branches/arwinss/reactos/dll/win32/gdi32/freetype.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/gdi32/freetype.c [iso-8859-1] Sat Jul 18 10:29:27
2009
@@ -77,9 +77,12 @@
#undef SetRectRgn
#endif /* HAVE_CARBON_CARBON_H */
+#define WIN32_NO_STATUS
+#define NTOS_MODE_USER
#include "windef.h"
#include "winbase.h"
-#include "winternl.h"
+#include <ndk/ntndk.h>
+#include <ddk/ntstatus.h>
#include "winerror.h"
#include "winreg.h"
#include "wingdi.h"
@@ -109,6 +112,10 @@
#endif
#ifdef HAVE_FREETYPE_FTSNAMES_H
#include <freetype/ftsnames.h>
+#else
+# ifdef HAVE_FREETYPE_FTNAMES_H
+# include <freetype/ftnames.h>
+# endif
#endif
#ifdef HAVE_FREETYPE_TTNAMEID_H
#include <freetype/ttnameid.h>
@@ -851,10 +858,10 @@
Family *family;
Face *face;
const char *file;
- DWORD len = WideCharToMultiByte(CP_UNIXCP, 0, file_name, -1, NULL, 0, NULL, NULL);
+ DWORD len = WideCharToMultiByte(CP_ACP, 0, file_name, -1, NULL, 0, NULL, NULL);
char *file_nameA = HeapAlloc(GetProcessHeap(), 0, len);
- WideCharToMultiByte(CP_UNIXCP, 0, file_name, -1, file_nameA, len, NULL, NULL);
+ WideCharToMultiByte(CP_ACP, 0, file_name, -1, file_nameA, len, NULL, NULL);
TRACE("looking for file %s name %s\n", debugstr_a(file_nameA),
debugstr_w(face_name));
LIST_FOR_EACH_ENTRY(family, &font_list, Family, entry)
@@ -999,6 +1006,7 @@
static void LoadSubstList(void)
{
+#if 0
FontSubst *psub;
HKEY hkey;
DWORD valuelen, datalen, i = 0, type, dlen, vlen;
@@ -1044,6 +1052,9 @@
HeapFree(GetProcessHeap(), 0, value);
RegCloseKey(hkey);
}
+#else
+ UNIMPLEMENTED;
+#endif
}
@@ -1576,6 +1587,7 @@
*/
static void LoadReplaceList(void)
{
+#if 0
HKEY hkey;
DWORD valuelen, datalen, i = 0, type, dlen, vlen;
LPWSTR value;
@@ -1626,6 +1638,9 @@
HeapFree(GetProcessHeap(), 0, value);
RegCloseKey(hkey);
}
+#else
+ UNIMPLEMENTED;
+#endif
}
/*************************************************************
@@ -1646,17 +1661,75 @@
Family *family;
Face *face;
FontSubst *psub;
-
- if(RegOpenKeyW(HKEY_LOCAL_MACHINE, system_link, &hkey) == ERROR_SUCCESS)
- {
- RegQueryInfoKeyW(hkey, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &max_val,
&max_data, NULL, NULL);
+ NTSTATUS Status;
+ OBJECT_ATTRIBUTES Attributes;
+ UNICODE_STRING system_link =
RTL_CONSTANT_STRING(L"\\Registry\\Machine\\Software\\Microsoft\\Windows
NT\\CurrentVersion\\FontLink\\SystemLink");
+ KEY_FULL_INFORMATION FullInfoBuffer;
+ PKEY_FULL_INFORMATION FullInfo;
+ ULONG FullInfoSize, Length, total_size;
+ char buffer[256];
+ KEY_VALUE_FULL_INFORMATION *info = (KEY_VALUE_FULL_INFORMATION *)buffer;
+
+ InitializeObjectAttributes(&Attributes, &system_link, OBJ_CASE_INSENSITIVE,
NULL, NULL);
+ Status = NtOpenKey(&hkey, KEY_READ, &Attributes);
+ if (NT_SUCCESS(Status))
+ {
+ FullInfoSize = sizeof(KEY_FULL_INFORMATION);
+ FullInfo = &FullInfoBuffer;
+ Status = NtQueryKey(hkey, KeyFullInformation, FullInfo, FullInfoSize,
&Length);
+ if (!NT_SUCCESS(Status))
+ {
+ ERR("NtQueryKey failed with Status 0x%08X\n", Status);
+ NtClose(hkey);
+ return;
+ }
+
+ max_val = FullInfo->MaxValueNameLen / sizeof(WCHAR) + 1;
+ max_data = FullInfo->MaxValueDataLen;
+
value = HeapAlloc(GetProcessHeap(), 0, (max_val + 1) * sizeof(WCHAR));
data = HeapAlloc(GetProcessHeap(), 0, max_data);
val_len = max_val + 1;
data_len = max_data;
index = 0;
- while(RegEnumValueW(hkey, index++, value, &val_len, NULL, &type,
(LPBYTE)data, &data_len) == ERROR_SUCCESS)
+ while(TRUE)
{
+ total_size = FIELD_OFFSET( KEY_VALUE_FULL_INFORMATION, Name ) + (MAX_PATH +
1) * sizeof(WCHAR) + data_len;
+ total_size = min(sizeof(buffer), total_size);
+ Status = NtEnumerateValueKey(hkey, index++, KeyValueFullInformation, buffer,
total_size, &total_size);
+ if (Status == STATUS_BUFFER_OVERFLOW)
+ {
+ UNIMPLEMENTED;
+ }
+ else if (!NT_SUCCESS(Status)) break;
+
+ /* Copy value */
+ if (info->NameLength/sizeof(WCHAR) < val_len)
+ {
+ memcpy( value, info->Name, info->NameLength );
+ val_len = info->NameLength / sizeof(WCHAR);
+ value[val_len] = 0;
+ }
+
+ /* Copy data */
+ if (total_size - info->DataOffset < data_len)
+ {
+ memcpy( data, buffer + info->DataOffset, total_size -
info->DataOffset );
+ if (total_size - info->DataOffset <= data_len - sizeof(WCHAR)
&&
+ ((info->Type == REG_SZ) || (info->Type == REG_EXPAND_SZ) ||
(info->Type == REG_MULTI_SZ)))
+ {
+ /* if the type is REG_SZ and data is not 0-terminated
+ * and there is enough space in the buffer NT appends a \0 */
+ WCHAR *ptr = (WCHAR *)(data + total_size - info->DataOffset);
+ if (ptr > (WCHAR *)data && ptr[-1]) *ptr = 0;
+ }
+ }
+
+ /* Copy type and data length */
+ type = info->Type;
+ data_len = info->DataLength;
+
+
memset(&fs, 0, sizeof(fs));
psub = get_font_subst(&font_subst_list, value, -1);
/* Don't store fonts that are only substitutes for other fonts */
@@ -1718,7 +1791,7 @@
HeapFree(GetProcessHeap(), 0, value);
HeapFree(GetProcessHeap(), 0, data);
- RegCloseKey(hkey);
+ NtClose(hkey);
}
/* Explicitly add an entry for the system font, this links to Tahoma and any links
@@ -1759,6 +1832,7 @@
static BOOL ReadFontDir(const char *dirname, BOOL external_fonts)
{
+#if 0
DIR *dir;
struct dirent *dent;
char path[MAX_PATH];
@@ -1792,6 +1866,13 @@
}
closedir(dir);
return TRUE;
+#else
+ AddFontFileToList("C:\\ReactOS\\fonts\\tahoma.ttf", NULL, NULL,
external_fonts ? ADDFONT_EXTERNAL_FONT : 0);
+ AddFontFileToList("C:\\ReactOS\\fonts\\symbol.ttf", NULL, NULL,
external_fonts ? ADDFONT_EXTERNAL_FONT : 0);
+ AddFontFileToList("C:\\ReactOS\\fonts\\Marlett.ttf", NULL, NULL,
external_fonts ? ADDFONT_EXTERNAL_FONT : 0);
+ UNIMPLEMENTED;
+ return TRUE;
+#endif
}
static void load_fontconfig_fonts(void)
@@ -1878,14 +1959,14 @@
INT len;
char *unix_name;
- len = WideCharToMultiByte(CP_UNIXCP, 0, file, -1, NULL, 0, NULL, NULL);
+ len = WideCharToMultiByte(CP_ACP, 0, file, -1, NULL, 0, NULL, NULL);
unix_name = HeapAlloc(GetProcessHeap(), 0, strlen(data_dir) + len +
sizeof("/fonts/"));
strcpy(unix_name, data_dir);
strcat(unix_name, "/fonts/");
- WideCharToMultiByte(CP_UNIXCP, 0, file, -1, unix_name + strlen(unix_name), len,
NULL, NULL);
+ WideCharToMultiByte(CP_ACP, 0, file, -1, unix_name + strlen(unix_name), len,
NULL, NULL);
EnterCriticalSection( &freetype_cs );
ret = AddFontFileToList(unix_name, NULL, NULL, ADDFONT_FORCE_BITMAP);
@@ -1900,29 +1981,28 @@
static const WCHAR slashW[] = {'\\','\0'};
BOOL ret = FALSE;
WCHAR windowsdir[MAX_PATH];
- char *unixname;
+ char windowsdirA[MAX_PATH];
GetWindowsDirectoryW(windowsdir, sizeof(windowsdir) / sizeof(WCHAR));
strcatW(windowsdir, fontsW);
strcatW(windowsdir, slashW);
strcatW(windowsdir, file);
- if ((unixname = wine_get_unix_file_name(windowsdir))) {
- EnterCriticalSection( &freetype_cs );
- ret = AddFontFileToList(unixname, NULL, NULL, ADDFONT_FORCE_BITMAP);
- LeaveCriticalSection( &freetype_cs );
- HeapFree(GetProcessHeap(), 0, unixname);
- }
+ sprintf(windowsdirA, "%S", windowsdir);
+ EnterCriticalSection( &freetype_cs );
+ ret = AddFontFileToList(windowsdirA, NULL, NULL, ADDFONT_FORCE_BITMAP);
+ LeaveCriticalSection( &freetype_cs );
return ret;
}
static void load_system_fonts(void)
{
+#if 0
HKEY hkey;
WCHAR data[MAX_PATH], windowsdir[MAX_PATH], pathW[MAX_PATH];
+ char pathA[MAX_PATH];
const WCHAR * const *value;
DWORD dlen, type;
static const WCHAR fmtW[] =
{'%','s','\\','%','s','\0'};
- char *unixname;
if(RegOpenKeyW(HKEY_CURRENT_CONFIG, system_fonts_reg_key, &hkey) ==
ERROR_SUCCESS) {
GetWindowsDirectoryW(windowsdir, sizeof(windowsdir) / sizeof(WCHAR));
@@ -1934,16 +2014,15 @@
BOOL added = FALSE;
sprintfW(pathW, fmtW, windowsdir, data);
- if((unixname = wine_get_unix_file_name(pathW))) {
- added = AddFontFileToList(unixname, NULL, NULL,
ADDFONT_FORCE_BITMAP);
- HeapFree(GetProcessHeap(), 0, unixname);
- }
+ sprintf(pathA, "%S", pathW);
+ added = AddFontFileToList(pathA, NULL, NULL, ADDFONT_FORCE_BITMAP);
if (!added)
load_font_from_data_dir(data);
}
}
RegCloseKey(hkey);
}
+#endif
}
/*************************************************************
@@ -1955,6 +2034,7 @@
*/
static void update_reg_entries(void)
{
+#if 0
HKEY winnt_key = 0, win9x_key = 0, external_key = 0;
LPWSTR valueW;
DWORD len, len_fam;
@@ -2003,7 +2083,7 @@
}
strcatW(valueW, TrueType);
- file = wine_get_dos_file_name(face->file);
+ file = NULL;//wine_get_dos_file_name(face->file);
if(file)
len = strlenW(file) + 1;
else
@@ -2030,10 +2110,14 @@
if(win9x_key) RegCloseKey(win9x_key);
if(winnt_key) RegCloseKey(winnt_key);
return;
+#else
+ UNIMPLEMENTED;
+#endif
}
static void delete_external_font_keys(void)
{
+#if 0
HKEY winnt_key = 0, win9x_key = 0, external_key = 0;
DWORD dlen, vlen, datalen, valuelen, i, type;
LPWSTR valueW;
@@ -2086,6 +2170,9 @@
end:
if(win9x_key) RegCloseKey(win9x_key);
if(winnt_key) RegCloseKey(winnt_key);
+#else
+ UNIMPLEMENTED;
+#endif
}
/*************************************************************
@@ -2105,6 +2192,7 @@
if(flags)
FIXME("Ignoring flags %x\n", flags);
+#if 0
if((unixname = wine_get_unix_file_name(file)))
{
EnterCriticalSection( &freetype_cs );
@@ -2112,6 +2200,9 @@
LeaveCriticalSection( &freetype_cs );
HeapFree(GetProcessHeap(), 0, unixname);
}
+#else
+ UNIMPLEMENTED;
+#endif
if (!ret && !strchrW(file, '\\')) {
/* Try in %WINDIR%/fonts, needed for Fotobuch Designer */
ret = load_font_from_winfonts_dir(file);
@@ -2371,8 +2462,8 @@
{
HKEY hkey = 0;
- RegCreateKeyExW(HKEY_LOCAL_MACHINE, winnt_font_reg_key, 0, NULL,
- 0, KEY_ALL_ACCESS, NULL, &hkey, NULL);
+ //RegCreateKeyExW(HKEY_LOCAL_MACHINE, winnt_font_reg_key, 0, NULL,
+ // 0, KEY_ALL_ACCESS, NULL, &hkey, NULL);
return hkey;
}
@@ -2380,8 +2471,8 @@
{
HKEY hkey = 0;
- RegCreateKeyExW(HKEY_LOCAL_MACHINE, win9x_font_reg_key, 0, NULL,
- 0, KEY_ALL_ACCESS, NULL, &hkey, NULL);
+ //RegCreateKeyExW(HKEY_LOCAL_MACHINE, win9x_font_reg_key, 0, NULL,
+ // 0, KEY_ALL_ACCESS, NULL, &hkey, NULL);
return hkey;
}
@@ -2389,29 +2480,30 @@
{
HKEY hkey = 0;
- RegCreateKeyExW(HKEY_CURRENT_CONFIG, system_fonts_reg_key, 0, NULL,
- 0, KEY_ALL_ACCESS, NULL, &hkey, NULL);
+ //RegCreateKeyExW(HKEY_CURRENT_CONFIG, system_fonts_reg_key, 0, NULL,
+ // 0, KEY_ALL_ACCESS, NULL, &hkey, NULL);
return hkey;
}
static void add_font_list(HKEY hkey, const struct nls_update_font_list *fl)
{
- RegSetValueExA(hkey, "Courier", 0, REG_SZ, (const BYTE *)fl->courier,
strlen(fl->courier)+1);
- RegSetValueExA(hkey, "MS Serif", 0, REG_SZ, (const BYTE *)fl->serif,
strlen(fl->serif)+1);
- RegSetValueExA(hkey, "MS Sans Serif", 0, REG_SZ, (const BYTE
*)fl->sserif, strlen(fl->sserif)+1);
- RegSetValueExA(hkey, "Small Fonts", 0, REG_SZ, (const BYTE *)fl->small,
strlen(fl->small)+1);
+ //RegSetValueExA(hkey, "Courier", 0, REG_SZ, (const BYTE *)fl->courier,
strlen(fl->courier)+1);
+ //RegSetValueExA(hkey, "MS Serif", 0, REG_SZ, (const BYTE *)fl->serif,
strlen(fl->serif)+1);
+ //RegSetValueExA(hkey, "MS Sans Serif", 0, REG_SZ, (const BYTE
*)fl->sserif, strlen(fl->sserif)+1);
+ //RegSetValueExA(hkey, "Small Fonts", 0, REG_SZ, (const BYTE
*)fl->small, strlen(fl->small)+1);
}
static void set_value_key(HKEY hkey, const char *name, const char *value)
{
- if (value)
- RegSetValueExA(hkey, name, 0, REG_SZ, (const BYTE *)value, strlen(value) + 1);
- else if (name)
- RegDeleteValueA(hkey, name);
+ //if (value)
+ // RegSetValueExA(hkey, name, 0, REG_SZ, (const BYTE *)value, strlen(value) + 1);
+ //else if (name)
+ // RegDeleteValueA(hkey, name);
}
static void update_font_info(void)
{
+#if 0
char buf[40], cpbuf[40];
DWORD len, type;
HKEY hkey = 0;
@@ -2508,6 +2600,9 @@
/* Clear out system links */
RegDeleteKeyW(HKEY_LOCAL_MACHINE, system_link);
+#else
+ UNIMPLEMENTED;
+#endif
}
static void populate_system_links(HKEY hkey, const WCHAR *name, const WCHAR *const
*values)
@@ -2637,7 +2732,7 @@
static BOOL init_freetype(void)
{
- ft_handle = wine_dlopen(SONAME_LIBFREETYPE, RTLD_NOW, NULL, 0);
+ ft_handle = LoadLibraryA("freetype.dll");
if(!ft_handle) {
WINE_MESSAGE(
"Wine cannot find the FreeType font library. To enable Wine to\n"
@@ -2647,7 +2742,7 @@
return FALSE;
}
-#define LOAD_FUNCPTR(f) if((p##f = wine_dlsym(ft_handle, #f, NULL, 0)) ==
NULL){WARN("Can't find symbol %s\n", #f); goto sym_not_found;}
+#define LOAD_FUNCPTR(f) if((p##f = GetProcAddress(ft_handle, #f)) ==
NULL){WARN("Can't find symbol %s\n", #f); goto sym_not_found;}
LOAD_FUNCPTR(FT_Vector_Unit)
LOAD_FUNCPTR(FT_Done_Face)
@@ -2675,19 +2770,19 @@
#undef LOAD_FUNCPTR
/* Don't warn if these ones are missing */
- pFT_Library_Version = wine_dlsym(ft_handle, "FT_Library_Version", NULL,
0);
- pFT_Load_Sfnt_Table = wine_dlsym(ft_handle, "FT_Load_Sfnt_Table", NULL,
0);
- pFT_Get_First_Char = wine_dlsym(ft_handle, "FT_Get_First_Char", NULL, 0);
- pFT_Get_Next_Char = wine_dlsym(ft_handle, "FT_Get_Next_Char", NULL, 0);
- pFT_Get_TrueType_Engine_Type = wine_dlsym(ft_handle,
"FT_Get_TrueType_Engine_Type", NULL, 0);
+ pFT_Library_Version = GetProcAddress(ft_handle, "FT_Library_Version");
+ pFT_Load_Sfnt_Table = GetProcAddress(ft_handle, "FT_Load_Sfnt_Table");
+ pFT_Get_First_Char = GetProcAddress(ft_handle, "FT_Get_First_Char");
+ pFT_Get_Next_Char = GetProcAddress(ft_handle, "FT_Get_Next_Char");
+ pFT_Get_TrueType_Engine_Type = GetProcAddress(ft_handle,
"FT_Get_TrueType_Engine_Type");
#ifdef HAVE_FREETYPE_FTLCDFIL_H
- pFT_Library_SetLcdFilter = wine_dlsym(ft_handle, "FT_Library_SetLcdFilter",
NULL, 0);
+ pFT_Library_SetLcdFilter = GetProcAddress(ft_handle,
"FT_Library_SetLcdFilter");
#endif
#ifdef HAVE_FREETYPE_FTWINFNT_H
- pFT_Get_WinFNT_Header = wine_dlsym(ft_handle, "FT_Get_WinFNT_Header", NULL,
0);
+ pFT_Get_WinFNT_Header = GetProcAddress(ft_handle, "FT_Get_WinFNT_Header");
#endif
- if(!wine_dlsym(ft_handle, "FT_Get_Postscript_Name", NULL, 0) &&
- !wine_dlsym(ft_handle, "FT_Sqrt64", NULL, 0)) {
+ if(!GetProcAddress(ft_handle, "FT_Get_Postscript_Name") &&
+ !GetProcAddress(ft_handle, "FT_Sqrt64")) {
/* try to avoid 2.0.4: >= 2.0.5 has FT_Get_Postscript_Name and
<= 2.0.3 has FT_Sqrt64 */
goto sym_not_found;
@@ -2695,7 +2790,7 @@
if(pFT_Init_FreeType(&library) != 0) {
ERR("Can't init FreeType library\n");
- wine_dlclose(ft_handle, NULL, 0);
+ FreeLibrary(ft_handle);
ft_handle = NULL;
return FALSE;
}
@@ -2722,7 +2817,7 @@
"font library. To enable Wine to use TrueType fonts please upgrade\n"
"FreeType to at least version 2.0.5.\n"
"http://www.freetype.org\n");
- wine_dlclose(ft_handle, NULL, 0);
+ FreeLibrary(ft_handle);
ft_handle = NULL;
return FALSE;
}
@@ -2764,13 +2859,10 @@
/* load in the fonts from %WINDOWSDIR%\\Fonts first of all */
GetWindowsDirectoryW(windowsdir, sizeof(windowsdir) / sizeof(WCHAR));
strcatW(windowsdir, fontsW);
- if((unixname = wine_get_unix_file_name(windowsdir)))
- {
- ReadFontDir(unixname, FALSE);
- HeapFree(GetProcessHeap(), 0, unixname);
- }
+ ReadFontDir(windowsdir, FALSE);
/* load the system truetype fonts */
+#if 0
data_dir = wine_get_data_dir();
if (!data_dir) data_dir = wine_get_build_dir();
if (data_dir && (unixname = HeapAlloc(GetProcessHeap(), 0, strlen(data_dir) +
sizeof("/fonts/")))) {
@@ -2779,11 +2871,13 @@
ReadFontDir(unixname, TRUE);
HeapFree(GetProcessHeap(), 0, unixname);
}
+#endif
/* now look under HKLM\Software\Microsoft\Windows[ NT]\CurrentVersion\Fonts
for any fonts not installed in %WINDOWSDIR%\Fonts. They will have their
full path as the entry. Also look for any .fon fonts, since ReadFontDir
will skip these. */
+#if 0
if(RegOpenKeyW(HKEY_LOCAL_MACHINE,
is_win9x() ? win9x_font_reg_key : winnt_font_reg_key,
&hkey) == ERROR_SUCCESS) {
@@ -2802,11 +2896,7 @@
&dlen) == ERROR_SUCCESS) {
if(data[0] && (data[1] == ':'))
{
- if((unixname = wine_get_unix_file_name(data)))
- {
- AddFontFileToList(unixname, NULL, NULL, ADDFONT_FORCE_BITMAP);
- HeapFree(GetProcessHeap(), 0, unixname);
- }
+ AddFontFileToList(data, NULL, NULL, ADDFONT_FORCE_BITMAP);
}
else if(dlen / 2 >= 6 && !strcmpiW(data + dlen / 2 - 5,
dot_fonW))
{
@@ -2815,11 +2905,7 @@
BOOL added = FALSE;
sprintfW(pathW, fmtW, windowsdir, data);
- if((unixname = wine_get_unix_file_name(pathW)))
- {
- added = AddFontFileToList(unixname, NULL, NULL,
ADDFONT_FORCE_BITMAP);
- HeapFree(GetProcessHeap(), 0, unixname);
- }
+ added = AddFontFileToList(pathW, NULL, NULL, ADDFONT_FORCE_BITMAP);
if (!added)
load_font_from_data_dir(data);
}
@@ -2832,11 +2918,12 @@
HeapFree(GetProcessHeap(), 0, valueW);
RegCloseKey(hkey);
}
-
+#endif
load_fontconfig_fonts();
/* then look in any directories that we've specified in the config file */
/* @@ Wine registry key: HKCU\Software\Wine\Fonts */
+#if 0
if(RegOpenKeyA(HKEY_CURRENT_USER, "Software\\Wine\\Fonts", &hkey) ==
ERROR_SUCCESS)
{
DWORD len;
@@ -2849,9 +2936,9 @@
valueW = HeapAlloc( GetProcessHeap(), 0, len );
if (RegQueryValueExW( hkey, pathW, NULL, NULL, (LPBYTE)valueW, &len ) ==
ERROR_SUCCESS)
{
- len = WideCharToMultiByte( CP_UNIXCP, 0, valueW, -1, NULL, 0, NULL, NULL
);
+ len = WideCharToMultiByte( CP_ACP, 0, valueW, -1, NULL, 0, NULL, NULL );
valueA = HeapAlloc( GetProcessHeap(), 0, len );
- WideCharToMultiByte( CP_UNIXCP, 0, valueW, -1, valueA, len, NULL, NULL
);
+ WideCharToMultiByte( CP_ACP, 0, valueW, -1, valueA, len, NULL, NULL );
TRACE( "got font path %s\n", debugstr_a(valueA) );
ptr = valueA;
while (ptr)
@@ -2867,6 +2954,7 @@
}
RegCloseKey(hkey);
}
+#endif
DumpFontList();
LoadSubstList();
@@ -2925,52 +3013,57 @@
static struct font_mapping *map_font_file( const char *name )
{
struct font_mapping *mapping;
- struct stat st;
- int fd;
-
- if ((fd = open( name, O_RDONLY )) == -1) return NULL;
- if (fstat( fd, &st ) == -1) goto error;
+ //struct stat st;
+ HANDLE file, mapped_file;
+
+ file = CreateFileA( name, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0 );
+ if (!file) return NULL;
LIST_FOR_EACH_ENTRY( mapping, &mappings_list, struct font_mapping, entry )
{
+#if 0
if (mapping->dev == st.st_dev && mapping->ino == st.st_ino)
{
mapping->refcount++;
- close( fd );
+ CloseHandle( file );
return mapping;
}
+#endif
}
if (!(mapping = HeapAlloc( GetProcessHeap(), 0, sizeof(*mapping) )))
goto error;
- mapping->data = mmap( NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0 );
- close( fd );
-
- if (mapping->data == MAP_FAILED)
+ mapped_file = CreateFileMappingW(file, NULL, PAGE_READONLY, 0, 0, NULL);
+ mapping->data = MapViewOfFile(mapped_file, FILE_MAP_READ, 0, 0, 0);
+ CloseHandle( file );
+
+ if (mapping->data == NULL)
{
HeapFree( GetProcessHeap(), 0, mapping );
return NULL;
}
mapping->refcount = 1;
- mapping->dev = st.st_dev;
- mapping->ino = st.st_ino;
- mapping->size = st.st_size;
+ //mapping->dev = st.st_dev;
+ //mapping->ino = st.st_ino;
+ //mapping->size = st.st_size;
list_add_tail( &mappings_list, &mapping->entry );
return mapping;
error:
- close( fd );
+ CloseHandle( file );
return NULL;
}
static void unmap_font_file( struct font_mapping *mapping )
{
+#if 0
if (!--mapping->refcount)
{
list_remove( &mapping->entry );
munmap( mapping->data, mapping->size );
HeapFree( GetProcessHeap(), 0, mapping );
}
+#endif
}
static LONG load_VDMX(GdiFont*, LONG);
Modified: branches/arwinss/reactos/dll/win32/gdi32/gdi32.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
==============================================================================
--- branches/arwinss/reactos/dll/win32/gdi32/gdi32.rbuild [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/gdi32/gdi32.rbuild [iso-8859-1] Sat Jul 18 10:29:27
2009
@@ -2,6 +2,7 @@
<importlibrary definition="gdi32.spec" />
<include base="gdi32">include</include>
<include base="ReactOS">include/reactos/wine</include>
+ <include base="ReactOS">dll/3rdparty/freetype/include</include>
<define name="_DISABLE_TIDENTS" />
<define name="WINVER">0x0600</define>
<define name="_WIN32_WINNT">0x0501</define>
Modified: branches/arwinss/reactos/dll/win32/gdi32/gdi32.spec
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
==============================================================================
--- branches/arwinss/reactos/dll/win32/gdi32/gdi32.spec [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/gdi32/gdi32.spec [iso-8859-1] Sat Jul 18 10:29:27
2009
@@ -8,18 +8,25 @@
@ stdcall AddFontResourceW(wstr)
@ stdcall AngleArc(long long long long long long)
@ stdcall AnimatePalette(long long long ptr)
-# @ stub AnyLinkedFonts
+@ stub AnyLinkedFonts
@ stdcall Arc(long long long long long long long long long)
@ stdcall ArcTo(long long long long long long long long long)
+@ stub BRUSHOBJ_hGetColorTransform
+@ stub BRUSHOBJ_pvAllocRbrush
+@ stub BRUSHOBJ_pvGetRbrush
+@ stub BRUSHOBJ_ulGetBrushColor
@ stdcall BeginPath(long)
@ stdcall BitBlt(long long long long long long long long long)
@ stub ByeByeGDI
+@ stub CLIPOBJ_bEnum
+@ stub CLIPOBJ_cEnumStart
+@ stub CLIPOBJ_ppoGetPath
@ stdcall CancelDC(long)
@ stub CheckColorsInGamut
@ stdcall ChoosePixelFormat(long ptr)
@ stdcall Chord(long long long long long long long long long)
-# @ stub ClearBitmapAttributes
-# @ stub ClearBrushAttributes
+@ stub ClearBitmapAttributes
+@ stub ClearBrushAttributes
@ stdcall CloseEnhMetaFile(long)
@ stdcall CloseFigure(long)
@ stdcall CloseMetaFile(long)
@@ -51,8 +58,8 @@
@ stdcall CreateEnhMetaFileW(long wstr ptr wstr)
@ stdcall CreateFontA(long long long long long long long long long long long long long
str)
@ stdcall CreateFontIndirectA(ptr)
-# @ stub CreateFontIndirectExA
-# @ stub CreateFontIndirectExW
+@ stub CreateFontIndirectExA
+@ stub CreateFontIndirectExW
@ stdcall CreateFontIndirectW(ptr)
@ stdcall CreateFontW(long long long long long long long long long long long long long
wstr)
@ stdcall CreateHalftonePalette(long)
@@ -74,6 +81,63 @@
@ stdcall CreateScalableFontResourceW(long wstr wstr wstr)
@ stdcall CreateSolidBrush(long)
@ stdcall DPtoLP(long ptr long)
+@ stub DdEntry0
+@ stub DdEntry10
+@ stub DdEntry11
+@ stub DdEntry12
+@ stub DdEntry13
+@ stub DdEntry14
+@ stub DdEntry15
+@ stub DdEntry16
+@ stub DdEntry17
+@ stub DdEntry18
+@ stub DdEntry19
+@ stub DdEntry1
+@ stub DdEntry20
+@ stub DdEntry21
+@ stub DdEntry22
+@ stub DdEntry23
+@ stub DdEntry24
+@ stub DdEntry25
+@ stub DdEntry26
+@ stub DdEntry27
+@ stub DdEntry28
+@ stub DdEntry29
+@ stub DdEntry2
+@ stub DdEntry30
+@ stub DdEntry31
+@ stub DdEntry32
+@ stub DdEntry33
+@ stub DdEntry34
+@ stub DdEntry35
+@ stub DdEntry36
+@ stub DdEntry37
+@ stub DdEntry38
+@ stub DdEntry39
+@ stub DdEntry3
+@ stub DdEntry40
+@ stub DdEntry41
+@ stub DdEntry42
+@ stub DdEntry43
+@ stub DdEntry44
+@ stub DdEntry45
+@ stub DdEntry46
+@ stub DdEntry47
+@ stub DdEntry48
+@ stub DdEntry49
+@ stub DdEntry4
+@ stub DdEntry50
+@ stub DdEntry51
+@ stub DdEntry52
+@ stub DdEntry53
+@ stub DdEntry54
+@ stub DdEntry55
+@ stub DdEntry56
+@ stub DdEntry5
+@ stub DdEntry6
+@ stub DdEntry7
+@ stub DdEntry8
+@ stub DdEntry9
@ stdcall DeleteColorSpace(long)
@ stdcall DeleteDC(long)
@ stdcall DeleteEnhMetaFile(long)
@@ -87,9 +151,55 @@
@ stdcall Ellipse(long long long long long)
@ stdcall EnableEUDC(long)
@ stdcall EndDoc(long)
-# @ stub EndFormPage
+@ stub EndFormPage
@ stdcall EndPage(long)
@ stdcall EndPath(long)
+@ stub EngAcquireSemaphore
+@ stub EngAlphaBlend
+@ stub EngAssociateSurface
+@ stub EngBitBlt
+@ stub EngCheckAbort
+@ stub EngComputeGlyphSet
+@ stub EngCopyBits
+@ stub EngCreateBitmap
+@ stub EngCreateClip
+@ stub EngCreateDeviceBitmap
+@ stub EngCreateDeviceSurface
+@ stub EngCreatePalette
+@ stub EngCreateSemaphore
+@ stub EngDeleteClip
+@ stub EngDeletePalette
+@ stub EngDeletePath
+@ stub EngDeleteSemaphore
+@ stub EngDeleteSurface
+@ stub EngEraseSurface
+@ stub EngFillPath
+@ stub EngFindResource
+@ stub EngFreeModule
+@ stub EngGetCurrentCodePage
+@ stub EngGetDriverName
+@ stub EngGetPrinterDataFileName
+@ stub EngGradientFill
+@ stub EngLineTo
+@ stub EngLoadModule
+@ stub EngLockSurface
+@ stub EngMarkBandingSurface
+@ stub EngMultiByteToUnicodeN
+@ stub EngMultiByteToWideChar
+@ stub EngPaint
+@ stub EngPlgBlt
+@ stub EngQueryEMFInfo
+@ stub EngQueryLocalTime
+@ stub EngReleaseSemaphore
+@ stub EngStretchBlt
+@ stub EngStretchBltROP
+@ stub EngStrokeAndFillPath
+@ stub EngStrokePath
+@ stub EngTextOut
+@ stub EngTransparentBlt
+@ stub EngUnicodeToMultiByteN
+@ stub EngUnlockSurface
+@ stub EngWideCharToMultiByte
@ stdcall EnumEnhMetaFile(long long ptr ptr ptr)
@ stdcall EnumFontFamiliesA(long str ptr long)
@ stdcall EnumFontFamiliesExA(long ptr ptr long long)
@@ -103,8 +213,8 @@
@ stdcall EnumObjects(long long ptr long)
@ stdcall EqualRgn(long long)
@ stdcall Escape(long long long ptr ptr)
-# @ stub EudcLoadLinkW
-# @ stub EudcUnloadLinkW
+@ stub EudcLoadLinkW
+@ stub EudcUnloadLinkW
@ stdcall ExcludeClipRect(long long long long long)
@ stdcall ExtCreatePen(long long ptr long ptr)
@ stdcall ExtCreateRegion(ptr long ptr)
@@ -113,6 +223,14 @@
@ stdcall ExtSelectClipRgn(long long long)
@ stdcall ExtTextOutA(long long long long ptr str long ptr)
@ stdcall ExtTextOutW(long long long long ptr wstr long ptr)
+@ stub FONTOBJ_cGetAllGlyphHandles
+@ stub FONTOBJ_cGetGlyphs
+@ stub FONTOBJ_pQueryGlyphAttrs
+@ stub FONTOBJ_pfdg
+@ stub FONTOBJ_pifi
+@ stub FONTOBJ_pvTrueTypeFontFile
+@ stub FONTOBJ_pxoGetXform
+@ stub FONTOBJ_vGetInfo
@ stdcall FillPath(long)
@ stdcall FillRgn(long long long)
@ stdcall FixBrushOrgEx(long long long ptr)
@@ -121,18 +239,18 @@
@ stdcall FontIsLinked(long)
@ stdcall FrameRgn(long long long long long)
@ stub FreeImageColorMatcher
-# @ stub GdiAddFontResourceW
-# @ stub GdiAddGlsBounds
-# @ stub GdiAddGlsRecord
+@ stdcall GdiAddFontResourceW(ptr ptr ptr)
+@ stub GdiAddGlsBounds
+@ stub GdiAddGlsRecord
@ stdcall GdiAlphaBlend(long long long long long long long long long long long)
-# @ stub GdiArtificialDecrementDriver
+@ stub GdiArtificialDecrementDriver
@ stub GdiAssociateObject
@ stub GdiCleanCacheDC
@ stdcall GdiComment(long long ptr)
-# @ stub GdiConsoleTextOut
+@ stub GdiConsoleTextOut
@ stub GdiConvertAndCheckDC
@ stub GdiConvertBitmap
-# @ stub GdiConvertBitmapV5
+@ stub GdiConvertBitmapV5
@ stub GdiConvertBrush
@ stub GdiConvertDC
@ stub GdiConvertEnhMetaFile
@@ -161,71 +279,87 @@
@ stub GdiDciSetDestination
@ stub GdiDeleteLocalDC
@ stub GdiDeleteLocalObject
-# @ stub GdiDeleteSpoolFileHandle
-# @ stub GdiDescribePixelFormat
+@ stub GdiDeleteSpoolFileHandle
+@ stub GdiDescribePixelFormat
@ stub GdiDllInitialize
-# @ stub GdiDrawStream
-# @ stub GdiEndDocEMF
-# @ stub GdiEndPageEMF
-# @ stub GdiFixUpHandle
+@ stub GdiDrawStream
+@ stub GdiEndDocEMF
+@ stub GdiEndPageEMF
+@ stub GdiEntry10
+@ stub GdiEntry11
+@ stub GdiEntry12
+@ stub GdiEntry13
+@ stub GdiEntry14
+@ stub GdiEntry15
+@ stub GdiEntry16
+@ stub GdiEntry1
+@ stub GdiEntry2
+@ stub GdiEntry3
+@ stub GdiEntry4
+@ stub GdiEntry5
+@ stub GdiEntry6
+@ stub GdiEntry7
+@ stub GdiEntry8
+@ stub GdiEntry9
+@ stub GdiFixUpHandle
@ stdcall GdiFlush()
-# @ stub GdiFullscreenControl
+@ stub GdiFullscreenControl
@ stdcall GdiGetBatchLimit()
@ stdcall GdiGetCharDimensions(long ptr ptr)
@ stdcall GdiGetCodePage(long)
-# @ stub GdiGetDC
-# @ stub GdiGetDevmodeForPage
+@ stub GdiGetDC
+@ stub GdiGetDevmodeForPage
@ stub GdiGetLocalBitmap
@ stub GdiGetLocalBrush
@ stub GdiGetLocalDC
@ stub GdiGetLocalFont
-# @ stub GdiGetPageCount
-# @ stub GdiGetPageHandle
-# @ stub GdiGetSpoolFileHandle
+@ stub GdiGetPageCount
+@ stub GdiGetPageHandle
+@ stub GdiGetSpoolFileHandle
@ stdcall GdiGetSpoolMessage(ptr long ptr long)
@ stdcall GdiGradientFill(long ptr long ptr long long)
@ stdcall GdiInitSpool()
-# @ stub GdiInitializeLanguagePack
+@ stub GdiInitializeLanguagePack
@ stdcall GdiIsMetaFileDC(long)
@ stdcall GdiIsMetaPrintDC(long)
@ stdcall GdiIsPlayMetafileDC(long)
@ stub GdiPlayDCScript
-# @ stub GdiPlayEMF
+@ stub GdiPlayEMF
@ stub GdiPlayJournal
-# @ stub GdiPlayPageEMF
-# @ stub GdiPlayPrivatePageEMF
+@ stub GdiPlayPageEMF
+@ stub GdiPlayPrivatePageEMF
@ stub GdiPlayScript
-# @ stub GdiPrinterThunk
-# @ stub GdiProcessSetup
-# @ stub GdiQueryFonts
-# @ stub GdiQueryTable
+@ stub GdiPrinterThunk
+@ stub GdiProcessSetup
+@ stub GdiQueryFonts
+@ stub GdiQueryTable
@ stdcall GdiRealizationInfo(long ptr)
-# @ stub GdiReleaseDC
+@ stub GdiReleaseDC
@ stub GdiReleaseLocalDC
-# @ stub GdiResetDCEMF
+@ stub GdiResetDCEMF
@ stub GdiSetAttrs
@ stdcall GdiSetBatchLimit(long)
-# @ stub GdiSetLastError
-# @ stub GdiSetPixelFormat
+@ stub GdiSetLastError
+@ stub GdiSetPixelFormat
@ stub GdiSetServerAttr
-# @ stub GdiStartDocEMF
-# @ stub GdiStartPageEMF
-# @ stub GdiSwapBuffers
+@ stub GdiStartDocEMF
+@ stub GdiStartPageEMF
+@ stub GdiSwapBuffers
@ stdcall GdiTransparentBlt(long long long long long long long long long long long)
-# @ stub GdiValidateHandle
+@ stub GdiValidateHandle
@ stub GdiWinWatchClose
@ stub GdiWinWatchDidStatusChange
@ stub GdiWinWatchGetClipList
@ stub GdiWinWatchOpen
@ stdcall GetArcDirection(long)
@ stdcall GetAspectRatioFilterEx(long ptr)
-# @ stub GetBitmapAttributes
+@ stub GetBitmapAttributes
@ stdcall GetBitmapBits(long long ptr)
@ stdcall GetBitmapDimensionEx(long ptr)
@ stdcall GetBkColor(long)
@ stdcall GetBkMode(long)
@ stdcall GetBoundsRect(long ptr long)
-# @ stub GetBrushAttributes
+@ stub GetBrushAttributes
@ stdcall GetBrushOrgEx(long ptr)
@ stdcall GetCharABCWidthsA(long long long ptr)
@ stdcall GetCharABCWidthsFloatA(long long long ptr)
@@ -238,7 +372,7 @@
@ stdcall GetCharWidthFloatA(long long long ptr)
@ stdcall GetCharWidthFloatW(long long long ptr)
@ stdcall GetCharWidthI(ptr long long ptr ptr)
-# @ stub GetCharWidthInfo
+@ stub GetCharWidthInfo
@ stdcall GetCharWidthW(long long long long) GetCharWidth32W
@ stub GetCharWidthWOW
@ stdcall GetCharacterPlacementA(long str long long ptr long)
@@ -257,17 +391,17 @@
@ stdcall GetDeviceCaps(long long)
@ stdcall GetDeviceGammaRamp(long ptr)
@ stub GetETM
-# @ stub GetEUDCTimeStamp
-# @ stub GetEUDCTimeStampExW
+@ stub GetEUDCTimeStamp
+@ stub GetEUDCTimeStampExW
@ stdcall GetEnhMetaFileA(str)
@ stdcall GetEnhMetaFileBits(long long ptr)
@ stdcall GetEnhMetaFileDescriptionA(long long ptr)
@ stdcall GetEnhMetaFileDescriptionW(long long ptr)
@ stdcall GetEnhMetaFileHeader(long long ptr)
@ stdcall GetEnhMetaFilePaletteEntries (long long ptr)
-# @ stub GetEnhMetaFilePixelFormat
+@ stub GetEnhMetaFilePixelFormat
@ stdcall GetEnhMetaFileW(wstr)
-# @ stub GetFontAssocStatus
+@ stub GetFontAssocStatus
@ stdcall GetFontData(long long long ptr long)
@ stdcall GetFontLanguageInfo(long)
@ stub GetFontResourceInfo
@@ -280,7 +414,7 @@
@ stdcall GetGlyphOutlineW(long long long ptr long ptr ptr)
@ stub GetGlyphOutlineWow
@ stdcall GetGraphicsMode(long)
-# @ stub GetHFONT
+@ stub GetHFONT
@ stdcall GetICMProfileA(long ptr ptr)
@ stdcall GetICMProfileW(long ptr ptr)
@ stdcall GetKerningPairs(long long ptr) GetKerningPairsA
@@ -315,8 +449,8 @@
@ stdcall GetRgnBox(long ptr)
@ stdcall GetStockObject(long)
@ stdcall GetStretchBltMode(long)
-# @ stub GetStringBitmapA
-# @ stub GetStringBitmapW
+@ stub GetStringBitmapA
+@ stub GetStringBitmapW
@ stdcall GetSystemPaletteEntries(long long long ptr)
@ stdcall GetSystemPaletteUse(long)
@ stdcall GetTextAlign(long)
@@ -327,14 +461,14 @@
@ stdcall GetTextExtentExPointA(long str long long ptr ptr ptr)
@ stdcall GetTextExtentExPointI(long ptr long long ptr ptr ptr)
@ stdcall GetTextExtentExPointW(long wstr long long ptr ptr ptr)
-# @ stub GetTextExtentExPointWPri
+@ stub GetTextExtentExPointWPri
@ stdcall GetTextExtentPoint32A(long str long ptr)
@ stdcall GetTextExtentPoint32W(long wstr long ptr)
@ stdcall GetTextExtentPointA(long str long ptr)
@ stdcall GetTextExtentPointI(long ptr long ptr)
@ stdcall GetTextExtentPointW(long wstr long ptr)
@ stdcall GetTextFaceA(long long ptr)
-# @ stub GetTextFaceAliasW
+@ stub GetTextFaceAliasW
@ stdcall GetTextFaceW(long long ptr)
@ stdcall GetTextMetricsA(long ptr)
@ stdcall GetTextMetricsW(long ptr)
@@ -347,15 +481,15 @@
@ stdcall GetWorldTransform(long ptr)
@ stdcall IntersectClipRect(long long long long long)
@ stdcall InvertRgn(long long)
-# @ stub IsValidEnhMetaRecord
-# @ stub IsValidEnhMetaRecordOffExt
+@ stub IsValidEnhMetaRecord
+@ stub IsValidEnhMetaRecordOffExt
@ stdcall LPtoDP(long ptr long)
@ stdcall LineDDA(long long long long ptr long)
@ stdcall LineTo(long long long)
@ stub LoadImageColorMatcherA
@ stub LoadImageColorMatcherW
@ stdcall MaskBlt(long long long long long long long long long long long long)
-# @ stub MirrorRgn
+@ stub MirrorRgn
@ stdcall ModifyWorldTransform(long ptr long)
@ stdcall MoveToEx(long long long ptr)
@ stdcall NamedEscape(long wstr long long ptr long ptr)
@@ -375,7 +509,7 @@
@ stdcall PolyBezier(long ptr long)
@ stdcall PolyBezierTo(long ptr long)
@ stdcall PolyDraw(long ptr ptr long)
-# @ stub PolyPatBlt
+@ stub PolyPatBlt
@ stdcall PolyPolygon(long ptr ptr long)
@ stdcall PolyPolyline(long ptr ptr long)
@ stdcall PolyTextOutA(long ptr long)
@@ -385,7 +519,7 @@
@ stdcall PolylineTo(long ptr long)
@ stdcall PtInRegion(long long long)
@ stdcall PtVisible(long long long)
-# @ stub QueryFontAssocStatus
+@ stub QueryFontAssocStatus
@ stdcall RealizePalette(long)
@ stdcall RectInRegion(long ptr)
@ stdcall RectVisible(long ptr)
@@ -412,13 +546,13 @@
@ stdcall SelectPalette(long long long)
@ stdcall SetAbortProc(long ptr)
@ stdcall SetArcDirection(long long)
-# @ stub SetBitmapAttributes
+@ stub SetBitmapAttributes
@ stdcall SetBitmapBits(long long ptr)
@ stdcall SetBitmapDimensionEx(long long long ptr)
@ stdcall SetBkColor(long long)
@ stdcall SetBkMode(long long)
@ stdcall SetBoundsRect(long ptr long)
-# @ stub SetBrushAttributes
+@ stub SetBrushAttributes
@ stdcall SetBrushOrgEx(long long long ptr)
@ stdcall SetColorAdjustment(long ptr)
@ stdcall SetColorSpace(long long)
@@ -435,7 +569,7 @@
@ stdcall SetICMProfileA(long str)
@ stdcall SetICMProfileW(long wstr)
@ stdcall SetLayout(long long)
-# @ stub SetLayoutWidth
+@ stub SetLayoutWidth
@ stdcall SetMagicColors(ptr long long)
@ stdcall SetMapMode(long long)
@ stdcall SetMapperFlags(long long)
@@ -466,7 +600,7 @@
@ stdcall SetWorldTransform(long ptr)
@ stdcall StartDocA(long ptr)
@ stdcall StartDocW(long ptr)
-# @ stub StartFormPage
+@ stub StartFormPage
@ stdcall StartPage(long)
@ stdcall StretchBlt(long long long long long long long long long long long)
@ stdcall StretchDIBits(long long long long long long long long long ptr ptr long long)
@@ -483,6 +617,9 @@
@ stdcall UpdateICMRegKeyA(long str str long)
@ stdcall UpdateICMRegKeyW(long wstr wstr long)
@ stdcall WidenPath(long)
+@ stub bInitSystemAndFontsDirectoriesW
+@ stub bMakePathNameW
+@ stub cGetTTFFromFOT
@ stub gdiPlaySpoolStream
@ extern pfnRealizePalette
@ extern pfnSelectPalette
Modified: branches/arwinss/reactos/dll/win32/gdi32/gdi_private.h
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
==============================================================================
--- branches/arwinss/reactos/dll/win32/gdi32/gdi_private.h [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/gdi32/gdi_private.h [iso-8859-1] Sat Jul 18
10:29:27 2009
@@ -516,5 +516,23 @@
BOOL WINAPI FontIsLinked(HDC);
BOOL WINAPI SetVirtualResolution(HDC hdc, DWORD horz_res, DWORD vert_res, DWORD
horz_size, DWORD vert_size);
+NTSYSAPI
+VOID
+NTAPI
+RtlAssert(
+ PVOID FailedAssertion,
+ PVOID FileName,
+ ULONG LineNumber,
+ PCHAR Message
+);
+
+#ifdef assert
+#undef assert
+#endif
+#define assert(x) if (!(x)) {RtlAssert("#x",__FILE__,__LINE__, "");
}
+
+#ifndef ASSERT
+#define ASSERT(x) if (!(x)) {RtlAssert("#x",__FILE__,__LINE__, "");
}
+#endif
#endif /* __WINE_GDI_PRIVATE_H */
Modified: branches/arwinss/reactos/dll/win32/gdi32/gdiobj.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
==============================================================================
--- branches/arwinss/reactos/dll/win32/gdi32/gdiobj.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/gdi32/gdiobj.c [iso-8859-1] Sat Jul 18 10:29:27
2009
@@ -492,6 +492,7 @@
static DWORD get_dpi( void )
{
DWORD dpi = 96;
+#if 0
HKEY hkey;
if (RegOpenKeyW(HKEY_CURRENT_CONFIG, dpi_key_name, &hkey) == ERROR_SUCCESS)
@@ -506,6 +507,7 @@
}
RegCloseKey(hkey);
}
+#endif
return dpi;
}