mirror of
https://github.com/reactos/reactos.git
synced 2024-07-04 19:54:58 +00:00
[GDI32_APITEST] Add tests for GetFontResourceInfoW. Patch by Katayama Hirofumi MZ. CORE-6621
svn path=/trunk/; revision=73825
This commit is contained in:
parent
5d76039958
commit
29631b02e2
|
@ -44,6 +44,7 @@ list(APPEND SOURCE
|
||||||
GetCurrentObject.c
|
GetCurrentObject.c
|
||||||
GetDIBColorTable.c
|
GetDIBColorTable.c
|
||||||
GetDIBits.c
|
GetDIBits.c
|
||||||
|
GetFontResourceInfoW.c
|
||||||
GetGlyphIndices.c
|
GetGlyphIndices.c
|
||||||
GetObject.c
|
GetObject.c
|
||||||
GetRandomRgn.c
|
GetRandomRgn.c
|
||||||
|
|
433
rostests/apitests/gdi32/GetFontResourceInfoW.c
Normal file
433
rostests/apitests/gdi32/GetFontResourceInfoW.c
Normal file
|
@ -0,0 +1,433 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for GetFontResourceInfoW
|
||||||
|
* PROGRAMMERS: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
|
||||||
|
*/
|
||||||
|
#include <apitest.h>
|
||||||
|
#include <wingdi.h>
|
||||||
|
#include <winnls.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
/* GetFontResourceInfoW is undocumented */
|
||||||
|
BOOL WINAPI GetFontResourceInfoW(LPCWSTR lpFileName, DWORD *pdwBufSize, void* lpBuffer, DWORD dwType);
|
||||||
|
|
||||||
|
/* structure of test entry */
|
||||||
|
typedef struct GFRI_ENTRY
|
||||||
|
{
|
||||||
|
LPCWSTR File;
|
||||||
|
WCHAR FontInfo[64];
|
||||||
|
INT FontCount;
|
||||||
|
WCHAR FaceNames[10][64];
|
||||||
|
} GFRI_ENTRY;
|
||||||
|
|
||||||
|
/* test entries */
|
||||||
|
static const GFRI_ENTRY TestEntries[] =
|
||||||
|
{
|
||||||
|
{ L"symbol.ttf", L"Symbol|", 1, { L"Symbol" } },
|
||||||
|
{ L"tahoma.ttf", L"Tahoma|", 1, { L"Tahoma" } },
|
||||||
|
{ L"tahomabd.ttf", L"Tahoma Bold|", 1, { L"Tahoma" } }
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Japanese */
|
||||||
|
static const GFRI_ENTRY AdditionalTestEntriesJapanese[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
/* MS Gothic & MS UI Gothic & MS PGothic */
|
||||||
|
L"msgothic.ttc",
|
||||||
|
{
|
||||||
|
0xFF2D, 0xFF33, 0x0020, 0x30B4, 0x30B7, 0x30C3, 0x30AF, 0x0020,
|
||||||
|
0x0026, 0x0020, 0x004D, 0x0053, 0x0020, 0x0055, 0x0049, 0x0020,
|
||||||
|
0x0047, 0x006F, 0x0074, 0x0068, 0x0069, 0x0063, 0x0020, 0x0026,
|
||||||
|
0x0020, 0xFF2D, 0xFF33, 0x0020, 0xFF30, 0x30B4, 0x30B7, 0x30C3,
|
||||||
|
0x30AF, L'|', 0
|
||||||
|
},
|
||||||
|
6,
|
||||||
|
{
|
||||||
|
{ 0xFF2D, 0xFF33, 0x0020, 0x30B4, 0x30B7, 0x30C3, 0x30AF, 0 },
|
||||||
|
{ L'@', 0xFF2D, 0xFF33, 0x0020, 0x30B4, 0x30B7, 0x30C3, 0x30AF, 0 },
|
||||||
|
L"MS UI Gothic",
|
||||||
|
L"@MS UI Gothic",
|
||||||
|
{ 0xFF2D, 0xFF33, 0x0020, 0xFF30, 0x30B4, 0x30B7, 0x30C3, 0x30AF, 0 },
|
||||||
|
{ L'@', 0xFF2D, 0xFF33, 0x0020, 0xFF30, 0x30B4, 0x30B7, 0x30C3, 0x30AF, 0 }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/* English */
|
||||||
|
static const GFRI_ENTRY AdditionalTestEntriesEnglish[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
/* MS Gothic & MS UI Gothic & MS PGothic */
|
||||||
|
L"msgothic.ttc",
|
||||||
|
L"MS Gothic & MS UI Gothic & MS PGothic|",
|
||||||
|
6,
|
||||||
|
{
|
||||||
|
L"MS Gothic",
|
||||||
|
L"@MS Gothic",
|
||||||
|
L"MS UI Gothic",
|
||||||
|
L"@MS UI Gothic",
|
||||||
|
L"MS PGothic",
|
||||||
|
L"@MS PGothic"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static void
|
||||||
|
GetSystemFontDirectory(LPWSTR pszDir)
|
||||||
|
{
|
||||||
|
GetWindowsDirectoryW(pszDir, MAX_PATH);
|
||||||
|
lstrcatW(pszDir, L"\\Fonts");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
GetSystemFontPath(LPWSTR pszPath, LPCWSTR pszFile)
|
||||||
|
{
|
||||||
|
GetSystemFontDirectory(pszPath);
|
||||||
|
lstrcatW(pszPath, L"\\");
|
||||||
|
lstrcatW(pszPath, pszFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
static INT
|
||||||
|
GetMultiSzLength(const WCHAR *pszz)
|
||||||
|
{
|
||||||
|
INT Len, TotalLen = 0;
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
Len = lstrlenW(pszz);
|
||||||
|
TotalLen += Len + 1;
|
||||||
|
pszz += Len + 1;
|
||||||
|
if (*pszz == 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
++TotalLen;
|
||||||
|
return TotalLen;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
ReplaceChars(WCHAR *pch, INT Len, WCHAR From, WCHAR To)
|
||||||
|
{
|
||||||
|
while (Len > 0)
|
||||||
|
{
|
||||||
|
if (*pch == From)
|
||||||
|
{
|
||||||
|
*pch = To;
|
||||||
|
}
|
||||||
|
//printf("0x%04X, ", *pch);
|
||||||
|
++pch;
|
||||||
|
--Len;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
SzFromMultiSz(WCHAR *pszz)
|
||||||
|
{
|
||||||
|
INT Length = GetMultiSzLength(pszz);
|
||||||
|
//printf("Length: %d\n", Length);
|
||||||
|
if (Length > 0)
|
||||||
|
{
|
||||||
|
ReplaceChars(pszz, Length - 1, L'\0', L'|');
|
||||||
|
pszz[Length - 1] = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pszz[0] = 0;
|
||||||
|
}
|
||||||
|
//printf("pszz: %S\n", pszz);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
Test_GetFontResourceInfoW_case0(LPCWSTR pszFilePath, const GFRI_ENTRY *Entry)
|
||||||
|
{
|
||||||
|
BOOL Ret;
|
||||||
|
DWORD Size, Case = 0;
|
||||||
|
DWORD Data;
|
||||||
|
|
||||||
|
/* data NULL, size zero */
|
||||||
|
Size = 0;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, 4);
|
||||||
|
|
||||||
|
/* data NULL, size non-zero */
|
||||||
|
Size = 1024;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 0);
|
||||||
|
ok_int(Size, 1024);
|
||||||
|
|
||||||
|
/* size zero */
|
||||||
|
Data = 0xDEADFACE;
|
||||||
|
Size = 0;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, &Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Data, 0xDEADFACE);
|
||||||
|
ok_int(Size, 4);
|
||||||
|
|
||||||
|
/* size non-zero */
|
||||||
|
Data = 0xDEADFACE;
|
||||||
|
Size = sizeof(Data);
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, &Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Data, Entry->FontCount);
|
||||||
|
ok_int(Size, 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
Test_GetFontResourceInfoW_case1(LPCWSTR pszFilePath, const GFRI_ENTRY *Entry)
|
||||||
|
{
|
||||||
|
BOOL Ret;
|
||||||
|
DWORD Size, Case = 1;
|
||||||
|
static WCHAR Data[1024 / sizeof(WCHAR)];
|
||||||
|
|
||||||
|
/* data NULL, size zero */
|
||||||
|
Size = 0;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
/* FIXME: What's the result of Size? */
|
||||||
|
ok(Size != 0, "Size expected non-zero but zero\n");
|
||||||
|
|
||||||
|
/* data NULL, size non-zero */
|
||||||
|
Size = 1024;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 0);
|
||||||
|
ok_int(Size, 1024);
|
||||||
|
|
||||||
|
/* size zero */
|
||||||
|
Size = 0;
|
||||||
|
CopyMemory(Data, L"ABC\0", sizeof(L"ABC\0"));
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
/* FIXME: What's the result of Size? */
|
||||||
|
ok(Size != 0, "Size expected non-zero but zero\n");
|
||||||
|
ok(lstrcmpiW(Data, L"ABC") == 0, "data mismatched: \"%S\"\n", Data);
|
||||||
|
|
||||||
|
/* size non-zero */
|
||||||
|
Size = 1024;
|
||||||
|
CopyMemory(Data, L"ABC\0", sizeof(L"ABC\0"));
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
/* FIXME: What's the result of Size? */
|
||||||
|
ok(Size != 0, "Size expected non-zero but zero\n");
|
||||||
|
|
||||||
|
SzFromMultiSz(Data);
|
||||||
|
ok(lstrcmpiW(Data, Entry->FontInfo) == 0, "data mismatched: \"%S\" and \"%S\"\n",
|
||||||
|
Data, Entry->FontInfo);
|
||||||
|
#if 0
|
||||||
|
if (lstrcmpiW(Data, Entry->FontInfo) != 0)
|
||||||
|
{
|
||||||
|
int i, len = lstrlenW(Data) + 1;
|
||||||
|
for (i = 0; i < len; ++i)
|
||||||
|
{
|
||||||
|
printf("0x%04X <=> 0x%04X\n", Data[i], Entry->FontInfo[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
Test_GetFontResourceInfoW_case2(LPCWSTR pszFilePath, const GFRI_ENTRY *Entry)
|
||||||
|
{
|
||||||
|
BOOL Ret;
|
||||||
|
DWORD i, Size, Case = 2;
|
||||||
|
static LOGFONTW Data[100];
|
||||||
|
|
||||||
|
/* data NULL, size zero */
|
||||||
|
Size = 0;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, Entry->FontCount * sizeof(LOGFONTW));
|
||||||
|
|
||||||
|
/* data NULL, size non-zero */
|
||||||
|
Size = 1024;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 0);
|
||||||
|
ok_int(Size, 1024);
|
||||||
|
|
||||||
|
/* size zero */
|
||||||
|
Size = 0;
|
||||||
|
ZeroMemory(Data, sizeof(Data));
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, Entry->FontCount * sizeof(LOGFONTW));
|
||||||
|
|
||||||
|
/* size non-zero */
|
||||||
|
Size = sizeof(Data);
|
||||||
|
ZeroMemory(Data, sizeof(Data));
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, Entry->FontCount * sizeof(LOGFONTW));
|
||||||
|
for (i = 0; i < Entry->FontCount; ++i)
|
||||||
|
{
|
||||||
|
ok(lstrcmpiW(Data[i].lfFaceName, Entry->FaceNames[i]) == 0,
|
||||||
|
"face name #%d mismatched: \"%S\" and \"%S\"\n", (int)i, Data[i].lfFaceName, Entry->FaceNames[i]);
|
||||||
|
#if 0
|
||||||
|
if (lstrcmpiW(Data[i].lfFaceName, Entry->FaceNames[i]) != 0)
|
||||||
|
{
|
||||||
|
int k, len = lstrlenW(Data[i].lfFaceName);
|
||||||
|
for (k = 0; k < len; ++k)
|
||||||
|
{
|
||||||
|
printf("0x%04X <=> 0x%04X\n", Entry->FaceNames[i][k], Data[i].lfFaceName[k]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
Test_GetFontResourceInfoW_case3(LPCWSTR pszFilePath, const GFRI_ENTRY *Entry)
|
||||||
|
{
|
||||||
|
BOOL Ret;
|
||||||
|
DWORD Size, Case = 3;
|
||||||
|
DWORD Data[2];
|
||||||
|
|
||||||
|
/* data NULL, size zero */
|
||||||
|
Size = 0;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, 4);
|
||||||
|
|
||||||
|
/* data NULL, size non-zero */
|
||||||
|
Size = sizeof(Data);
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 0);
|
||||||
|
ok_int(Size, 8);
|
||||||
|
|
||||||
|
/* size zero */
|
||||||
|
Size = 0;
|
||||||
|
Data[0] = 0xDEADFACE;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, 4);
|
||||||
|
ok_int(Data[0], 0xDEADFACE);
|
||||||
|
|
||||||
|
/* size non-zero */
|
||||||
|
Size = sizeof(Data);
|
||||||
|
Data[0] = 0xDEADFACE;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, 4);
|
||||||
|
ok_int(Data[0], 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
Test_GetFontResourceInfoW_case4(LPCWSTR pszFilePath, const GFRI_ENTRY *Entry)
|
||||||
|
{
|
||||||
|
BOOL Ret;
|
||||||
|
DWORD Size, Case = 4;
|
||||||
|
WCHAR Data[MAX_PATH];
|
||||||
|
|
||||||
|
/* data NULL, size zero */
|
||||||
|
Size = 0;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, (lstrlenW(pszFilePath) + 1) * sizeof(WCHAR));
|
||||||
|
|
||||||
|
/* data NULL, size non-zero */
|
||||||
|
Size = MAX_PATH;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 0);
|
||||||
|
ok_int(Size, MAX_PATH);
|
||||||
|
|
||||||
|
/* size zero */
|
||||||
|
Size = 0;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, (lstrlenW(pszFilePath) + 1) * sizeof(WCHAR));
|
||||||
|
|
||||||
|
/* size non-zero */
|
||||||
|
Size = MAX_PATH;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, (lstrlenW(pszFilePath) + 1) * sizeof(WCHAR));
|
||||||
|
ok(lstrcmpiW(pszFilePath, Data) == 0, "data mismatched: \"%S\"\n", Data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
Test_GetFontResourceInfoW_case5(LPCWSTR pszFilePath, const GFRI_ENTRY *Entry)
|
||||||
|
{
|
||||||
|
BOOL Ret;
|
||||||
|
DWORD Size, Case = 5;
|
||||||
|
DWORD Data;
|
||||||
|
|
||||||
|
/* data NULL, size zero */
|
||||||
|
Size = 0;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, 4);
|
||||||
|
|
||||||
|
/* data NULL, size non-zero */
|
||||||
|
Size = sizeof(Data);
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, NULL, Case);
|
||||||
|
ok_int(Ret, 0);
|
||||||
|
ok_int(Size, 4);
|
||||||
|
|
||||||
|
/* size zero */
|
||||||
|
Size = 0;
|
||||||
|
Data = 0xDEADFACE;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, &Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, 4);
|
||||||
|
ok_int(Data, 0xDEADFACE);
|
||||||
|
|
||||||
|
/* size non-zero */
|
||||||
|
Size = sizeof(Data);
|
||||||
|
Data = 0xDEADFACE;
|
||||||
|
Ret = GetFontResourceInfoW(pszFilePath, &Size, &Data, Case);
|
||||||
|
ok_int(Ret, 1);
|
||||||
|
ok_int(Size, 4);
|
||||||
|
ok_int(Data, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
DoEntry(const GFRI_ENTRY *Entry)
|
||||||
|
{
|
||||||
|
WCHAR szPath[MAX_PATH];
|
||||||
|
|
||||||
|
GetSystemFontPath(szPath, Entry->File);
|
||||||
|
printf("GetSystemFontPath: %S\n", szPath);
|
||||||
|
if (GetFileAttributesW(szPath) == 0xFFFFFFFF)
|
||||||
|
{
|
||||||
|
skip("Font file \"%S\" was not found\n", szPath);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Test_GetFontResourceInfoW_case0(szPath, Entry);
|
||||||
|
Test_GetFontResourceInfoW_case1(szPath, Entry);
|
||||||
|
Test_GetFontResourceInfoW_case2(szPath, Entry);
|
||||||
|
Test_GetFontResourceInfoW_case3(szPath, Entry);
|
||||||
|
Test_GetFontResourceInfoW_case4(szPath, Entry);
|
||||||
|
Test_GetFontResourceInfoW_case5(szPath, Entry);
|
||||||
|
}
|
||||||
|
|
||||||
|
START_TEST(GetFontResourceInfoW)
|
||||||
|
{
|
||||||
|
INT i;
|
||||||
|
const GFRI_ENTRY *Entry;
|
||||||
|
|
||||||
|
printf("sizeof(LOGFONTW) == %u\n", (int)sizeof(LOGFONTW));
|
||||||
|
|
||||||
|
for (i = 0; i < _countof(TestEntries); ++i)
|
||||||
|
{
|
||||||
|
Entry = &TestEntries[i];
|
||||||
|
DoEntry(Entry);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PRIMARYLANGID(GetSystemDefaultLangID()) == LANG_JAPANESE)
|
||||||
|
{
|
||||||
|
/* Japanese */
|
||||||
|
for (i = 0; i < _countof(AdditionalTestEntriesJapanese); ++i)
|
||||||
|
{
|
||||||
|
Entry = &AdditionalTestEntriesJapanese[i];
|
||||||
|
DoEntry(Entry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* non-Japanese */
|
||||||
|
for (i = 0; i < _countof(AdditionalTestEntriesEnglish); ++i)
|
||||||
|
{
|
||||||
|
Entry = &AdditionalTestEntriesEnglish[i];
|
||||||
|
DoEntry(Entry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -45,9 +45,10 @@ extern void func_GetClipRgn(void);
|
||||||
extern void func_GetCurrentObject(void);
|
extern void func_GetCurrentObject(void);
|
||||||
extern void func_GetDIBColorTable(void);
|
extern void func_GetDIBColorTable(void);
|
||||||
extern void func_GetDIBits(void);
|
extern void func_GetDIBits(void);
|
||||||
|
extern void func_GetFontResourceInfoW(void);
|
||||||
extern void func_GetGlyphIndices(void);
|
extern void func_GetGlyphIndices(void);
|
||||||
extern void func_GetPixel(void);
|
|
||||||
extern void func_GetObject(void);
|
extern void func_GetObject(void);
|
||||||
|
extern void func_GetPixel(void);
|
||||||
extern void func_GetRandomRgn(void);
|
extern void func_GetRandomRgn(void);
|
||||||
extern void func_GetStockObject(void);
|
extern void func_GetStockObject(void);
|
||||||
extern void func_GetTextExtentExPoint(void);
|
extern void func_GetTextExtentExPoint(void);
|
||||||
|
@ -116,6 +117,7 @@ const struct test winetest_testlist[] =
|
||||||
{ "GetCurrentObject", func_GetCurrentObject },
|
{ "GetCurrentObject", func_GetCurrentObject },
|
||||||
{ "GetDIBColorTable", func_GetDIBColorTable },
|
{ "GetDIBColorTable", func_GetDIBColorTable },
|
||||||
{ "GetDIBits", func_GetDIBits },
|
{ "GetDIBits", func_GetDIBits },
|
||||||
|
{ "GetFontResourceInfoW", func_GetFontResourceInfoW },
|
||||||
{ "GetGlyphIndices", func_GetGlyphIndices },
|
{ "GetGlyphIndices", func_GetGlyphIndices },
|
||||||
{ "GetPixel", func_GetPixel },
|
{ "GetPixel", func_GetPixel },
|
||||||
{ "GetObject", func_GetObject },
|
{ "GetObject", func_GetObject },
|
||||||
|
|
Loading…
Reference in a new issue