diff --git a/dlls/win32u/gdiobj.c b/dlls/win32u/gdiobj.c index 046ccffdc17..0c355f4d94c 100644 --- a/dlls/win32u/gdiobj.c +++ b/dlls/win32u/gdiobj.c @@ -1176,7 +1176,6 @@ static struct unix_funcs unix_funcs = NtGdiSetMagicColors, NtGdiSetPixel, NtGdiSetSystemPaletteUse, - NtGdiSetVirtualResolution, NtGdiStartDoc, NtGdiStartPage, NtGdiStretchBlt, @@ -1184,7 +1183,6 @@ static struct unix_funcs unix_funcs = NtGdiStrokeAndFillPath, NtGdiStrokePath, NtGdiTransparentBlt, - NtGdiTransformPoints, NtGdiUnrealizeObject, NtGdiUpdateColors, NtGdiWidenPath, diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c index 5f664da96c7..984e7b13e7a 100644 --- a/dlls/win32u/syscall.c +++ b/dlls/win32u/syscall.c @@ -78,7 +78,9 @@ static void * const syscalls[] = NtGdiSetPixelFormat, NtGdiSetRectRgn, NtGdiSetTextJustification, + NtGdiSetVirtualResolution, NtGdiSwapBuffers, + NtGdiTransformPoints, }; static BYTE arguments[ARRAY_SIZE(syscalls)]; diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index 02030d15418..8874894d4e7 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -617,7 +617,7 @@ @ stdcall NtGdiSetSystemPaletteUse(long long) @ stdcall -syscall NtGdiSetTextJustification(long long long) @ stub NtGdiSetUMPDSandboxState -@ stdcall NtGdiSetVirtualResolution(long long long long long) +@ stdcall -syscall NtGdiSetVirtualResolution(long long long long long) @ stdcall NtGdiStartDoc(long ptr ptr long) @ stdcall NtGdiStartPage(long) @ stdcall NtGdiStretchBlt(long long long long long long long long long long long long) @@ -625,7 +625,7 @@ @ stdcall NtGdiStrokeAndFillPath(long) @ stdcall NtGdiStrokePath(long) @ stdcall -syscall NtGdiSwapBuffers(long) -@ stdcall NtGdiTransformPoints(long ptr ptr long long) +@ stdcall -syscall NtGdiTransformPoints(long ptr ptr long long) @ stdcall NtGdiTransparentBlt(long long long long long long long long long long long) @ stub NtGdiUMPDEngFreeUserMem @ stub NtGdiUnloadPrinterDriver diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index c4e32ced460..ff956dbf167 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -193,8 +193,6 @@ struct unix_funcs BOOL (WINAPI *pNtGdiSetMagicColors)( HDC hdc, DWORD magic, ULONG index ); COLORREF (WINAPI *pNtGdiSetPixel)( HDC hdc, INT x, INT y, COLORREF color ); UINT (WINAPI *pNtGdiSetSystemPaletteUse)( HDC hdc, UINT use ); - BOOL (WINAPI *pNtGdiSetVirtualResolution)( HDC hdc, DWORD horz_res, DWORD vert_res, - DWORD horz_size, DWORD vert_size ); INT (WINAPI *pNtGdiStartDoc)( HDC hdc, const DOCINFOW *doc, BOOL *banding, INT job ); INT (WINAPI *pNtGdiStartPage)( HDC hdc ); BOOL (WINAPI *pNtGdiStretchBlt)( HDC hdc, INT x_dst, INT y_dst, INT width_dst, INT height_dst, @@ -210,8 +208,6 @@ struct unix_funcs BOOL (WINAPI *pNtGdiTransparentBlt)( HDC hdc, int x_dst, int y_dst, int width_dst, int height_dst, HDC hdc_src, int x_src, int y_src, int width_src, int height_src, UINT color ); - BOOL (WINAPI *pNtGdiTransformPoints)( HDC hdc, const POINT *points_in, POINT *points_out, - INT count, UINT mode ); BOOL (WINAPI *pNtGdiUnrealizeObject)( HGDIOBJ obj ); BOOL (WINAPI *pNtGdiUpdateColors)( HDC hdc ); BOOL (WINAPI *pNtGdiWidenPath)( HDC hdc ); diff --git a/dlls/win32u/wrappers.c b/dlls/win32u/wrappers.c index 3854ba9b6f8..dea3e072a3d 100644 --- a/dlls/win32u/wrappers.c +++ b/dlls/win32u/wrappers.c @@ -571,12 +571,6 @@ UINT WINAPI NtGdiSetSystemPaletteUse( HDC hdc, UINT use ) return unix_funcs->pNtGdiSetSystemPaletteUse( hdc, use ); } -BOOL WINAPI NtGdiSetVirtualResolution( HDC hdc, DWORD horz_res, DWORD vert_res, - DWORD horz_size, DWORD vert_size ) -{ - return unix_funcs->pNtGdiSetVirtualResolution( hdc, horz_res, vert_res, horz_size, vert_size ); -} - INT WINAPI NtGdiStartDoc( HDC hdc, const DOCINFOW *doc, BOOL *banding, INT job ) { return unix_funcs->pNtGdiStartDoc( hdc, doc, banding, job ); @@ -624,12 +618,6 @@ BOOL WINAPI NtGdiTransparentBlt( HDC hdc, int x_dst, int y_dst, int width_dst, i x_src, y_src, width_src, height_src, color ); } -BOOL WINAPI NtGdiTransformPoints( HDC hdc, const POINT *points_in, POINT *points_out, - INT count, UINT mode ) -{ - return unix_funcs->pNtGdiTransformPoints( hdc, points_in, points_out, count, mode ); -} - BOOL WINAPI NtGdiUnrealizeObject( HGDIOBJ obj ) { return unix_funcs->pNtGdiUnrealizeObject( obj ); diff --git a/dlls/wow64win/gdi.c b/dlls/wow64win/gdi.c index b113179f432..42a13cc3676 100644 --- a/dlls/wow64win/gdi.c +++ b/dlls/wow64win/gdi.c @@ -450,6 +450,28 @@ NTSTATUS WINAPI wow64_NtGdiSetColorAdjustment( UINT *args ) return NtGdiSetColorAdjustment( hdc, ca ); } +NTSTATUS WINAPI wow64_NtGdiSetVirtualResolution( UINT *args ) +{ + HDC hdc = get_handle( &args ); + DWORD horz_res = get_ulong( &args ); + DWORD vert_res = get_ulong( &args ); + DWORD horz_size = get_ulong( &args ); + DWORD vert_size = get_ulong( &args ); + + return NtGdiSetVirtualResolution( hdc, horz_res, vert_res, horz_size, vert_size ); +} + +NTSTATUS WINAPI wow64_NtGdiTransformPoints( UINT *args ) +{ + HDC hdc = get_handle( &args ); + const POINT *points_in = get_ptr( &args ); + POINT *points_out = get_ptr( &args ); + INT count = get_ulong( &args ); + UINT mode = get_ulong( &args ); + + return NtGdiTransformPoints( hdc, points_in, points_out, count, mode ); +} + NTSTATUS WINAPI wow64_NtGdiFlush( UINT *args ) { return NtGdiFlush(); diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h index fd8b9f95365..c5f04b240bd 100644 --- a/dlls/wow64win/syscall.h +++ b/dlls/wow64win/syscall.h @@ -66,6 +66,8 @@ SYSCALL_ENTRY( NtGdiSetPixelFormat ) \ SYSCALL_ENTRY( NtGdiSetRectRgn ) \ SYSCALL_ENTRY( NtGdiSetTextJustification ) \ - SYSCALL_ENTRY( NtGdiSwapBuffers ) + SYSCALL_ENTRY( NtGdiSetVirtualResolution ) \ + SYSCALL_ENTRY( NtGdiSwapBuffers ) \ + SYSCALL_ENTRY( NtGdiTransformPoints ) #endif /* __WOW64WIN_SYSCALL_H */