From: Jacek Caban jacek@codeweavers.com
--- dlls/win32u/gdiobj.c | 5 ----- dlls/win32u/syscall.c | 5 +++++ dlls/win32u/win32u.spec | 10 ++++----- dlls/win32u/win32u_private.h | 6 ------ dlls/win32u/wrappers.c | 31 ---------------------------- dlls/wow64win/gdi.c | 40 ++++++++++++++++++++++++++++++++++++ dlls/wow64win/syscall.h | 5 +++++ 7 files changed, 55 insertions(+), 47 deletions(-)
diff --git a/dlls/win32u/gdiobj.c b/dlls/win32u/gdiobj.c index ef56fc24a5b..431bd9360c9 100644 --- a/dlls/win32u/gdiobj.c +++ b/dlls/win32u/gdiobj.c @@ -1030,8 +1030,6 @@ BOOL WINAPI NtGdiSetColorAdjustment( HDC hdc, const COLORADJUSTMENT *ca )
static struct unix_funcs unix_funcs = { - NtGdiCreateCompatibleDC, - NtGdiCreateMetafileDC, NtGdiDeleteObjectApp, NtGdiDoPalette, NtGdiEnumFonts, @@ -1066,9 +1064,7 @@ static struct unix_funcs unix_funcs = NtGdiOffsetClipRgn, NtGdiPtVisible, NtGdiRectVisible, - NtGdiResetDC, NtGdiResizePalette, - NtGdiRestoreDC, NtGdiSelectBrush, NtGdiSelectFont, NtGdiSelectPen, @@ -1077,7 +1073,6 @@ static struct unix_funcs unix_funcs = NtGdiSetLayout, NtGdiSetSystemPaletteUse, NtGdiUnrealizeObject, - NtGdiUpdateColors, NtUserDrawCaptionTemp, NtUserDrawMenuBarTemp, NtUserEndPaint, diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c index 6d9070c0ea2..db951627c0c 100644 --- a/dlls/win32u/syscall.c +++ b/dlls/win32u/syscall.c @@ -51,12 +51,14 @@ static void * const syscalls[] = NtGdiCreateBitmap, NtGdiCreateClientObj, NtGdiCreateCompatibleBitmap, + NtGdiCreateCompatibleDC, NtGdiCreateDIBBrush, NtGdiCreateDIBSection, NtGdiCreateDIBitmapInternal, NtGdiCreateEllipticRgn, NtGdiCreateHalftonePalette, NtGdiCreateHatchBrushInternal, + NtGdiCreateMetafileDC, NtGdiCreatePaletteInternal, NtGdiCreatePatternBrushInternal, NtGdiCreatePen, @@ -131,6 +133,8 @@ static void * const syscalls[] = NtGdiRectangle, NtGdiRemoveFontMemResourceEx, NtGdiRemoveFontResourceW, + NtGdiResetDC, + NtGdiRestoreDC, NtGdiRoundRect, NtGdiSaveDC, NtGdiScaleViewportExtEx, @@ -158,6 +162,7 @@ static void * const syscalls[] = NtGdiSwapBuffers, NtGdiTransformPoints, NtGdiTransparentBlt, + NtGdiUpdateColors, NtGdiWidenPath, NtUserActivateKeyboardLayout, NtUserAddClipboardFormatListener, diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index 6690da46537..aa95d936c49 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -146,14 +146,14 @@ @ stub NtGdiCreateColorSpace @ stub NtGdiCreateColorTransform @ stdcall -syscall NtGdiCreateCompatibleBitmap(long long long) -@ stdcall NtGdiCreateCompatibleDC(long) +@ stdcall -syscall NtGdiCreateCompatibleDC(long) @ stdcall -syscall NtGdiCreateDIBBrush(ptr long long long long ptr) @ stdcall -syscall NtGdiCreateDIBSection(long long long ptr long long long long ptr) @ stdcall -syscall NtGdiCreateDIBitmapInternal(long long long long ptr ptr long long long long long) @ stdcall -syscall NtGdiCreateEllipticRgn(long long long long) @ stdcall -syscall NtGdiCreateHalftonePalette(long) @ stdcall -syscall NtGdiCreateHatchBrushInternal(long long long) -@ stdcall NtGdiCreateMetafileDC(long) +@ stdcall -syscall NtGdiCreateMetafileDC(long) @ stub NtGdiCreateOPMProtectedOutput @ stub NtGdiCreateOPMProtectedOutputs @ stdcall -syscall NtGdiCreatePaletteInternal(ptr long) @@ -570,9 +570,9 @@ @ stdcall -syscall NtGdiRemoveFontMemResourceEx(long) @ stdcall -syscall NtGdiRemoveFontResourceW(wstr long long long long ptr) @ stub NtGdiRemoveMergeFont -@ stdcall NtGdiResetDC(long ptr ptr ptr ptr) +@ stdcall -syscall NtGdiResetDC(long ptr ptr ptr ptr) @ stdcall NtGdiResizePalette(long long) -@ stdcall NtGdiRestoreDC(long long) +@ stdcall -syscall NtGdiRestoreDC(long long) @ stdcall -syscall NtGdiRoundRect(long long long long long long long) @ stub NtGdiSTROBJ_bEnum @ stub NtGdiSTROBJ_bEnumPositionsOnly @@ -631,7 +631,7 @@ @ stub NtGdiUnloadPrinterDriver @ stub NtGdiUnmapMemFont @ stdcall NtGdiUnrealizeObject(long) -@ stdcall NtGdiUpdateColors(long) +@ stdcall -syscall NtGdiUpdateColors(long) @ stub NtGdiUpdateTransform @ stdcall -syscall NtGdiWidenPath(long) @ stub NtGdiXFORMOBJ_bApplyXform diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index 6a045dbf0b1..07328cb1f95 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -35,8 +35,6 @@ struct unix_funcs { /* win32u functions */ - HDC (WINAPI *pNtGdiCreateCompatibleDC)( HDC hdc ); - HDC (WINAPI *pNtGdiCreateMetafileDC)( HDC hdc ); BOOL (WINAPI *pNtGdiDeleteObjectApp)( HGDIOBJ obj ); LONG (WINAPI *pNtGdiDoPalette)( HGDIOBJ handle, WORD start, WORD count, void *entries, DWORD func, BOOL inbound ); @@ -82,10 +80,7 @@ struct unix_funcs INT (WINAPI *pNtGdiOffsetClipRgn)( HDC hdc, INT x, INT y ); BOOL (WINAPI *pNtGdiPtVisible)( HDC hdc, INT x, INT y ); BOOL (WINAPI *pNtGdiRectVisible)( HDC hdc, const RECT *rect ); - BOOL (WINAPI *pNtGdiResetDC)( HDC hdc, const DEVMODEW *devmode, BOOL *banding, - DRIVER_INFO_2W *driver_info, void *dev ); BOOL (WINAPI *pNtGdiResizePalette)( HPALETTE palette, UINT count ); - BOOL (WINAPI *pNtGdiRestoreDC)( HDC hdc, INT level ); HGDIOBJ (WINAPI *pNtGdiSelectBrush)( HDC hdc, HGDIOBJ handle ); HGDIOBJ (WINAPI *pNtGdiSelectFont)( HDC hdc, HGDIOBJ handle ); HGDIOBJ (WINAPI *pNtGdiSelectPen)( HDC hdc, HGDIOBJ handle ); @@ -94,7 +89,6 @@ struct unix_funcs DWORD (WINAPI *pNtGdiSetLayout)( HDC hdc, LONG wox, DWORD layout ); UINT (WINAPI *pNtGdiSetSystemPaletteUse)( HDC hdc, UINT use ); BOOL (WINAPI *pNtGdiUnrealizeObject)( HGDIOBJ obj ); - BOOL (WINAPI *pNtGdiUpdateColors)( HDC hdc ); BOOL (WINAPI *pNtUserDrawCaptionTemp)( HWND hwnd, HDC hdc, const RECT *rect, HFONT font, HICON icon, const WCHAR *str, UINT flags ); DWORD (WINAPI *pNtUserDrawMenuBarTemp)( HWND hwnd, HDC hdc, RECT *rect, HMENU handle, HFONT font ); diff --git a/dlls/win32u/wrappers.c b/dlls/win32u/wrappers.c index dc3733dc90e..27da68d65d5 100644 --- a/dlls/win32u/wrappers.c +++ b/dlls/win32u/wrappers.c @@ -24,18 +24,6 @@
static const struct unix_funcs *unix_funcs;
-HDC WINAPI NtGdiCreateCompatibleDC( HDC hdc ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiCreateCompatibleDC( hdc ); -} - -HDC WINAPI NtGdiCreateMetafileDC( HDC hdc ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiCreateMetafileDC( hdc ); -} - BOOL WINAPI NtGdiDeleteObjectApp( HGDIOBJ obj ) { if (!unix_funcs) return FALSE; @@ -259,25 +247,12 @@ BOOL WINAPI NtGdiRectVisible( HDC hdc, const RECT *rect ) return unix_funcs->pNtGdiRectVisible( hdc, rect ); }
-BOOL WINAPI NtGdiResetDC( HDC hdc, const DEVMODEW *devmode, BOOL *banding, - DRIVER_INFO_2W *driver_info, void *dev ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiResetDC( hdc, devmode, banding, driver_info, dev ); -} - BOOL WINAPI NtGdiResizePalette( HPALETTE palette, UINT count ) { if (!unix_funcs) return FALSE; return unix_funcs->pNtGdiResizePalette( palette, count ); }
-BOOL WINAPI NtGdiRestoreDC( HDC hdc, INT level ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiRestoreDC( hdc, level ); -} - HGDIOBJ WINAPI NtGdiSelectBrush( HDC hdc, HGDIOBJ handle ) { if (!unix_funcs) return 0; @@ -326,12 +301,6 @@ BOOL WINAPI NtGdiUnrealizeObject( HGDIOBJ obj ) return unix_funcs->pNtGdiUnrealizeObject( obj ); }
-BOOL WINAPI NtGdiUpdateColors( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiUpdateColors( hdc ); -} - BOOL WINAPI NtUserDrawCaptionTemp( HWND hwnd, HDC hdc, const RECT *rect, HFONT font, HICON icon, const WCHAR *str, UINT flags ) { diff --git a/dlls/wow64win/gdi.c b/dlls/wow64win/gdi.c index d0dfbccaad1..a7c175591ae 100644 --- a/dlls/wow64win/gdi.c +++ b/dlls/wow64win/gdi.c @@ -216,6 +216,13 @@ NTSTATUS WINAPI wow64_NtGdiCreateCompatibleBitmap( UINT *args ) return HandleToUlong( NtGdiCreateCompatibleBitmap( hdc, width, height )); }
+NTSTATUS WINAPI wow64_NtGdiCreateCompatibleDC( UINT *args ) +{ + HDC hdc = get_handle( &args ); + + return HandleToUlong( NtGdiCreateCompatibleDC( hdc )); +} + NTSTATUS WINAPI wow64_NtGdiCreateDIBBrush( UINT *args ) { const void *data = get_ptr( &args ); @@ -294,6 +301,13 @@ NTSTATUS WINAPI wow64_NtGdiCreateHatchBrushInternal( UINT *args ) return HandleToULong( NtGdiCreateHatchBrushInternal( style, color, pen )); }
+NTSTATUS WINAPI wow64_NtGdiCreateMetafileDC( UINT *args ) +{ + HDC hdc = get_handle( &args ); + + return HandleToUlong( NtGdiCreateMetafileDC( hdc )); +} + NTSTATUS WINAPI wow64_NtGdiCreatePaletteInternal( UINT *args ) { const LOGPALETTE *palette = get_ptr( &args ); @@ -1068,6 +1082,25 @@ NTSTATUS WINAPI wow64_NtGdiGetRegionData( UINT *args ) return NtGdiGetRegionData( hrgn, count, data ); }
+NTSTATUS WINAPI wow64_NtGdiResetDC( UINT *args ) +{ + HDC hdc = get_handle( &args ); + const DEVMODEW *devmode = get_ptr( &args ); + BOOL *banding = get_ptr( &args ); + DRIVER_INFO_2W *driver_info = get_ptr( &args ); + void *dev = get_ptr( &args ); + + return NtGdiResetDC( hdc, devmode, banding, driver_info, dev ); +} + +NTSTATUS WINAPI wow64_NtGdiRestoreDC( UINT *args ) +{ + HDC hdc = get_handle( &args ); + INT level = get_ulong( &args ); + + return NtGdiRestoreDC( hdc, level ); +} + NTSTATUS WINAPI wow64_NtGdiGetRgnBox( UINT *args ) { HRGN hrgn = get_handle( &args ); @@ -1528,6 +1561,13 @@ NTSTATUS WINAPI wow64_NtGdiTransformPoints( UINT *args ) return NtGdiTransformPoints( hdc, points_in, points_out, count, mode ); }
+NTSTATUS WINAPI wow64_NtGdiUpdateColors( UINT *args ) +{ + HDC hdc = get_handle( &args ); + + return NtGdiUpdateColors( hdc ); +} + NTSTATUS WINAPI wow64_NtGdiWidenPath( UINT *args ) { HDC hdc = get_handle( &args ); diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h index 7425b59bcdd..90e1d2d3e58 100644 --- a/dlls/wow64win/syscall.h +++ b/dlls/wow64win/syscall.h @@ -37,12 +37,14 @@ SYSCALL_ENTRY( NtGdiCreateBitmap ) \ SYSCALL_ENTRY( NtGdiCreateClientObj ) \ SYSCALL_ENTRY( NtGdiCreateCompatibleBitmap ) \ + SYSCALL_ENTRY( NtGdiCreateCompatibleDC ) \ SYSCALL_ENTRY( NtGdiCreateDIBBrush ) \ SYSCALL_ENTRY( NtGdiCreateDIBSection ) \ SYSCALL_ENTRY( NtGdiCreateDIBitmapInternal ) \ SYSCALL_ENTRY( NtGdiCreateEllipticRgn ) \ SYSCALL_ENTRY( NtGdiCreateHalftonePalette ) \ SYSCALL_ENTRY( NtGdiCreateHatchBrushInternal ) \ + SYSCALL_ENTRY( NtGdiCreateMetafileDC ) \ SYSCALL_ENTRY( NtGdiCreatePaletteInternal ) \ SYSCALL_ENTRY( NtGdiCreatePatternBrushInternal ) \ SYSCALL_ENTRY( NtGdiCreatePen ) \ @@ -117,6 +119,8 @@ SYSCALL_ENTRY( NtGdiRectangle ) \ SYSCALL_ENTRY( NtGdiRemoveFontMemResourceEx ) \ SYSCALL_ENTRY( NtGdiRemoveFontResourceW ) \ + SYSCALL_ENTRY( NtGdiResetDC ) \ + SYSCALL_ENTRY( NtGdiRestoreDC ) \ SYSCALL_ENTRY( NtGdiRoundRect ) \ SYSCALL_ENTRY( NtGdiSaveDC ) \ SYSCALL_ENTRY( NtGdiScaleViewportExtEx ) \ @@ -144,6 +148,7 @@ SYSCALL_ENTRY( NtGdiSwapBuffers ) \ SYSCALL_ENTRY( NtGdiTransformPoints ) \ SYSCALL_ENTRY( NtGdiTransparentBlt ) \ + SYSCALL_ENTRY( NtGdiUpdateColors ) \ SYSCALL_ENTRY( NtGdiWidenPath ) \ SYSCALL_ENTRY( NtUserActivateKeyboardLayout ) \ SYSCALL_ENTRY( NtUserAddClipboardFormatListener ) \