31 if (lpString !=
NULL && cchString > 0)
87 for (; cStrings>0; cStrings--, pptxt++)
116 for (; cStrings>0; cStrings--, pptxt++)
296 DPRINT(
"nMaxExtent is invalid: %d\n", nMaxExtent);
386 StringA.
Length = cchString;
468 if (fuOptions & ETO_GLYPH_INDEX)
476 DPRINT1(
"ERROR: Should convert lpDx properly!\n");
505 if ( !lpDx && fuOptions &
ETO_PDY )
537 if (!(fuOptions & (ETO_GLYPH_INDEX | ETO_IGNORELANGUAGE)))
576 DPRINT1(
"GdiBCExtTextOut nothing\n");
597 DxSize = (cwc *
sizeof(
INT)) * (fuOptions &
ETO_PDY ? 2 : 1);
669 if (pFaceName && cwcMax <= 0)
737 if (pszOut && !cwcMax)
758 DPRINT(
"GetFontResourceInfoW: dwType = %lu\n", dwType);
802 if (nCharExtra == 0x80000000)
829 return nOldCharExtra;
978 pdcattr->
cBreak = nBreakCount;
1054 if (bResult && petm)
#define ERROR_INVALID_PARAMETER
BOOL WINAPI GetTextExtentExPointI(_In_ HDC hdc, _In_reads_(cgi) LPWORD pgiIn, _In_ INT cgi, _In_ INT nMaxExtent, _Out_opt_ LPINT lpnFit, _Out_writes_to_opt_(cwchString, *lpnFit) LPINT lpnDx, _Out_ LPSIZE lpSize)
VOID HEAP_free(LPVOID memory)
HDC WINAPI GdiConvertAndCheckDC(HDC hdc)
INT WINAPI SetTextCharacterExtra(_In_ HDC hdc, _In_ INT nCharExtra)
_Must_inspect_result_ _Out_ LPSIZE psize
_In_ int _Inout_ LPRECT lprc
BOOL WINAPI GetETM(_In_ HDC hdc, _Out_ EXTTEXTMETRIC *petm)
BOOL WINAPI GetTextExtentPointI(_In_ HDC hdc, _In_reads_(cgi) LPWORD pgiIn, _In_ int cgi, _Out_ LPSIZE lpSize)
BOOL WINAPI TextOutW(_In_ HDC hdc, _In_ INT nXStart, _In_ INT nYStart, _In_reads_(cchString) LPCWSTR lpString, _In_ INT cchString)
#define WideCharToMultiByte
BOOL APIENTRY GetTextExtentPointA(_In_ HDC hdc, _In_reads_(cchString) LPCSTR lpString, _In_ INT cchString, _Out_ LPSIZE lpsz)
ACPI_SIZE strlen(const char *String)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiExtTextOutW(_In_ HDC hdc, _In_ INT x, _In_ INT y, _In_ UINT flOpts, _In_opt_ LPRECT prcl, _In_reads_opt_(cwc) LPWSTR pwsz, _In_range_(0, 0xffff) INT cwc, _In_reads_opt_(_Inexpressible_(cwc)) LPINT pdx, _In_ DWORD dwCodePage)
BOOL WINAPI GetTextExtentExPointWPri(_In_ HDC hdc, _In_reads_(cwc) LPCWSTR lpwsz, _In_ INT cwc, _In_ INT dxMax, _Out_opt_ LPINT pcCh, _Out_writes_to_opt_(cwc, *pcCh) LPINT pdxOut, _In_ LPSIZE psize)
FORCEINLINE PDC_ATTR GdiGetDcAttr(HDC hdc)
#define HANDLE_METADC16(_RetType, _Func, dwError, hdc,...)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
struct _GDIBATCHHDR * PGDIBATCHHDR
GLint GLint GLint GLint GLint x
VOID FASTCALL FONT_TextMetricWToA(const TEXTMETRICW *ptmW, LPTEXTMETRICA ptmA)
static BOOL bBypassETOWMF
#define _In_reads_opt_(size)
#define HANDLE_METADC(_RetType, _Func, dwError, hdc,...)
INT WINAPI GetTextCharacterExtra(_In_ HDC hdc)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
#define _Out_writes_to_opt_(size, count)
DWORD WINAPI GetKerningPairsA(_In_ HDC hdc, _In_ DWORD nPairs, _Out_writes_to_opt_(nPairs, return) LPKERNINGPAIR lpKernPair)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
BOOL WINAPI LoadLPK(INT LpkFunctionID)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
BOOL WINAPI PolyTextOutW(_In_ HDC hdc, _In_reads_(cStrings) const POLYTEXTW *pptxt, _In_ INT cStrings)
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ INT x, _In_ INT y, _In_ UINT fuOptions, _In_opt_ const RECT *lprc, _In_reads_opt_(cwc) LPCWSTR lpString, _In_ UINT cwc, _In_reads_opt_(cwc) const INT *lpDx)
NTSTATUS HEAP_strdupA2W(LPWSTR *ppszW, LPCSTR lpszA)
INT WINAPI GetTextFaceAliasW(_In_ HDC hdc, _In_ INT cwcMax, _Out_writes_to_opt_(cwcMax, return) LPWSTR pszOut)
static const WCHAR nameW[]
__kernel_entry W32KAPI NTSTATUS APIENTRY NtGdiFlush(VOID)
BOOL WINAPI SetTextJustification(_In_ HDC hdc, _In_ INT nBreakExtra, _In_ INT nBreakCount)
INT WINAPI GetTextFaceA(_In_ HDC hdc, _In_ INT cchMax, _Out_writes_to_opt_(cchMax, return) LPSTR lpName)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiGetFontResourceInfoInternalW(_In_reads_z_(cwc) LPWSTR pwszFiles, _In_ ULONG cwc, _In_ ULONG cFiles, _In_ UINT cjBuf, _Out_ LPDWORD pdwBytes, _Out_writes_bytes_(cjBuf) LPVOID pvBuf, _In_ DWORD iType)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define NT_SUCCESS(StatCode)
INT WINAPI GetTextFaceW(_In_ HDC hdc, _In_ INT cwcMax, _Out_writes_to_opt_(cwcMax, return) LPWSTR pFaceName)
struct _GDIBSTEXTOUT GDIBSTEXTOUT
W32KAPI BOOL APIENTRY NtGdiGetTextMetricsW(IN HDC hDC, OUT TMW_INTERNAL *pUnsafeTmwi, IN ULONG cj)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
GDI_TEB_BATCH GdiTebBatch
UINT WINAPI GetStringBitmapW(_In_ HDC hdc, _In_ LPWSTR pwsz, _In_ BOOL bDoCall, _In_ UINT cj, _Out_writes_(cj) BYTE *lpSB)
BOOL WINAPI GetTextMetricsW(_In_ HDC hdc, _Out_ LPTEXTMETRICW lptm)
BOOL WINAPI GetTextExtentPoint32A(_In_ HDC hdc, _In_reads_(cchString) LPCSTR lpString, _In_ INT cchString, _Out_ LPSIZE lpSize)
BOOL APIENTRY GetTextExtentPointW(_In_ HDC hdc, _In_reads_(cchString) LPCWSTR lpString, _In_ INT cchString, _Out_ LPSIZE lpsz)
BOOL WINAPI GetTextExtentPoint32W(_In_ HDC hdc, _In_reads_(cchString) LPCWSTR lpString, _In_ int cchString, _Out_ LPSIZE lpSize)
#define DC_FONTTEXT_DIRTY
UINT WINAPI GetTextAlign(_In_ HDC hdc)
BOOL APIENTRY NtGdiGetTextExtent(HDC hdc, LPWSTR lpwsz, INT cwc, LPSIZE psize, UINT flOpts)
COLORREF WINAPI GetTextColor(_In_ HDC hdc)
VOID WINAPI GdiSetLastError(DWORD dwErrCode)
BOOL WINAPI GetTextExtentExPointA(_In_ HDC hdc, _In_reads_(cchString) LPCSTR lpszStr, _In_ INT cchString, _In_ INT nMaxExtent, _Out_opt_ LPINT lpnFit, _Out_writes_to_opt_(cchString, *lpnFit) LPINT lpnDx, _Out_ LPSIZE lpSize)
BOOL WINAPI ExtTextOutA(_In_ HDC hdc, _In_ INT x, _In_ INT y, _In_ UINT fuOptions, _In_opt_ const RECT *lprc, _In_reads_opt_(cch) LPCSTR lpString, _In_ UINT cch, _In_reads_opt_(cch) const INT *lpDx)
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
BOOL WINAPI GetFontResourceInfoW(_In_z_ LPCWSTR lpFileName, _Inout_ DWORD *pdwBufSize, _Out_writes_to_opt_(*pdwBufSize, 1) PVOID lpBuffer, _In_ DWORD dwType)
W32KAPI INT APIENTRY NtGdiGetTextFaceW(IN HDC hDC, IN INT Count, OUT OPTIONAL LPWSTR FaceName, IN BOOL bAliasName)
DWORD APIENTRY NtGdiGetCharSet(HDC hDC)
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)
DWORD WINAPI GdiGetCodePage(_In_ HDC hdc)
GLint GLint GLint GLint GLint GLint y
BOOL WINAPI PolyTextOutA(_In_ HDC hdc, _In_reads_(cStrings) const POLYTEXTA *pptxt, _In_ INT cStrings)
BOOL WINAPI GetTextExtentExPointW(_In_ HDC hdc, _In_reads_(cchString) LPCWSTR lpszString, _In_ INT cchString, _In_ INT nMaxExtent, _Out_opt_ LPINT lpnFit, _Out_writes_to_opt_(cchString, *lpnFit) LPINT lpnDx, _Out_ LPSIZE lpSize)
INT WINAPI GetTextCharset(_In_ HDC hdc)
BOOL WINAPI TextOutA(_In_ HDC hdc, _In_ INT nXStart, _In_ INT nYStart, _In_reads_(cchString) LPCSTR lpString, _In_ INT cchString)
#define RtlCopyMemory(Destination, Source, Length)
INT APIENTRY NtGdiGetTextCharsetInfo(IN HDC hdc, OUT OPTIONAL LPFONTSIGNATURE lpSig, IN DWORD dwFlags)
COLORREF WINAPI SetTextColor(_In_ HDC hdc, _In_ COLORREF crColor)
#define ERROR_PATH_NOT_FOUND
FORCEINLINE PVOID GdiAllocBatchCommand(HDC hdc, USHORT Cmd)
BOOL WINAPI GetTextMetricsA(_In_ HDC hdc, _Out_ LPTEXTMETRICA lptm)
#define HeapFree(x, y, z)
static LPTEXTMETRICW lptm
NTSYSAPI BOOLEAN NTAPI RtlDosPathNameToNtPathName_U(_In_opt_z_ PCWSTR DosPathName, _Out_ PUNICODE_STRING NtPathName, _Out_opt_ PCWSTR *NtFileNamePart, _Out_opt_ PRTL_RELATIVE_NAME_U DirectoryInfo)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiGetETM(_In_ HDC hdc, _Out_opt_ EXTTEXTMETRIC *petm)
UINT WINAPI GetStringBitmapA(_In_ HDC hdc, _In_ LPSTR psz, _In_ BOOL bDoCall, _In_ UINT cj, _Out_writes_(cj) BYTE *lpSB)
__kernel_entry W32KAPI UINT APIENTRY NtGdiGetStringBitmapW(_In_ HDC hdc, _In_ LPWSTR pwsz, _In_ UINT cwc, _Out_writes_bytes_(cj) BYTE *lpSB, _In_ UINT cj)
LPKGTEP LpkGetTextExtentExPoint
UINT WINAPI SetTextAlign(_In_ HDC hdc, _In_ UINT fMode)
#define _Out_writes_(size)