From e7814627be0faeff062d78112fca5b7068a873a9 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Mon, 30 Aug 2021 13:54:30 +0200 Subject: [PATCH] gdi32: Use ntgdi names for a few more font functions. Signed-off-by: Jacek Caban Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/gdi32/font.c | 43 +++++++++++++++----------------------- dlls/gdi32/gdi32.spec | 12 +++++------ dlls/gdi32/ntgdi_private.h | 20 ------------------ include/ntgdi.h | 34 ++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 52 deletions(-) diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c index 0be27eb0978..90673fb5d24 100644 --- a/dlls/gdi32/font.c +++ b/dlls/gdi32/font.c @@ -6673,7 +6673,7 @@ BOOL WINAPI GetFontResourceInfoW( LPCWSTR str, LPDWORD size, PVOID buffer, DWORD } /*********************************************************************** - * GetFontUnicodeRanges (GDI32.@) + * NtGdiGetFontUnicodeRanges (win32u.@) * * Retrieve a list of supported Unicode characters in a font. * @@ -6686,7 +6686,7 @@ BOOL WINAPI GetFontResourceInfoW( LPCWSTR str, LPDWORD size, PVOID buffer, DWORD * Failure: 0 * */ -DWORD WINAPI GetFontUnicodeRanges(HDC hdc, LPGLYPHSET lpgs) +DWORD WINAPI NtGdiGetFontUnicodeRanges( HDC hdc, GLYPHSET *lpgs ) { DWORD ret; PHYSDEV dev; @@ -6704,9 +6704,9 @@ DWORD WINAPI GetFontUnicodeRanges(HDC hdc, LPGLYPHSET lpgs) /************************************************************* - * FontIsLinked (GDI32.@) + * NtGdiFontIsLinked (win32u.@) */ -BOOL WINAPI FontIsLinked(HDC hdc) +BOOL WINAPI NtGdiFontIsLinked( HDC hdc ) { DC *dc = get_dc_ptr(hdc); PHYSDEV dev; @@ -6721,9 +6721,9 @@ BOOL WINAPI FontIsLinked(HDC hdc) } /************************************************************* - * GetFontRealizationInfo (GDI32.@) + * NtGdiGetRealizationInfo (win32u.@) */ -BOOL WINAPI GetFontRealizationInfo(HDC hdc, struct font_realization_info *info) +BOOL WINAPI NtGdiGetRealizationInfo( HDC hdc, struct font_realization_info *info ) { BOOL is_v0 = info->size == FIELD_OFFSET(struct font_realization_info, file_count); PHYSDEV dev; @@ -6742,13 +6742,13 @@ BOOL WINAPI GetFontRealizationInfo(HDC hdc, struct font_realization_info *info) } /************************************************************************* - * GetRasterizerCaps (GDI32.@) + * NtGdiGetRasterizerCaps (win32u.@) */ -BOOL WINAPI GetRasterizerCaps( LPRASTERIZER_STATUS lprs, UINT cbNumBytes) +BOOL WINAPI NtGdiGetRasterizerCaps( RASTERIZER_STATUS *status, UINT size ) { - lprs->nSize = sizeof(RASTERIZER_STATUS); - lprs->wFlags = font_funcs ? (TT_AVAILABLE | TT_ENABLED) : 0; - lprs->nLanguageID = 0; + status->nSize = sizeof(RASTERIZER_STATUS); + status->wFlags = font_funcs ? (TT_AVAILABLE | TT_ENABLED) : 0; + status->nLanguageID = 0; return TRUE; } @@ -6776,19 +6776,11 @@ BOOL WINAPI GetFontFileData( DWORD instance_id, DWORD file_index, UINT64 offset, return ret; } -/* Undocumented structure filled in by GetFontFileInfo */ -struct font_fileinfo -{ - FILETIME writetime; - LARGE_INTEGER size; - WCHAR path[1]; -}; - /************************************************************************* - * GetFontFileInfo (GDI32.@) + * NtGdiGetFontFileInfo (win32u.@) */ -BOOL WINAPI GetFontFileInfo( DWORD instance_id, DWORD file_index, struct font_fileinfo *info, - SIZE_T size, SIZE_T *needed ) +BOOL WINAPI NtGdiGetFontFileInfo( DWORD instance_id, DWORD file_index, struct font_fileinfo *info, + SIZE_T size, SIZE_T *needed ) { SIZE_T required_size = 0; struct gdi_font *font; @@ -6832,7 +6824,7 @@ BOOL WINAPI GdiRealizationInfo(HDC hdc, struct realization_info *info) BOOL ret; ri.size = sizeof(ri); - ret = GetFontRealizationInfo( hdc, &ri ); + ret = NtGdiGetRealizationInfo( hdc, &ri ); if (ret) { info->flags = ri.flags; @@ -6844,10 +6836,9 @@ BOOL WINAPI GdiRealizationInfo(HDC hdc, struct realization_info *info) } /************************************************************* - * GetCharWidthInfo (GDI32.@) - * + * NtGdiGetCharWidthInfo (win32u.@) */ -BOOL WINAPI GetCharWidthInfo(HDC hdc, struct char_width_info *info) +BOOL WINAPI NtGdiGetCharWidthInfo( HDC hdc, struct char_width_info *info ) { PHYSDEV dev; BOOL ret; diff --git a/dlls/gdi32/gdi32.spec b/dlls/gdi32/gdi32.spec index 1c3eaef5d14..33ebf828440 100644 --- a/dlls/gdi32/gdi32.spec +++ b/dlls/gdi32/gdi32.spec @@ -138,7 +138,7 @@ @ stdcall FixBrushOrgEx(long long long ptr) @ stdcall FlattenPath(long) @ stdcall FloodFill(long long long long) -@ stdcall FontIsLinked(long) +@ stdcall FontIsLinked(long) NtGdiFontIsLinked @ stdcall FrameRgn(long long long long long) @ stub FreeImageColorMatcher # @ stub GdiAddFontResourceW @@ -259,7 +259,7 @@ @ stdcall GetCharWidthFloatA(long long long ptr) @ stdcall GetCharWidthFloatW(long long long ptr) @ stdcall GetCharWidthI(ptr long long ptr ptr) -@ stdcall GetCharWidthInfo(ptr ptr) +@ stdcall GetCharWidthInfo(ptr ptr) NtGdiGetCharWidthInfo @ stdcall GetCharWidthW(long long long ptr) GetCharWidth32W @ stub GetCharWidthWOW @ stdcall GetCharacterPlacementA(long str long long ptr long) @@ -291,12 +291,12 @@ # @ stub GetFontAssocStatus @ stdcall GetFontData(long long long ptr long) NtGdiGetFontData @ stdcall GetFontFileData(long long int64 ptr long) -@ stdcall GetFontFileInfo(long long ptr long ptr) +@ stdcall GetFontFileInfo(long long ptr long ptr) NtGdiGetFontFileInfo @ stdcall GetFontLanguageInfo(long) -@ stdcall GetFontRealizationInfo(long ptr) +@ stdcall GetFontRealizationInfo(long ptr) NtGdiGetRealizationInfo @ stub GetFontResourceInfo @ stdcall GetFontResourceInfoW(wstr ptr ptr long) -@ stdcall GetFontUnicodeRanges(ptr ptr) +@ stdcall GetFontUnicodeRanges(ptr ptr) NtGdiGetFontUnicodeRanges @ stdcall GetGlyphIndicesA(long ptr long ptr long) @ stdcall GetGlyphIndicesW(long ptr long ptr long) NtGdiGetGlyphIndicesW @ stdcall GetGlyphOutline(long long long ptr long ptr ptr) GetGlyphOutlineA @@ -333,7 +333,7 @@ @ stdcall GetPolyFillMode(long) @ stdcall GetROP2(long) @ stdcall GetRandomRgn(long long long) -@ stdcall GetRasterizerCaps(ptr long) +@ stdcall GetRasterizerCaps(ptr long) NtGdiGetRasterizerCaps @ stdcall GetRegionData(long long ptr) NtGdiGetRegionData @ stdcall GetRelAbs(long long) @ stdcall GetRgnBox(long ptr) NtGdiGetRgnBox diff --git a/dlls/gdi32/ntgdi_private.h b/dlls/gdi32/ntgdi_private.h index ffa28f39c73..103e06628d7 100644 --- a/dlls/gdi32/ntgdi_private.h +++ b/dlls/gdi32/ntgdi_private.h @@ -251,26 +251,6 @@ struct font_gamma_ramp BYTE decode[256]; }; -/* Undocumented structure filled in by GetFontRealizationInfo */ -struct font_realization_info -{ - DWORD size; /* could be 16 or 24 */ - DWORD flags; /* 1 for bitmap fonts, 3 for scalable fonts */ - DWORD cache_num; /* keeps incrementing - num of fonts that have been created allowing for caching?? */ - DWORD instance_id; /* identifies a realized font instance */ - DWORD file_count; /* number of files that make up this font */ - WORD face_index; /* face index in case of font collections */ - WORD simulations; /* 0 bit - bold simulation, 1 bit - oblique simulation */ -}; - -/* Undocumented structure filled in by GetCharWidthInfo */ -struct char_width_info -{ - INT lsb; /* minimum left side bearing */ - INT rsb; /* minimum right side bearing */ - INT unk; /* unknown */ -}; - typedef struct { FLOAT eM11, eM12, eM21, eM22; } FMAT2; struct bitmap_font_size diff --git a/include/ntgdi.h b/include/ntgdi.h index 398e8b06faa..81f5a49f665 100644 --- a/include/ntgdi.h +++ b/include/ntgdi.h @@ -172,6 +172,32 @@ typedef struct DC_ATTR #endif /* __WINESRC__ */ +struct font_realization_info +{ + DWORD size; /* could be 16 or 24 */ + DWORD flags; /* 1 for bitmap fonts, 3 for scalable fonts */ + DWORD cache_num; /* keeps incrementing */ + DWORD instance_id; /* identifies a realized font instance */ + DWORD file_count; /* number of files that make up this font */ + WORD face_index; /* face index in case of font collections */ + WORD simulations; /* 0 bit - bold simulation, 1 bit - oblique simulation */ +}; + +struct char_width_info +{ + INT lsb; /* minimum left side bearing */ + INT rsb; /* minimum right side bearing */ + INT unk; /* unknown */ +}; + +struct font_fileinfo +{ + FILETIME writetime; + LARGE_INTEGER size; + WCHAR path[1]; +}; + + INT WINAPI NtGdiAbortDoc( HDC hdc ); BOOL WINAPI NtGdiAbortPath( HDC hdc ); BOOL WINAPI NtGdiAlphaBlend( HDC hdc_dst, int x_dst, int y_dst, int width_dst, int height_dst, @@ -236,6 +262,7 @@ BOOL WINAPI NtGdiGetBitmapDimension( HBITMAP bitmap, SIZE *size ); UINT WINAPI NtGdiGetBoundsRect( HDC hdc, RECT *rect, UINT flags ); BOOL WINAPI NtGdiGetCharABCWidthsW( HDC hdc, UINT first, UINT last, WCHAR *chars, ULONG flags, void *buffer ); +BOOL WINAPI NtGdiGetCharWidthInfo( HDC hdc, struct char_width_info *info ); BOOL WINAPI NtGdiGetCharWidthW( HDC hdc, UINT first_char, UINT last_char, WCHAR *chars, ULONG flags, void *buffer ); BOOL WINAPI NtGdiGetDCDword( HDC hdc, UINT method, DWORD *result ); @@ -243,6 +270,11 @@ BOOL WINAPI NtGdiGetDCPoint( HDC hdc, UINT method, POINT *result ); INT WINAPI NtGdiGetDeviceCaps( HDC hdc, INT cap ); BOOL WINAPI NtGdiGetDeviceGammaRamp( HDC hdc, void *ptr ); DWORD WINAPI NtGdiGetFontData( HDC hdc, DWORD table, DWORD offset, void *buffer, DWORD length ); +BOOL WINAPI NtGdiGetFontFileData( DWORD instance_id, DWORD file_index, UINT64 *offset, + void *buff, DWORD buff_size ); +BOOL WINAPI NtGdiGetFontFileInfo( DWORD instance_id, DWORD file_index, struct font_fileinfo *info, + SIZE_T size, SIZE_T *needed ); +DWORD WINAPI NtGdiGetFontUnicodeRanges( HDC hdc, GLYPHSET *lpgs ); DWORD WINAPI NtGdiGetGlyphIndicesW( HDC hdc, const WCHAR *str, INT count, WORD *indices, DWORD flags ); DWORD WINAPI NtGdiGetGlyphOutlineW( HDC hdc, UINT ch, UINT format, GLYPHMETRICS *metrics, @@ -257,6 +289,8 @@ UINT WINAPI NtGdiGetOutlineTextMetricsInternalW( HDC hdc, UINT cbData, INT WINAPI NtGdiGetPath( HDC hdc, POINT *points, BYTE *types, INT size ); COLORREF WINAPI NtGdiGetPixel( HDC hdc, INT x, INT y ); INT WINAPI NtGdiGetRandomRgn( HDC hdc, HRGN region, INT code ); +BOOL WINAPI NtGdiGetRasterizerCaps( RASTERIZER_STATUS *status, UINT size ); +BOOL WINAPI NtGdiGetRealizationInfo( HDC hdc, struct font_realization_info *info ); DWORD WINAPI NtGdiGetRegionData( HRGN hrgn, DWORD count, RGNDATA *data ); INT WINAPI NtGdiGetRgnBox( HRGN hrgn, RECT *rect ); UINT WINAPI NtGdiGetSystemPaletteUse( HDC hdc );