diff --git a/dlls/win32u/gdiobj.c b/dlls/win32u/gdiobj.c index b651e521ba8..046ccffdc17 100644 --- a/dlls/win32u/gdiobj.c +++ b/dlls/win32u/gdiobj.c @@ -1074,7 +1074,6 @@ static struct unix_funcs unix_funcs = NtGdiBitBlt, NtGdiCloseFigure, NtGdiComputeXformCoefficients, - NtGdiCreateClientObj, NtGdiCreateCompatibleBitmap, NtGdiCreateCompatibleDC, NtGdiCreateDIBitmapInternal, @@ -1095,7 +1094,6 @@ static struct unix_funcs unix_funcs = NtGdiDdDDIQueryStatistics, NtGdiDdDDISetQueuedLimit, NtGdiDdDDISetVidPnSourceOwner, - NtGdiDeleteClientObj, NtGdiDeleteObjectApp, NtGdiDoPalette, NtGdiEllipse, @@ -1108,7 +1106,6 @@ static struct unix_funcs unix_funcs = NtGdiExtEscape, NtGdiExtFloodFill, NtGdiExtTextOutW, - NtGdiExtGetObjectW, NtGdiExtSelectClipRgn, NtGdiFillPath, NtGdiFillRgn, @@ -1121,8 +1118,6 @@ static struct unix_funcs unix_funcs = NtGdiGetCharABCWidthsW, NtGdiGetCharWidthW, NtGdiGetCharWidthInfo, - NtGdiGetColorAdjustment, - NtGdiGetDCObject, NtGdiGetDIBitsInternal, NtGdiGetDeviceCaps, NtGdiGetDeviceGammaRamp, @@ -1175,7 +1170,6 @@ static struct unix_funcs unix_funcs = NtGdiSelectFont, NtGdiSelectPen, NtGdiSetBoundsRect, - NtGdiSetColorAdjustment, NtGdiSetDIBitsToDeviceInternal, NtGdiSetDeviceGammaRamp, NtGdiSetLayout, diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c index de95854909d..5f664da96c7 100644 --- a/dlls/win32u/syscall.c +++ b/dlls/win32u/syscall.c @@ -38,6 +38,7 @@ static void * const syscalls[] = NtGdiAddFontResourceW, NtGdiCombineRgn, NtGdiCreateBitmap, + NtGdiCreateClientObj, NtGdiCreateDIBBrush, NtGdiCreateDIBSection, NtGdiCreateEllipticRgn, @@ -46,13 +47,17 @@ static void * const syscalls[] = NtGdiCreateRectRgn, NtGdiCreateRoundRectRgn, NtGdiCreateSolidBrush, + NtGdiDeleteClientObj, NtGdiDescribePixelFormat, NtGdiDrawStream, NtGdiEqualRgn, NtGdiExtCreateRegion, + NtGdiExtGetObjectW, NtGdiFlush, NtGdiGetBitmapBits, NtGdiGetBitmapDimension, + NtGdiGetColorAdjustment, + NtGdiGetDCObject, NtGdiGetFontFileData, NtGdiGetFontFileInfo, NtGdiGetRegionData, @@ -68,6 +73,7 @@ static void * const syscalls[] = NtGdiSetBitmapBits, NtGdiSetBitmapDimension, NtGdiSetBrushOrg, + NtGdiSetColorAdjustment, NtGdiSetMetaRgn, NtGdiSetPixelFormat, NtGdiSetRectRgn, diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index d24f7c2fbc7..02030d15418 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -142,7 +142,7 @@ @ stdcall -syscall NtGdiCreateBitmap(long long long long ptr) @ stub NtGdiCreateBitmapFromDxSurface @ stub NtGdiCreateBitmapFromDxSurface2 -@ stdcall NtGdiCreateClientObj(long) +@ stdcall -syscall NtGdiCreateClientObj(long) @ stub NtGdiCreateColorSpace @ stub NtGdiCreateColorTransform @ stdcall NtGdiCreateCompatibleBitmap(long long long) @@ -364,7 +364,7 @@ @ stub NtGdiDdDestroyFullscreenSprite @ stub NtGdiDdNotifyFullscreenSpriteUpdate @ stub NtGdiDdQueryVisRgnUniqueness -@ stdcall NtGdiDeleteClientObj(long) +@ stdcall -syscall NtGdiDeleteClientObj(long) @ stub NtGdiDeleteColorSpace @ stub NtGdiDeleteColorTransform @ stdcall NtGdiDeleteObjectApp(long ) @@ -422,7 +422,7 @@ @ stdcall -syscall NtGdiExtCreateRegion(ptr long ptr) @ stdcall NtGdiExtEscape(long wstr long long long ptr long ptr) @ stdcall NtGdiExtFloodFill(long long long long long) -@ stdcall NtGdiExtGetObjectW(long long ptr) +@ stdcall -syscall NtGdiExtGetObjectW(long long ptr) @ stdcall NtGdiExtSelectClipRgn(long long long) @ stdcall NtGdiExtTextOutW(long long long long ptr ptr long ptr long) @ stub NtGdiFONTOBJ_cGetAllGlyphHandles @@ -458,12 +458,12 @@ @ stdcall NtGdiGetCharWidthInfo(long ptr) @ stdcall NtGdiGetCharWidthW(long long long ptr long ptr) @ stub NtGdiGetCharacterPlacementW -@ stdcall NtGdiGetColorAdjustment(long ptr) +@ stdcall -syscall NtGdiGetColorAdjustment(long ptr) @ stub NtGdiGetColorSpaceforBitmap @ stub NtGdiGetCurrentDpiInfo @ stub NtGdiGetDCDpiScaleValue @ stub NtGdiGetDCDword -@ stdcall NtGdiGetDCObject(long long) +@ stdcall -syscall NtGdiGetDCObject(long long) @ stub NtGdiGetDCPoint @ stub NtGdiGetDCforBitmap @ stdcall NtGdiGetDIBitsInternal(long long long long ptr ptr long long long) @@ -595,7 +595,7 @@ @ stdcall NtGdiSetBoundsRect(long ptr long) @ stub NtGdiSetBrushAttributes @ stdcall -syscall NtGdiSetBrushOrg(long long long ptr) -@ stdcall NtGdiSetColorAdjustment(long ptr) +@ stdcall -syscall NtGdiSetColorAdjustment(long ptr) @ stub NtGdiSetColorSpace @ stdcall NtGdiSetDIBitsToDeviceInternal(long long long long long long long long long ptr ptr long long long long long) @ stdcall NtGdiSetDeviceGammaRamp(ptr ptr) diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index a2b0f7e1fdd..c4e32ced460 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -56,7 +56,6 @@ struct unix_funcs INT x_src, INT y_src, DWORD rop, DWORD bk_color, FLONG fl ); BOOL (WINAPI *pNtGdiCloseFigure)( HDC hdc ); BOOL (WINAPI *pNtGdiComputeXformCoefficients)( HDC hdc ); - HANDLE (WINAPI *pNtGdiCreateClientObj)( ULONG type ); HBITMAP (WINAPI *pNtGdiCreateCompatibleBitmap)( HDC hdc, INT width, INT height ); HDC (WINAPI *pNtGdiCreateCompatibleDC)( HDC hdc ); HBITMAP (WINAPI *pNtGdiCreateDIBitmapInternal)( HDC hdc, INT width, INT height, DWORD init, @@ -80,7 +79,6 @@ struct unix_funcs NTSTATUS (WINAPI *pNtGdiDdDDIQueryStatistics)( D3DKMT_QUERYSTATISTICS *stats ); NTSTATUS (WINAPI *pNtGdiDdDDISetQueuedLimit)( D3DKMT_SETQUEUEDLIMIT *desc ); NTSTATUS (WINAPI *pNtGdiDdDDISetVidPnSourceOwner)( const D3DKMT_SETVIDPNSOURCEOWNER *desc ); - BOOL (WINAPI *pNtGdiDeleteClientObj)( HGDIOBJ obj ); BOOL (WINAPI *pNtGdiDeleteObjectApp)( HGDIOBJ obj ); LONG (WINAPI *pNtGdiDoPalette)( HGDIOBJ handle, WORD start, WORD count, void *entries, DWORD func, BOOL inbound ); @@ -100,7 +98,6 @@ struct unix_funcs BOOL (WINAPI *pNtGdiExtFloodFill)( HDC hdc, INT x, INT y, COLORREF color, UINT type ); BOOL (WINAPI *pNtGdiExtTextOutW)( HDC hdc, INT x, INT y, UINT flags, const RECT *rect, const WCHAR *str, UINT count, const INT *dx, DWORD cp ); - INT (WINAPI *pNtGdiExtGetObjectW)( HGDIOBJ handle, INT count, void *buffer ); INT (WINAPI *pNtGdiExtSelectClipRgn)( HDC hdc, HRGN region, INT mode ); BOOL (WINAPI *pNtGdiFillPath)( HDC hdc ); BOOL (WINAPI *pNtGdiFillRgn)( HDC hdc, HRGN hrgn, HBRUSH hbrush ); @@ -115,8 +112,6 @@ struct unix_funcs BOOL (WINAPI *pNtGdiGetCharWidthW)( HDC hdc, UINT first_char, UINT last_char, WCHAR *chars, ULONG flags, void *buffer ); BOOL (WINAPI *pNtGdiGetCharWidthInfo)( HDC hdc, struct char_width_info *info ); - BOOL (WINAPI *pNtGdiGetColorAdjustment)( HDC hdc, COLORADJUSTMENT *ca ); - HANDLE (WINAPI *pNtGdiGetDCObject)( HDC hdc, UINT type ); INT (WINAPI *pNtGdiGetDIBitsInternal)( HDC hdc, HBITMAP hbitmap, UINT startscan, UINT lines, void *bits, BITMAPINFO *info, UINT coloruse, UINT max_bits, UINT max_info ); @@ -188,7 +183,6 @@ struct unix_funcs HGDIOBJ (WINAPI *pNtGdiSelectFont)( HDC hdc, HGDIOBJ handle ); HGDIOBJ (WINAPI *pNtGdiSelectPen)( HDC hdc, HGDIOBJ handle ); UINT (WINAPI *pNtGdiSetBoundsRect)( HDC hdc, const RECT *rect, UINT flags ); - BOOL (WINAPI *pNtGdiSetColorAdjustment)( HDC hdc, const COLORADJUSTMENT *ca ); INT (WINAPI *pNtGdiSetDIBitsToDeviceInternal)( HDC hdc, INT x_dst, INT y_dst, DWORD cx, DWORD cy, INT x_src, INT y_src, UINT startscan, UINT lines, const void *bits, const BITMAPINFO *bmi, diff --git a/dlls/win32u/wrappers.c b/dlls/win32u/wrappers.c index f95ef5a82aa..3854ba9b6f8 100644 --- a/dlls/win32u/wrappers.c +++ b/dlls/win32u/wrappers.c @@ -81,11 +81,6 @@ BOOL WINAPI NtGdiComputeXformCoefficients( HDC hdc ) return unix_funcs->pNtGdiComputeXformCoefficients( hdc ); } -HANDLE WINAPI NtGdiCreateClientObj( ULONG type ) -{ - return unix_funcs->pNtGdiCreateClientObj( type ); -} - HBITMAP WINAPI NtGdiCreateCompatibleBitmap( HDC hdc, INT width, INT height ) { return unix_funcs->pNtGdiCreateCompatibleBitmap( hdc, width, height ); @@ -125,11 +120,6 @@ HPEN WINAPI NtGdiCreatePen( INT style, INT width, COLORREF color, HBRUSH brush ) return unix_funcs->pNtGdiCreatePen( style, width, color, brush ); } -BOOL WINAPI NtGdiDeleteClientObj( HGDIOBJ obj ) -{ - return unix_funcs->pNtGdiDeleteClientObj( obj ); -} - BOOL WINAPI NtGdiDeleteObjectApp( HGDIOBJ obj ) { return unix_funcs->pNtGdiDeleteObjectApp( obj ); @@ -200,11 +190,6 @@ BOOL WINAPI NtGdiExtTextOutW( HDC hdc, INT x, INT y, UINT flags, const RECT *rec return unix_funcs->pNtGdiExtTextOutW( hdc, x, y, flags, rect, str, count, dx, cp ); } -INT WINAPI NtGdiExtGetObjectW( HGDIOBJ handle, INT count, void *buffer ) -{ - return unix_funcs->pNtGdiExtGetObjectW( handle, count, buffer ); -} - INT WINAPI NtGdiExtSelectClipRgn( HDC hdc, HRGN region, INT mode ) { return unix_funcs->pNtGdiExtSelectClipRgn( hdc, region, mode ); @@ -267,16 +252,6 @@ BOOL WINAPI NtGdiGetCharWidthInfo( HDC hdc, struct char_width_info *info ) return unix_funcs->pNtGdiGetCharWidthInfo( hdc, info ); } -BOOL WINAPI NtGdiGetColorAdjustment( HDC hdc, COLORADJUSTMENT *ca ) -{ - return unix_funcs->pNtGdiGetColorAdjustment( hdc, ca ); -} - -HANDLE WINAPI NtGdiGetDCObject( HDC hdc, UINT type ) -{ - return unix_funcs->pNtGdiGetDCObject( hdc, type ); -} - INT WINAPI NtGdiGetDIBitsInternal( HDC hdc, HBITMAP hbitmap, UINT startscan, UINT lines, void *bits, BITMAPINFO *info, UINT coloruse, UINT max_bits, UINT max_info ) @@ -560,11 +535,6 @@ UINT WINAPI NtGdiSetBoundsRect( HDC hdc, const RECT *rect, UINT flags ) return unix_funcs->pNtGdiSetBoundsRect( hdc, rect, flags ); } -BOOL WINAPI NtGdiSetColorAdjustment( HDC hdc, const COLORADJUSTMENT *ca ) -{ - return unix_funcs->pNtGdiSetColorAdjustment( hdc, ca ); -} - INT WINAPI NtGdiSetDIBitsToDeviceInternal( HDC hdc, INT x_dst, INT y_dst, DWORD cx, DWORD cy, INT x_src, INT y_src, UINT startscan, UINT lines, const void *bits, const BITMAPINFO *bmi, diff --git a/dlls/wow64win/gdi.c b/dlls/wow64win/gdi.c index 93aff61172d..b113179f432 100644 --- a/dlls/wow64win/gdi.c +++ b/dlls/wow64win/gdi.c @@ -27,6 +27,37 @@ #include "ntgdi.h" #include "wow64win_private.h" +NTSTATUS WINAPI wow64_NtGdiCreateClientObj( UINT *args ) +{ + ULONG type = get_ulong( &args ); + + return HandleToUlong( NtGdiCreateClientObj( type )); +} + +NTSTATUS WINAPI wow64_NtGdiDeleteClientObj( UINT *args ) +{ + HGDIOBJ obj = get_handle( &args ); + + return NtGdiDeleteClientObj( obj ); +} + +NTSTATUS WINAPI wow64_NtGdiExtGetObjectW( UINT *args ) +{ + HGDIOBJ handle = get_handle( &args ); + INT count = get_ulong( &args ); + void *buffer = get_ptr( &args ); + + return NtGdiExtGetObjectW( handle, count, buffer ); +} + +NTSTATUS WINAPI wow64_NtGdiGetDCObject( UINT *args ) +{ + HDC hdc = get_handle( &args ); + UINT type = get_ulong( &args ); + + return HandleToUlong( NtGdiGetDCObject( hdc, type )); +} + NTSTATUS WINAPI wow64_NtGdiCreateBitmap( UINT *args ) { INT width = get_ulong( &args ); @@ -403,6 +434,22 @@ NTSTATUS WINAPI wow64_NtGdiRemoveFontResourceW( UINT *args ) return NtGdiRemoveFontResourceW( str, size, files, flags, tid, dv ); } +NTSTATUS WINAPI wow64_NtGdiGetColorAdjustment( UINT *args ) +{ + HDC hdc = get_handle( &args ); + COLORADJUSTMENT *ca = get_ptr( &args ); + + return NtGdiGetColorAdjustment( hdc, ca ); +} + +NTSTATUS WINAPI wow64_NtGdiSetColorAdjustment( UINT *args ) +{ + HDC hdc = get_handle( &args ); + const COLORADJUSTMENT *ca = get_ptr( &args ); + + return NtGdiSetColorAdjustment( hdc, ca ); +} + NTSTATUS WINAPI wow64_NtGdiFlush( UINT *args ) { return NtGdiFlush(); diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h index 25b3d3c522f..fd8b9f95365 100644 --- a/dlls/wow64win/syscall.h +++ b/dlls/wow64win/syscall.h @@ -26,6 +26,7 @@ SYSCALL_ENTRY( NtGdiAddFontResourceW ) \ SYSCALL_ENTRY( NtGdiCombineRgn ) \ SYSCALL_ENTRY( NtGdiCreateBitmap ) \ + SYSCALL_ENTRY( NtGdiCreateClientObj ) \ SYSCALL_ENTRY( NtGdiCreateDIBBrush ) \ SYSCALL_ENTRY( NtGdiCreateDIBSection ) \ SYSCALL_ENTRY( NtGdiCreateEllipticRgn ) \ @@ -34,13 +35,17 @@ SYSCALL_ENTRY( NtGdiCreateRectRgn ) \ SYSCALL_ENTRY( NtGdiCreateRoundRectRgn ) \ SYSCALL_ENTRY( NtGdiCreateSolidBrush ) \ + SYSCALL_ENTRY( NtGdiDeleteClientObj ) \ SYSCALL_ENTRY( NtGdiDescribePixelFormat ) \ SYSCALL_ENTRY( NtGdiDrawStream ) \ SYSCALL_ENTRY( NtGdiEqualRgn ) \ SYSCALL_ENTRY( NtGdiExtCreateRegion ) \ + SYSCALL_ENTRY( NtGdiExtGetObjectW ) \ SYSCALL_ENTRY( NtGdiFlush ) \ SYSCALL_ENTRY( NtGdiGetBitmapBits ) \ SYSCALL_ENTRY( NtGdiGetBitmapDimension ) \ + SYSCALL_ENTRY( NtGdiGetColorAdjustment ) \ + SYSCALL_ENTRY( NtGdiGetDCObject ) \ SYSCALL_ENTRY( NtGdiGetFontFileData ) \ SYSCALL_ENTRY( NtGdiGetFontFileInfo ) \ SYSCALL_ENTRY( NtGdiGetRegionData ) \ @@ -56,6 +61,7 @@ SYSCALL_ENTRY( NtGdiSetBitmapBits ) \ SYSCALL_ENTRY( NtGdiSetBitmapDimension ) \ SYSCALL_ENTRY( NtGdiSetBrushOrg ) \ + SYSCALL_ENTRY( NtGdiSetColorAdjustment ) \ SYSCALL_ENTRY( NtGdiSetMetaRgn ) \ SYSCALL_ENTRY( NtGdiSetPixelFormat ) \ SYSCALL_ENTRY( NtGdiSetRectRgn ) \