mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 11:41:42 +00:00
[GDI32][NTGDI][SDK] Font/Text: Fix SAL2 annotations and const-ness (#7865)
I want to work in correct type info. JIRA issue: CORE-17684 - Add and fix SAL2 annotations. - Fix const-ness of function parameters. - Delete needless type casts.
This commit is contained in:
parent
530d26a1f4
commit
0ca6002b4f
10 changed files with 312 additions and 300 deletions
|
@ -1087,12 +1087,12 @@ NtGdiGetSpoolMessage(
|
|||
DWORD
|
||||
APIENTRY
|
||||
NtGdiGetGlyphIndicesWInternal(
|
||||
IN HDC hdc,
|
||||
IN OPTIONAL LPWSTR pwc,
|
||||
IN INT cwc,
|
||||
OUT OPTIONAL LPWORD pgi,
|
||||
IN DWORD iMode,
|
||||
IN BOOL bSubset)
|
||||
_In_ HDC hdc,
|
||||
_In_reads_opt_(cwc) PCWCH pwc,
|
||||
_In_ INT cwc,
|
||||
_Out_writes_opt_(cwc) PWORD pgi,
|
||||
_In_ DWORD iMode,
|
||||
_In_ BOOL bSubset)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
|
|
|
@ -672,7 +672,7 @@ NewGetCharacterPlacementW(
|
|||
nSet = lpResults->nGlyphs;
|
||||
|
||||
return NtGdiGetCharacterPlacementW( hdc,
|
||||
(LPWSTR)lpString,
|
||||
lpString,
|
||||
nSet,
|
||||
nMaxExtent,
|
||||
lpResults,
|
||||
|
@ -699,9 +699,9 @@ GetCharABCWidthsFloatW(HDC hdc,
|
|||
return NtGdiGetCharABCWidthsW( hdc,
|
||||
FirstChar,
|
||||
(ULONG)(LastChar - FirstChar + 1),
|
||||
(PWCHAR) NULL,
|
||||
NULL,
|
||||
0,
|
||||
(PVOID)abcF);
|
||||
abcF);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -724,9 +724,9 @@ GetCharWidthFloatW(HDC hdc,
|
|||
return NtGdiGetCharWidthW( hdc,
|
||||
iFirstChar,
|
||||
(ULONG)(iLastChar - iFirstChar + 1),
|
||||
(PWCHAR) NULL,
|
||||
NULL,
|
||||
0,
|
||||
(PVOID) pxBuffer);
|
||||
pxBuffer);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -749,9 +749,9 @@ GetCharWidthW(HDC hdc,
|
|||
return NtGdiGetCharWidthW( hdc,
|
||||
iFirstChar,
|
||||
(ULONG)(iLastChar - iFirstChar + 1),
|
||||
(PWCHAR) NULL,
|
||||
NULL,
|
||||
GCW_NOFLOAT,
|
||||
(PVOID) lpBuffer);
|
||||
lpBuffer);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -774,9 +774,9 @@ GetCharWidth32W(HDC hdc,
|
|||
return NtGdiGetCharWidthW( hdc,
|
||||
iFirstChar,
|
||||
(ULONG)(iLastChar - iFirstChar + 1),
|
||||
(PWCHAR) NULL,
|
||||
NULL,
|
||||
GCW_NOFLOAT|GCW_WIN32,
|
||||
(PVOID) lpBuffer);
|
||||
lpBuffer);
|
||||
}
|
||||
|
||||
|
||||
|
@ -800,9 +800,9 @@ GetCharABCWidthsW(HDC hdc,
|
|||
return NtGdiGetCharABCWidthsW( hdc,
|
||||
FirstChar,
|
||||
(ULONG)(LastChar - FirstChar + 1),
|
||||
(PWCHAR) NULL,
|
||||
NULL,
|
||||
GCABCW_NOFLOAT,
|
||||
(PVOID)lpabc);
|
||||
lpabc);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -837,10 +837,10 @@ GetCharWidthA(
|
|||
|
||||
ret = NtGdiGetCharWidthW( hdc,
|
||||
wstr[0],
|
||||
(ULONG) count,
|
||||
(PWCHAR) wstr,
|
||||
count,
|
||||
wstr,
|
||||
GCW_NOFLOAT,
|
||||
(PVOID) lpBuffer);
|
||||
lpBuffer);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, str);
|
||||
HeapFree(GetProcessHeap(), 0, wstr);
|
||||
|
@ -880,10 +880,10 @@ GetCharWidth32A(
|
|||
|
||||
ret = NtGdiGetCharWidthW( hdc,
|
||||
wstr[0],
|
||||
(ULONG) count,
|
||||
(PWCHAR) wstr,
|
||||
count,
|
||||
wstr,
|
||||
GCW_NOFLOAT|GCW_WIN32,
|
||||
(PVOID) lpBuffer);
|
||||
lpBuffer);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, str);
|
||||
HeapFree(GetProcessHeap(), 0, wstr);
|
||||
|
@ -920,7 +920,7 @@ GetCharWidthFloatA(
|
|||
HeapFree(GetProcessHeap(), 0, str);
|
||||
return FALSE;
|
||||
}
|
||||
ret = NtGdiGetCharWidthW( hdc, wstr[0], (ULONG) count, (PWCHAR) wstr, 0, (PVOID) pxBuffer);
|
||||
ret = NtGdiGetCharWidthW(hdc, wstr[0], count, wstr, 0, pxBuffer);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, str);
|
||||
HeapFree(GetProcessHeap(), 0, wstr);
|
||||
|
@ -1000,7 +1000,7 @@ GetCharABCWidthsFloatA(
|
|||
HeapFree( GetProcessHeap(), 0, str );
|
||||
return FALSE;
|
||||
}
|
||||
ret = NtGdiGetCharABCWidthsW( hdc,wstr[0],(ULONG)count, (PWCHAR)wstr, 0, (PVOID)lpABCF);
|
||||
ret = NtGdiGetCharABCWidthsW(hdc, wstr[0], count, wstr, 0, lpABCF);
|
||||
|
||||
HeapFree( GetProcessHeap(), 0, str );
|
||||
HeapFree( GetProcessHeap(), 0, wstr );
|
||||
|
@ -1666,7 +1666,7 @@ CreateFontIndirectExA(const ENUMLOGFONTEXDVA *elfexd)
|
|||
&Logfont.elfEnumLogfontEx );
|
||||
|
||||
RtlCopyMemory( &Logfont.elfDesignVector,
|
||||
(PVOID) &elfexd->elfDesignVector,
|
||||
&elfexd->elfDesignVector,
|
||||
sizeof(DESIGNVECTOR));
|
||||
|
||||
return NtGdiHfontCreate( &Logfont, 0, 0, 0, NULL);
|
||||
|
@ -1864,7 +1864,7 @@ CreateFontA(
|
|||
UNICODE_STRING StringU;
|
||||
HFONT ret;
|
||||
|
||||
RtlInitAnsiString(&StringA, (LPSTR)lpszFace);
|
||||
RtlInitAnsiString(&StringA, lpszFace);
|
||||
RtlAnsiStringToUnicodeString(&StringU, &StringA, TRUE);
|
||||
|
||||
ret = CreateFontW(nHeight,
|
||||
|
|
|
@ -249,7 +249,8 @@ GetTextExtentPointA(
|
|||
UNICODE_STRING StringU;
|
||||
BOOL ret;
|
||||
|
||||
RtlInitAnsiString(&StringA, (LPSTR)lpString);
|
||||
/* FIXME: lpString can be non-NUL-terminated */
|
||||
RtlInitAnsiString(&StringA, lpString);
|
||||
RtlAnsiStringToUnicodeString(&StringU, &StringA, TRUE);
|
||||
|
||||
ret = GetTextExtentPointW(hdc, StringU.Buffer, cchString, lpsz);
|
||||
|
@ -271,7 +272,7 @@ GetTextExtentPointW(
|
|||
_In_ INT cchString,
|
||||
_Out_ LPSIZE lpsz)
|
||||
{
|
||||
return NtGdiGetTextExtent(hdc, (LPWSTR)lpString, cchString, lpsz, 0);
|
||||
return NtGdiGetTextExtent(hdc, lpString, cchString, lpsz, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -289,7 +290,6 @@ GetTextExtentExPointW(
|
|||
_Out_writes_to_opt_(cchString, *lpnFit) LPINT lpnDx,
|
||||
_Out_ LPSIZE lpSize)
|
||||
{
|
||||
|
||||
/* Windows doesn't check nMaxExtent validity in unicode version */
|
||||
if (nMaxExtent < -1)
|
||||
{
|
||||
|
@ -299,8 +299,7 @@ GetTextExtentExPointW(
|
|||
if (LoadLPK(LPK_GTEP))
|
||||
return LpkGetTextExtentExPoint(hdc, lpszString, cchString, nMaxExtent, lpnFit, lpnDx, lpSize, 0, 0);
|
||||
|
||||
return NtGdiGetTextExtentExW (
|
||||
hdc, (LPWSTR)lpszString, cchString, nMaxExtent, (PULONG)lpnFit, (PULONG)lpnDx, lpSize, 0 );
|
||||
return NtGdiGetTextExtentExW(hdc, lpszString, cchString, nMaxExtent, (PULONG)lpnFit, (PULONG)lpnDx, lpSize, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -311,14 +310,14 @@ BOOL
|
|||
WINAPI
|
||||
GetTextExtentExPointWPri(
|
||||
_In_ HDC hdc,
|
||||
_In_reads_(cwc) LPCWSTR lpwsz,
|
||||
_In_reads_(cwc) PCWCH lpwsz,
|
||||
_In_ INT cwc,
|
||||
_In_ INT dxMax,
|
||||
_Out_opt_ LPINT pcCh,
|
||||
_Out_writes_to_opt_(cwc, *pcCh) LPINT pdxOut,
|
||||
_In_ LPSIZE psize)
|
||||
{
|
||||
return NtGdiGetTextExtentExW(hdc, (LPWSTR)lpwsz, cwc, dxMax, (PULONG)pcCh, (PULONG)pdxOut, psize, 0);
|
||||
return NtGdiGetTextExtentExW(hdc, lpwsz, cwc, dxMax, (PULONG)pcCh, (PULONG)pdxOut, psize, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -405,7 +404,7 @@ GetTextExtentPoint32W(
|
|||
_In_ int cchString,
|
||||
_Out_ LPSIZE lpSize)
|
||||
{
|
||||
return NtGdiGetTextExtent(hdc, (LPWSTR)lpString, cchString, lpSize, 0);
|
||||
return NtGdiGetTextExtent(hdc, lpString, cchString, lpSize, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
/*
|
||||
* PROJECT: ReactOS win32 kernel mode subsystem
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: win32ss/gdi/ntgdi/font.c
|
||||
* PURPOSE: Font
|
||||
* PROGRAMMERS: James Tabor <james.tabor@reactos.org>
|
||||
* Timo Kreuzer <timo.kreuzer@reactos.org>
|
||||
* Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
|
||||
* PROJECT: ReactOS win32 kernel mode subsystem
|
||||
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||
* PURPOSE: Font
|
||||
* COPYRIGHT: Copyright (C) James Tabor <james.tabor@reactos.org>
|
||||
* Copyright (C) Timo Kreuzer <timo.kreuzer@reactos.org>
|
||||
* Copyright (C) Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
|
||||
*/
|
||||
|
||||
/** Includes ******************************************************************/
|
||||
|
@ -15,12 +14,18 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
HFONT APIENTRY HfontCreate( IN PENUMLOGFONTEXDVW pelfw,IN ULONG cjElfw,IN LFTYPE lft,IN FLONG fl,IN PVOID pvCliData );
|
||||
HFONT APIENTRY
|
||||
HfontCreate(
|
||||
_In_ const ENUMLOGFONTEXDVW *pelfw,
|
||||
_In_ ULONG cjElfw,
|
||||
_In_ LFTYPE lft,
|
||||
_In_ FLONG fl,
|
||||
_In_opt_ PVOID pvCliData);
|
||||
|
||||
/** Internal ******************************************************************/
|
||||
|
||||
HFONT FASTCALL
|
||||
GreCreateFontIndirectW( LOGFONTW *lplf )
|
||||
GreCreateFontIndirectW(_In_ const LOGFONTW *lplf)
|
||||
{
|
||||
if (lplf)
|
||||
{
|
||||
|
@ -38,7 +43,7 @@ GreCreateFontIndirectW( LOGFONTW *lplf )
|
|||
|
||||
RtlZeroMemory( &Logfont.elfDesignVector, sizeof(DESIGNVECTOR));
|
||||
|
||||
return HfontCreate((PENUMLOGFONTEXDVW)&Logfont, 0, 0, 0, NULL );
|
||||
return HfontCreate(&Logfont, 0, 0, 0, NULL);
|
||||
}
|
||||
else return NULL;
|
||||
}
|
||||
|
@ -46,9 +51,9 @@ GreCreateFontIndirectW( LOGFONTW *lplf )
|
|||
DWORD
|
||||
FASTCALL
|
||||
GreGetKerningPairs(
|
||||
HDC hDC,
|
||||
ULONG NumPairs,
|
||||
LPKERNINGPAIR krnpair)
|
||||
_In_ HDC hDC,
|
||||
_In_ ULONG NumPairs,
|
||||
_Out_writes_(NumPairs) LPKERNINGPAIR krnpair)
|
||||
{
|
||||
PDC dc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -102,7 +107,6 @@ GreGetKerningPairs(
|
|||
}
|
||||
|
||||
/*
|
||||
|
||||
It is recommended that an application use the GetFontLanguageInfo function
|
||||
to determine whether the GCP_DIACRITIC, GCP_DBCS, GCP_USEKERNING, GCP_LIGATE,
|
||||
GCP_REORDER, GCP_GLYPHSHAPE, and GCP_KASHIDA values are valid for the
|
||||
|
@ -112,18 +116,17 @@ GreGetKerningPairs(
|
|||
MS must use a preset "compiled in" support for each language based releases.
|
||||
ReactOS uses FreeType, this will need to be supported. ATM this is hard coded
|
||||
for GCPCLASS_LATIN!
|
||||
|
||||
*/
|
||||
#if 0
|
||||
DWORD
|
||||
FASTCALL
|
||||
GreGetCharacterPlacementW(
|
||||
HDC hdc,
|
||||
LPCWSTR pwsz,
|
||||
INT nCount,
|
||||
INT nMaxExtent,
|
||||
LPGCP_RESULTSW pgcpw,
|
||||
DWORD dwFlags)
|
||||
_In_ HDC hdc,
|
||||
_In_reads_(nCount) PCWCH pwsz,
|
||||
_In_ INT nCount,
|
||||
_In_ INT nMaxExtent,
|
||||
_Inout_opt_ LPGCP_RESULTSW pgcpw,
|
||||
_In_ DWORD dwFlags)
|
||||
{
|
||||
GCP_RESULTSW gcpwSave;
|
||||
UINT i, nSet, cSet;
|
||||
|
@ -290,7 +293,10 @@ GreGetCharacterPlacementW(
|
|||
|
||||
ULONG
|
||||
FASTCALL
|
||||
FontGetObject(PTEXTOBJ plfont, ULONG cjBuffer, PVOID pvBuffer)
|
||||
FontGetObject(
|
||||
_Inout_ PTEXTOBJ plfont,
|
||||
_In_ ULONG cjBuffer,
|
||||
_Out_ PVOID pvBuffer)
|
||||
{
|
||||
ULONG cjMaxSize;
|
||||
ENUMLOGFONTEXDVW *plf;
|
||||
|
@ -326,7 +332,10 @@ FontGetObject(PTEXTOBJ plfont, ULONG cjBuffer, PVOID pvBuffer)
|
|||
|
||||
DWORD
|
||||
FASTCALL
|
||||
IntGetCharDimensions(HDC hdc, PTEXTMETRICW ptm, PDWORD height)
|
||||
IntGetCharDimensions(
|
||||
_In_ HDC hdc,
|
||||
_Out_opt_ PTEXTMETRICW ptm,
|
||||
_Out_opt_ PDWORD height)
|
||||
{
|
||||
PDC pdc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -354,7 +363,7 @@ IntGetCharDimensions(HDC hdc, PTEXTMETRICW ptm, PDWORD height)
|
|||
DC_UnlockDc(pdc);
|
||||
return 0;
|
||||
}
|
||||
Good = TextIntGetTextExtentPoint(pdc, TextObj, alphabet, 52, 0, NULL, 0, &sz, 0);
|
||||
Good = TextIntGetTextExtentPoint(pdc, TextObj, alphabet, 52, 0, NULL, NULL, &sz, 0);
|
||||
TEXTOBJ_UnlockText(TextObj);
|
||||
DC_UnlockDc(pdc);
|
||||
|
||||
|
@ -368,7 +377,7 @@ IntGetCharDimensions(HDC hdc, PTEXTMETRICW ptm, PDWORD height)
|
|||
|
||||
DWORD
|
||||
FASTCALL
|
||||
IntGetFontLanguageInfo(PDC Dc)
|
||||
IntGetFontLanguageInfo(_In_ PDC Dc)
|
||||
{
|
||||
PDC_ATTR pdcattr;
|
||||
FONTSIGNATURE fontsig;
|
||||
|
@ -419,7 +428,7 @@ IntGetFontLanguageInfo(PDC Dc)
|
|||
|
||||
PTEXTOBJ
|
||||
FASTCALL
|
||||
RealizeFontInit(HFONT hFont)
|
||||
RealizeFontInit(_In_ HFONT hFont)
|
||||
{
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
PTEXTOBJ pTextObj;
|
||||
|
@ -440,7 +449,7 @@ RealizeFontInit(HFONT hFont)
|
|||
|
||||
static BOOL
|
||||
IntCheckFontPathNames(
|
||||
_In_reads_(cwc) WCHAR *pwcFiles,
|
||||
_In_reads_(cwc) PCWCH pwcFiles,
|
||||
_In_ ULONG cFiles,
|
||||
_In_ ULONG cwc)
|
||||
{
|
||||
|
@ -463,12 +472,12 @@ IntCheckFontPathNames(
|
|||
INT
|
||||
APIENTRY
|
||||
NtGdiAddFontResourceW(
|
||||
_In_reads_(cwc) WCHAR *pwcFiles,
|
||||
_In_reads_(cwc) PCWCH pwcFiles,
|
||||
_In_ ULONG cwc,
|
||||
_In_ ULONG cFiles,
|
||||
_In_ FLONG fl,
|
||||
_In_ DWORD dwPidTid,
|
||||
_In_opt_ DESIGNVECTOR *pdv)
|
||||
_In_opt_ const DESIGNVECTOR *pdv)
|
||||
{
|
||||
UNICODE_STRING SafeFileName;
|
||||
INT Ret;
|
||||
|
@ -517,12 +526,12 @@ NtGdiAddFontResourceW(
|
|||
BOOL
|
||||
APIENTRY
|
||||
NtGdiRemoveFontResourceW(
|
||||
_In_reads_(cwc) WCHAR *pwszFiles,
|
||||
_In_reads_(cwc) PCWCH pwszFiles,
|
||||
_In_ ULONG cwc,
|
||||
_In_ ULONG cFiles,
|
||||
_In_ ULONG fl,
|
||||
_In_ DWORD dwPidTid,
|
||||
_In_opt_ DESIGNVECTOR *pdv)
|
||||
_In_opt_ const DESIGNVECTOR *pdv)
|
||||
{
|
||||
UNICODE_STRING SafeFileName;
|
||||
BOOL Ret;
|
||||
|
@ -571,11 +580,11 @@ NtGdiRemoveFontResourceW(
|
|||
HANDLE
|
||||
APIENTRY
|
||||
NtGdiAddFontMemResourceEx(
|
||||
IN PVOID pvBuffer,
|
||||
IN DWORD cjBuffer,
|
||||
IN DESIGNVECTOR *pdv,
|
||||
IN ULONG cjDV,
|
||||
OUT DWORD *pNumFonts)
|
||||
_In_reads_bytes_(cjBuffer) const VOID *pvBuffer,
|
||||
_In_ DWORD cjBuffer,
|
||||
_In_reads_bytes_opt_(cjDV) const DESIGNVECTOR *pdv,
|
||||
_In_ ULONG cjDV,
|
||||
_Out_ PDWORD pNumFonts)
|
||||
{
|
||||
_SEH2_VOLATILE PVOID Buffer = NULL;
|
||||
HANDLE Ret;
|
||||
|
@ -627,7 +636,7 @@ NtGdiAddFontMemResourceEx(
|
|||
BOOL
|
||||
APIENTRY
|
||||
NtGdiRemoveFontMemResourceEx(
|
||||
IN HANDLE hMMFont)
|
||||
_In_ HANDLE hMMFont)
|
||||
{
|
||||
return IntGdiRemoveFontMemResource(hMMFont);
|
||||
}
|
||||
|
@ -639,12 +648,12 @@ NtGdiRemoveFontMemResourceEx(
|
|||
DWORD
|
||||
APIENTRY
|
||||
NtGdiGetCharacterPlacementW(
|
||||
IN HDC hdc,
|
||||
IN LPWSTR pwsz,
|
||||
IN INT nCount,
|
||||
IN INT nMaxExtent,
|
||||
IN OUT LPGCP_RESULTSW pgcpw,
|
||||
IN DWORD dwFlags)
|
||||
_In_ HDC hdc,
|
||||
_In_reads_(nCount) PCWCH pwsz,
|
||||
_In_ INT nCount,
|
||||
_In_ INT nMaxExtent,
|
||||
_Inout_opt_ LPGCP_RESULTSW pgcpw,
|
||||
_In_ DWORD dwFlags)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
|
@ -661,11 +670,11 @@ NtGdiGetCharacterPlacementW(
|
|||
DWORD
|
||||
APIENTRY
|
||||
NtGdiGetFontData(
|
||||
HDC hDC,
|
||||
DWORD Table,
|
||||
DWORD Offset,
|
||||
LPVOID Buffer,
|
||||
DWORD Size)
|
||||
_In_ HDC hDC,
|
||||
_In_ DWORD Table,
|
||||
_In_ DWORD Offset,
|
||||
_Out_writes_bytes_(Size) PVOID Buffer,
|
||||
_In_ DWORD Size)
|
||||
{
|
||||
PDC Dc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -717,14 +726,12 @@ NtGdiGetFontData(
|
|||
return Result;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
/* @implemented */
|
||||
DWORD
|
||||
APIENTRY
|
||||
NtGdiGetFontUnicodeRanges(
|
||||
IN HDC hdc,
|
||||
OUT OPTIONAL LPGLYPHSET pgs)
|
||||
_In_ HDC hdc,
|
||||
_Out_opt_ LPGLYPHSET pgs)
|
||||
{
|
||||
PDC pDc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -794,14 +801,14 @@ Exit:
|
|||
ULONG
|
||||
APIENTRY
|
||||
NtGdiGetGlyphOutline(
|
||||
IN HDC hdc,
|
||||
IN WCHAR wch,
|
||||
IN UINT iFormat,
|
||||
OUT LPGLYPHMETRICS pgm,
|
||||
IN ULONG cjBuf,
|
||||
OUT OPTIONAL PVOID UnsafeBuf,
|
||||
IN LPMAT2 pmat2,
|
||||
IN BOOL bIgnoreRotation)
|
||||
_In_ HDC hdc,
|
||||
_In_ WCHAR wch,
|
||||
_In_ UINT iFormat,
|
||||
_Out_ LPGLYPHMETRICS pgm,
|
||||
_In_ ULONG cjBuf,
|
||||
_Out_writes_bytes_opt_(cjBuf) PVOID UnsafeBuf,
|
||||
_In_opt_ const MAT2 *pmat2,
|
||||
_In_ BOOL bIgnoreRotation)
|
||||
{
|
||||
ULONG Ret = GDI_ERROR;
|
||||
PDC dc;
|
||||
|
@ -878,9 +885,10 @@ Exit:
|
|||
|
||||
DWORD
|
||||
APIENTRY
|
||||
NtGdiGetKerningPairs(HDC hDC,
|
||||
ULONG NumPairs,
|
||||
LPKERNINGPAIR krnpair)
|
||||
NtGdiGetKerningPairs(
|
||||
_In_ HDC hDC,
|
||||
_In_ ULONG NumPairs,
|
||||
_Out_writes_(NumPairs) LPKERNINGPAIR krnpair)
|
||||
{
|
||||
PDC dc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -952,10 +960,11 @@ NtGdiGetKerningPairs(HDC hDC,
|
|||
*/
|
||||
ULONG
|
||||
APIENTRY
|
||||
NtGdiGetOutlineTextMetricsInternalW (HDC hDC,
|
||||
ULONG Data,
|
||||
OUTLINETEXTMETRICW *otm,
|
||||
TMDIFF *Tmd)
|
||||
NtGdiGetOutlineTextMetricsInternalW(
|
||||
_In_ HDC hDC,
|
||||
_In_ ULONG Data,
|
||||
_Out_opt_ POUTLINETEXTMETRICW otm,
|
||||
_In_ PTMDIFF Tmd)
|
||||
{
|
||||
PDC dc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -1030,13 +1039,13 @@ W32KAPI
|
|||
BOOL
|
||||
APIENTRY
|
||||
NtGdiGetFontResourceInfoInternalW(
|
||||
IN LPWSTR pwszFiles,
|
||||
IN ULONG cwc,
|
||||
IN ULONG cFiles,
|
||||
IN UINT cjIn,
|
||||
IN OUT LPDWORD pdwBytes,
|
||||
OUT LPVOID pvBuf,
|
||||
IN DWORD dwType)
|
||||
_In_reads_(cwc) PCWCH pwszFiles,
|
||||
_In_ ULONG cwc,
|
||||
_In_ ULONG cFiles,
|
||||
_In_ UINT cjIn,
|
||||
_Inout_ PDWORD pdwBytes,
|
||||
_Out_writes_bytes_(*pdwBytes) PVOID pvBuf,
|
||||
_In_ DWORD dwType)
|
||||
{
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
DWORD dwBytes, dwBytesRequested;
|
||||
|
@ -1138,15 +1147,13 @@ NtGdiGetFontResourceInfoInternalW(
|
|||
return bRet;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
/* @unimplemented */
|
||||
BOOL
|
||||
APIENTRY
|
||||
NtGdiGetRealizationInfo(
|
||||
IN HDC hdc,
|
||||
OUT PREALIZATION_INFO pri,
|
||||
IN HFONT hf)
|
||||
_In_ HDC hdc,
|
||||
_Out_ PREALIZATION_INFO pri,
|
||||
_In_ HFONT hf)
|
||||
{
|
||||
PDC pDc;
|
||||
PTEXTOBJ pTextObj;
|
||||
|
@ -1209,15 +1216,14 @@ NtGdiGetRealizationInfo(
|
|||
return Ret;
|
||||
}
|
||||
|
||||
|
||||
HFONT
|
||||
APIENTRY
|
||||
HfontCreate(
|
||||
IN PENUMLOGFONTEXDVW pelfw,
|
||||
IN ULONG cjElfw,
|
||||
IN LFTYPE lft,
|
||||
IN FLONG fl,
|
||||
IN PVOID pvCliData )
|
||||
const ENUMLOGFONTEXDVW *pelfw,
|
||||
_In_ ULONG cjElfw,
|
||||
_In_ LFTYPE lft,
|
||||
_In_ FLONG fl,
|
||||
_In_opt_ PVOID pvCliData)
|
||||
{
|
||||
HFONT hNewFont;
|
||||
PLFONT plfont;
|
||||
|
@ -1267,11 +1273,11 @@ HfontCreate(
|
|||
HFONT
|
||||
APIENTRY
|
||||
NtGdiHfontCreate(
|
||||
IN PENUMLOGFONTEXDVW pelfw,
|
||||
IN ULONG cjElfw,
|
||||
IN LFTYPE lft,
|
||||
IN FLONG fl,
|
||||
IN PVOID pvCliData )
|
||||
_In_reads_bytes_(cjElfw) const ENUMLOGFONTEXDVW *pelfw,
|
||||
_In_ ULONG cjElfw,
|
||||
_In_ LFTYPE lft,
|
||||
_In_ FLONG fl,
|
||||
_In_opt_ PVOID pvCliData)
|
||||
{
|
||||
ENUMLOGFONTEXDVW SafeLogfont;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
|
@ -1303,6 +1309,3 @@ NtGdiHfontCreate(
|
|||
|
||||
return HfontCreate(&SafeLogfont, cjElfw, lft, fl, pvCliData);
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -4630,7 +4630,7 @@ ftGdiGetGlyphOutline(
|
|||
LPGLYPHMETRICS pgm,
|
||||
ULONG cjBuf,
|
||||
PVOID pvBuf,
|
||||
LPMAT2 pmat2,
|
||||
const MAT2 *pmat2,
|
||||
BOOL bIgnoreRotation)
|
||||
{
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -5151,15 +5151,16 @@ IntGetRealGlyph(
|
|||
|
||||
BOOL
|
||||
FASTCALL
|
||||
TextIntGetTextExtentPoint(PDC dc,
|
||||
PTEXTOBJ TextObj,
|
||||
LPCWSTR String,
|
||||
INT Count,
|
||||
ULONG MaxExtent,
|
||||
LPINT Fit,
|
||||
LPINT Dx,
|
||||
LPSIZE Size,
|
||||
FLONG fl)
|
||||
TextIntGetTextExtentPoint(
|
||||
_In_ PDC dc,
|
||||
_In_ PTEXTOBJ TextObj,
|
||||
_In_reads_(Count) PCWCH String,
|
||||
_In_ INT Count,
|
||||
_In_ ULONG MaxExtent,
|
||||
_Out_ PINT Fit,
|
||||
_Out_writes_to_opt_(Count, *Fit) PINT Dx,
|
||||
_Out_ PSIZE Size,
|
||||
_In_ FLONG fl)
|
||||
{
|
||||
PFONTGDI FontGDI;
|
||||
FT_BitmapGlyph realglyph;
|
||||
|
@ -6668,10 +6669,11 @@ IntGetFontFamilyInfo(HDC Dc,
|
|||
}
|
||||
|
||||
LONG NTAPI
|
||||
NtGdiGetFontFamilyInfo(HDC Dc,
|
||||
const LOGFONTW *UnsafeLogFont,
|
||||
PFONTFAMILYINFO UnsafeInfo,
|
||||
LPLONG UnsafeInfoCount)
|
||||
NtGdiGetFontFamilyInfo(
|
||||
_In_ HDC Dc,
|
||||
_In_ const LOGFONTW *UnsafeLogFont,
|
||||
_Out_ PFONTFAMILYINFO UnsafeInfo,
|
||||
_Inout_ PLONG UnsafeInfoCount)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
LOGFONTW LogFont;
|
||||
|
@ -6786,15 +6788,15 @@ ScaleLong(LONG lValue, PFLOATOBJ pef)
|
|||
*/
|
||||
static BOOL
|
||||
IntGetTextDisposition(
|
||||
OUT LONGLONG *pX64,
|
||||
OUT LONGLONG *pY64,
|
||||
IN LPCWSTR String,
|
||||
IN INT Count,
|
||||
IN OPTIONAL LPINT Dx,
|
||||
IN OUT PFONT_CACHE_ENTRY Cache,
|
||||
IN UINT fuOptions,
|
||||
IN BOOL bNoTransform,
|
||||
IN OUT PFONTLINK_CHAIN pChain)
|
||||
_Out_ LONGLONG *pX64,
|
||||
_Out_ LONGLONG *pY64,
|
||||
_In_reads_(Count) PCWCH String,
|
||||
_In_ INT Count,
|
||||
_In_opt_ const INT *Dx,
|
||||
_Inout_ PFONT_CACHE_ENTRY Cache,
|
||||
_In_ UINT fuOptions,
|
||||
_In_ BOOL bNoTransform,
|
||||
_Inout_ PFONTLINK_CHAIN pChain)
|
||||
{
|
||||
LONGLONG X64 = 0, Y64 = 0;
|
||||
INT i, glyph_index;
|
||||
|
@ -6954,15 +6956,15 @@ IntEngFillBox(
|
|||
BOOL
|
||||
APIENTRY
|
||||
IntExtTextOutW(
|
||||
IN PDC dc,
|
||||
IN INT XStart,
|
||||
IN INT YStart,
|
||||
IN UINT fuOptions,
|
||||
IN OPTIONAL PRECTL lprc,
|
||||
IN LPCWSTR String,
|
||||
IN INT Count,
|
||||
IN OPTIONAL LPINT Dx,
|
||||
IN DWORD dwCodePage)
|
||||
_In_ PDC dc,
|
||||
_In_ INT XStart,
|
||||
_In_ INT YStart,
|
||||
_In_ UINT fuOptions,
|
||||
_In_opt_ PRECTL lprc,
|
||||
_In_reads_opt_(Count) PCWCH String,
|
||||
_In_ INT Count,
|
||||
_In_opt_ const INT *Dx,
|
||||
_In_ DWORD dwCodePage)
|
||||
{
|
||||
/*
|
||||
* FIXME:
|
||||
|
@ -7273,7 +7275,7 @@ IntExtTextOutW(
|
|||
{
|
||||
IntUnLockFreeType();
|
||||
/* Get the width of the space character */
|
||||
TextIntGetTextExtentPoint(dc, TextObj, L" ", 1, 0, NULL, 0, &spaceWidth, 0);
|
||||
TextIntGetTextExtentPoint(dc, TextObj, L" ", 1, 0, NULL, NULL, &spaceWidth, 0);
|
||||
IntLockFreeType();
|
||||
glyphSize.cx = spaceWidth.cx;
|
||||
realglyph->left = 0;
|
||||
|
@ -7500,15 +7502,15 @@ Cleanup:
|
|||
BOOL
|
||||
APIENTRY
|
||||
GreExtTextOutW(
|
||||
IN HDC hDC,
|
||||
IN INT XStart,
|
||||
IN INT YStart,
|
||||
IN UINT fuOptions,
|
||||
IN OPTIONAL PRECTL lprc,
|
||||
IN LPCWSTR String,
|
||||
IN INT Count,
|
||||
IN OPTIONAL LPINT Dx,
|
||||
IN DWORD dwCodePage)
|
||||
_In_ HDC hDC,
|
||||
_In_ INT XStart,
|
||||
_In_ INT YStart,
|
||||
_In_ UINT fuOptions,
|
||||
_In_opt_ PRECTL lprc,
|
||||
_In_reads_opt_(Count) PCWCH String,
|
||||
_In_ INT Count,
|
||||
_In_opt_ const INT *Dx,
|
||||
_In_ DWORD dwCodePage)
|
||||
{
|
||||
BOOL bResult;
|
||||
DC *dc;
|
||||
|
@ -7542,15 +7544,15 @@ GreExtTextOutW(
|
|||
BOOL
|
||||
APIENTRY
|
||||
NtGdiExtTextOutW(
|
||||
IN HDC hDC,
|
||||
IN INT XStart,
|
||||
IN INT YStart,
|
||||
IN UINT fuOptions,
|
||||
IN OPTIONAL LPCRECT UnsafeRect,
|
||||
IN LPCWSTR UnsafeString,
|
||||
IN UINT Count,
|
||||
IN OPTIONAL const INT *UnsafeDx,
|
||||
IN DWORD dwCodePage)
|
||||
_In_ HDC hDC,
|
||||
_In_ INT XStart,
|
||||
_In_ INT YStart,
|
||||
_In_ UINT fuOptions,
|
||||
_In_opt_ LPCRECT UnsafeRect,
|
||||
_In_reads_opt_(Count) PCWCH UnsafeString,
|
||||
_In_range_(0, 0xFFFF) UINT Count,
|
||||
_In_reads_opt_(_Inexpressible_(cwc)) const INT *UnsafeDx,
|
||||
_In_ DWORD dwCodePage)
|
||||
{
|
||||
BOOL Result = FALSE;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
|
@ -7558,7 +7560,7 @@ NtGdiExtTextOutW(
|
|||
BYTE LocalBuffer[STACK_TEXT_BUFFER_SIZE];
|
||||
PVOID Buffer = LocalBuffer;
|
||||
LPCWSTR SafeString = NULL;
|
||||
LPINT SafeDx = NULL;
|
||||
PINT SafeDx = NULL;
|
||||
ULONG BufSize, StringSize, DxSize = 0;
|
||||
|
||||
/* Check if String is valid */
|
||||
|
@ -7667,12 +7669,12 @@ cleanup:
|
|||
BOOL
|
||||
APIENTRY
|
||||
NtGdiGetCharABCWidthsW(
|
||||
IN HDC hDC,
|
||||
IN UINT FirstChar,
|
||||
IN ULONG Count,
|
||||
IN OPTIONAL PWCHAR UnSafepwch,
|
||||
IN FLONG fl,
|
||||
OUT PVOID Buffer)
|
||||
_In_ HDC hDC,
|
||||
_In_ UINT FirstChar,
|
||||
_In_ ULONG Count,
|
||||
_In_reads_opt_(Count) PCWCH UnSafepwch,
|
||||
_In_ FLONG fl,
|
||||
_Out_writes_bytes_(Count * sizeof(ABC)) PVOID Buffer)
|
||||
{
|
||||
LPABC SafeBuff;
|
||||
LPABCFLOAT SafeBuffF = NULL;
|
||||
|
@ -7870,12 +7872,12 @@ NtGdiGetCharABCWidthsW(
|
|||
BOOL
|
||||
APIENTRY
|
||||
NtGdiGetCharWidthW(
|
||||
IN HDC hDC,
|
||||
IN UINT FirstChar,
|
||||
IN UINT Count,
|
||||
IN OPTIONAL PWCHAR UnSafepwc,
|
||||
IN FLONG fl,
|
||||
OUT PVOID Buffer)
|
||||
_In_ HDC hDC,
|
||||
_In_ UINT FirstChar,
|
||||
_In_ UINT Count,
|
||||
_In_reads_opt_(Count) PCWCH UnSafepwc,
|
||||
_In_ FLONG fl,
|
||||
_Out_writes_bytes_(Count * sizeof(ULONG)) PVOID Buffer)
|
||||
{
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
LPINT SafeBuff;
|
||||
|
@ -8035,9 +8037,9 @@ DWORD
|
|||
APIENTRY
|
||||
NtGdiGetGlyphIndicesW(
|
||||
_In_ HDC hdc,
|
||||
_In_reads_opt_(cwc) LPCWSTR pwc,
|
||||
_In_reads_opt_(cwc) PCWCH pwc,
|
||||
_In_ INT cwc,
|
||||
_Out_writes_opt_(cwc) LPWORD pgi,
|
||||
_Out_writes_opt_(cwc) PWORD pgi,
|
||||
_In_ DWORD iMode)
|
||||
{
|
||||
PDC dc;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#include <debug.h>
|
||||
|
||||
BOOL FASTCALL IntPatBlt( PDC,INT,INT,INT,INT,DWORD,PEBRUSHOBJ);
|
||||
BOOL APIENTRY IntExtTextOutW(IN PDC,IN INT,IN INT,IN UINT,IN OPTIONAL PRECTL,IN LPCWSTR,IN INT,IN OPTIONAL LPINT,IN DWORD);
|
||||
BOOL APIENTRY IntExtTextOutW(IN PDC,IN INT,IN INT,IN UINT,IN OPTIONAL PRECTL,IN LPCWSTR,IN INT,IN OPTIONAL const INT *,IN DWORD);
|
||||
|
||||
|
||||
//
|
||||
|
@ -316,7 +316,7 @@ GdiFlushUserBatch(PDC dc, PGDIBATCHHDR pHdr)
|
|||
lprc,
|
||||
(LPCWSTR)&pgO->String[pgO->Size/sizeof(WCHAR)],
|
||||
pgO->cbCount,
|
||||
pgO->Size ? (LPINT)&pgO->Buffer : NULL,
|
||||
pgO->Size ? (const INT *)&pgO->Buffer : NULL,
|
||||
pgO->iCS_CP );
|
||||
|
||||
// Restore attributes and flags
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
|
||||
/*
|
||||
This is a hack. See CORE-1091.
|
||||
|
||||
|
@ -28,8 +27,8 @@
|
|||
|
||||
VOID FASTCALL
|
||||
IntTMWFixUp(
|
||||
HDC hDC,
|
||||
TMW_INTERNAL *ptm)
|
||||
_In_ HDC hDC,
|
||||
_Inout_ PTMW_INTERNAL ptm)
|
||||
{
|
||||
LOGFONTW lf;
|
||||
HFONT hCurrentFont;
|
||||
|
@ -59,11 +58,11 @@ IntTMWFixUp(
|
|||
|
||||
BOOL FASTCALL
|
||||
GreTextOutW(
|
||||
HDC hdc,
|
||||
int nXStart,
|
||||
int nYStart,
|
||||
LPCWSTR lpString,
|
||||
int cchString)
|
||||
_In_ HDC hdc,
|
||||
_In_ INT nXStart,
|
||||
_In_ INT nYStart,
|
||||
_In_reads_(cchString) PCWCH lpString,
|
||||
_In_ INT cchString)
|
||||
{
|
||||
return GreExtTextOutW(hdc, nXStart, nYStart, 0, NULL, lpString, cchString, NULL, 0);
|
||||
}
|
||||
|
@ -76,11 +75,11 @@ GreTextOutW(
|
|||
BOOL
|
||||
FASTCALL
|
||||
GreGetTextExtentW(
|
||||
HDC hDC,
|
||||
LPCWSTR lpwsz,
|
||||
INT cwc,
|
||||
LPSIZE psize,
|
||||
UINT flOpts)
|
||||
_In_ HDC hDC,
|
||||
_In_reads_(cwc) PCWCH lpwsz,
|
||||
_In_ INT cwc,
|
||||
_Out_ PSIZE psize,
|
||||
_In_ UINT flOpts)
|
||||
{
|
||||
PDC pdc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -124,7 +123,6 @@ GreGetTextExtentW(
|
|||
return Result;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
fl :
|
||||
GetTextExtentExPointW = 0 and everything else that uses this.
|
||||
|
@ -133,14 +131,14 @@ GreGetTextExtentW(
|
|||
BOOL
|
||||
FASTCALL
|
||||
GreGetTextExtentExW(
|
||||
HDC hDC,
|
||||
LPCWSTR String,
|
||||
ULONG Count,
|
||||
ULONG MaxExtent,
|
||||
PULONG Fit,
|
||||
PULONG Dx,
|
||||
LPSIZE pSize,
|
||||
FLONG fl)
|
||||
_In_ HDC hDC,
|
||||
_In_ PCWCH String,
|
||||
_In_ ULONG Count,
|
||||
_In_ ULONG MaxExtent,
|
||||
_Out_opt_ PULONG Fit,
|
||||
_Out_writes_to_opt_(Count, *Fit) PULONG Dx,
|
||||
_Out_ PSIZE pSize,
|
||||
_In_ FLONG fl)
|
||||
{
|
||||
PDC pdc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -175,8 +173,8 @@ GreGetTextExtentExW(
|
|||
String,
|
||||
Count,
|
||||
MaxExtent,
|
||||
(LPINT)Fit,
|
||||
(LPINT)Dx,
|
||||
(PINT)Fit,
|
||||
(PINT)Dx,
|
||||
pSize,
|
||||
fl);
|
||||
TEXTOBJ_UnlockText(TextObj);
|
||||
|
@ -203,7 +201,7 @@ GreGetTextMetricsW(
|
|||
|
||||
DWORD
|
||||
APIENTRY
|
||||
NtGdiGetCharSet(HDC hDC)
|
||||
NtGdiGetCharSet(_In_ HDC hDC)
|
||||
{
|
||||
PDC Dc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -226,8 +224,8 @@ NtGdiGetCharSet(HDC hDC)
|
|||
BOOL
|
||||
APIENTRY
|
||||
NtGdiGetRasterizerCaps(
|
||||
OUT LPRASTERIZER_STATUS praststat,
|
||||
IN ULONG cjBytes)
|
||||
_Out_ LPRASTERIZER_STATUS praststat,
|
||||
_In_ ULONG cjBytes)
|
||||
{
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
RASTERIZER_STATUS rsSafe;
|
||||
|
@ -265,9 +263,9 @@ NtGdiGetRasterizerCaps(
|
|||
INT
|
||||
APIENTRY
|
||||
NtGdiGetTextCharsetInfo(
|
||||
IN HDC hdc,
|
||||
OUT OPTIONAL LPFONTSIGNATURE lpSig,
|
||||
IN DWORD dwFlags)
|
||||
_In_ HDC hdc,
|
||||
_Out_opt_ LPFONTSIGNATURE lpSig,
|
||||
_In_ DWORD dwFlags)
|
||||
{
|
||||
PDC Dc;
|
||||
INT Ret;
|
||||
|
@ -324,15 +322,14 @@ W32KAPI
|
|||
BOOL
|
||||
APIENTRY
|
||||
NtGdiGetTextExtentExW(
|
||||
IN HDC hDC,
|
||||
IN OPTIONAL LPWSTR UnsafeString,
|
||||
IN ULONG Count,
|
||||
IN ULONG MaxExtent,
|
||||
OUT OPTIONAL PULONG UnsafeFit,
|
||||
OUT OPTIONAL PULONG UnsafeDx,
|
||||
OUT LPSIZE UnsafeSize,
|
||||
IN FLONG fl
|
||||
)
|
||||
_In_ HDC hDC,
|
||||
_In_reads_opt_(Count) PCWCH UnsafeString,
|
||||
_In_ ULONG Count,
|
||||
_In_ ULONG MaxExtent,
|
||||
_Out_opt_ PULONG UnsafeFit,
|
||||
_Out_writes_to_opt_(Count, *UnsafeFit) PULONG UnsafeDx,
|
||||
_Out_ PSIZE UnsafeSize,
|
||||
_In_ FLONG fl)
|
||||
{
|
||||
PDC dc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -341,7 +338,7 @@ NtGdiGetTextExtentExW(
|
|||
NTSTATUS Status;
|
||||
BOOLEAN Result;
|
||||
INT Fit;
|
||||
LPINT Dx;
|
||||
PINT Dx;
|
||||
PTEXTOBJ TextObj;
|
||||
|
||||
if ((LONG)Count < 0)
|
||||
|
@ -489,20 +486,22 @@ NtGdiGetTextExtentExW(
|
|||
*/
|
||||
BOOL
|
||||
APIENTRY
|
||||
NtGdiGetTextExtent(HDC hdc,
|
||||
LPWSTR lpwsz,
|
||||
INT cwc,
|
||||
LPSIZE psize,
|
||||
UINT flOpts)
|
||||
NtGdiGetTextExtent(
|
||||
_In_ HDC hdc,
|
||||
_In_reads_(cwc) PCWCH lpwsz,
|
||||
_In_ INT cwc,
|
||||
_Out_ PSIZE psize,
|
||||
_In_ UINT flOpts)
|
||||
{
|
||||
return NtGdiGetTextExtentExW(hdc, lpwsz, cwc, 0, NULL, NULL, psize, flOpts);
|
||||
}
|
||||
|
||||
BOOL
|
||||
APIENTRY
|
||||
NtGdiSetTextJustification(HDC hDC,
|
||||
int BreakExtra,
|
||||
int BreakCount)
|
||||
NtGdiSetTextJustification(
|
||||
_In_ HDC hDC,
|
||||
_In_ INT BreakExtra,
|
||||
_In_ INT BreakCount)
|
||||
{
|
||||
PDC pDc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -528,11 +527,10 @@ W32KAPI
|
|||
INT
|
||||
APIENTRY
|
||||
NtGdiGetTextFaceW(
|
||||
IN HDC hDC,
|
||||
IN INT Count,
|
||||
OUT OPTIONAL LPWSTR FaceName,
|
||||
IN BOOL bAliasName
|
||||
)
|
||||
_In_ HDC hDC,
|
||||
_In_ INT Count,
|
||||
_Out_writes_to_opt_(Count, return) PWSTR FaceName,
|
||||
_In_ BOOL bAliasName)
|
||||
{
|
||||
PDC Dc;
|
||||
PDC_ATTR pdcattr;
|
||||
|
@ -588,9 +586,9 @@ W32KAPI
|
|||
BOOL
|
||||
APIENTRY
|
||||
NtGdiGetTextMetricsW(
|
||||
IN HDC hDC,
|
||||
OUT TMW_INTERNAL * pUnsafeTmwi,
|
||||
IN ULONG cj)
|
||||
_In_ HDC hDC,
|
||||
_Out_ PTMW_INTERNAL pUnsafeTmwi,
|
||||
_In_ ULONG cj)
|
||||
{
|
||||
TMW_INTERNAL Tmwi;
|
||||
|
||||
|
|
|
@ -129,11 +129,11 @@ BOOL FASTCALL IntGdiRemoveFontResource(
|
|||
_In_ DWORD dwFlags);
|
||||
HANDLE FASTCALL IntGdiAddFontMemResource(PVOID Buffer, DWORD dwSize, PDWORD pNumAdded);
|
||||
BOOL FASTCALL IntGdiRemoveFontMemResource(HANDLE hMMFont);
|
||||
ULONG FASTCALL ftGdiGetGlyphOutline(PDC,WCHAR,UINT,LPGLYPHMETRICS,ULONG,PVOID,LPMAT2,BOOL);
|
||||
ULONG FASTCALL ftGdiGetGlyphOutline(PDC, WCHAR, UINT, LPGLYPHMETRICS, ULONG, PVOID, const MAT2*, BOOL);
|
||||
INT FASTCALL IntGetOutlineTextMetrics(PFONTGDI, UINT, OUTLINETEXTMETRICW*, BOOL);
|
||||
BOOL FASTCALL TextIntUpdateSize(PDC,PTEXTOBJ,PFONTGDI,BOOL);
|
||||
BOOL FASTCALL ftGdiGetRasterizerCaps(LPRASTERIZER_STATUS);
|
||||
BOOL FASTCALL TextIntGetTextExtentPoint(PDC,PTEXTOBJ,LPCWSTR,INT,ULONG,LPINT,LPINT,LPSIZE,FLONG);
|
||||
BOOL FASTCALL TextIntGetTextExtentPoint(PDC, PTEXTOBJ, PCWCH, INT, ULONG, PINT, PINT, PSIZE, FLONG);
|
||||
BOOL FASTCALL ftGdiGetTextMetricsW(HDC,PTMW_INTERNAL);
|
||||
DWORD FASTCALL IntGetFontLanguageInfo(PDC);
|
||||
INT FASTCALL ftGdiGetTextCharsetInfo(PDC,PFONTSIGNATURE,DWORD);
|
||||
|
@ -142,13 +142,23 @@ DWORD FASTCALL ftGdiGetFontData(PFONTGDI,DWORD,DWORD,PVOID,DWORD);
|
|||
BOOL FASTCALL IntGdiGetFontResourceInfo(PUNICODE_STRING,PVOID,DWORD*,DWORD);
|
||||
BOOL FASTCALL ftGdiRealizationInfo(PFONTGDI,PREALIZATION_INFO);
|
||||
DWORD FASTCALL ftGdiGetKerningPairs(PFONTGDI,DWORD,LPKERNINGPAIR);
|
||||
BOOL NTAPI GreExtTextOutW(IN HDC,IN INT,IN INT,IN UINT,IN OPTIONAL RECTL*,
|
||||
IN LPCWSTR, IN INT, IN OPTIONAL LPINT, IN DWORD);
|
||||
BOOL
|
||||
APIENTRY
|
||||
GreExtTextOutW(
|
||||
_In_ HDC hDC,
|
||||
_In_ INT XStart,
|
||||
_In_ INT YStart,
|
||||
_In_ UINT fuOptions,
|
||||
_In_opt_ PRECTL lprc,
|
||||
_In_reads_opt_(Count) PCWCH String,
|
||||
_In_ INT Count,
|
||||
_In_opt_ const INT *Dx,
|
||||
_In_ DWORD dwCodePage);
|
||||
DWORD FASTCALL IntGetCharDimensions(HDC, PTEXTMETRICW, PDWORD);
|
||||
BOOL FASTCALL GreGetTextExtentW(HDC,LPCWSTR,INT,LPSIZE,UINT);
|
||||
BOOL FASTCALL GreGetTextExtentExW(HDC,LPCWSTR,ULONG,ULONG,PULONG,PULONG,LPSIZE,FLONG);
|
||||
BOOL FASTCALL GreTextOutW(HDC,int,int,LPCWSTR,int);
|
||||
HFONT FASTCALL GreCreateFontIndirectW( LOGFONTW * );
|
||||
BOOL FASTCALL GreGetTextExtentW(HDC, PCWCH, INT, PSIZE, UINT);
|
||||
BOOL FASTCALL GreGetTextExtentExW(HDC, PCWCH, ULONG, ULONG, PULONG, PULONG, PSIZE, FLONG);
|
||||
BOOL FASTCALL GreTextOutW(HDC, INT, INT, PCWCH, INT);
|
||||
HFONT FASTCALL GreCreateFontIndirectW(_In_ const LOGFONTW *lplf);
|
||||
BOOL WINAPI GreGetTextMetricsW( _In_ HDC hdc, _Out_ LPTEXTMETRICW lptm);
|
||||
|
||||
#define IntLockProcessPrivateFonts(W32Process) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue