win32u: Use syscall interface for some GDI objects functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
0dfedf79b6
commit
6fbbbe1f14
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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 ) \
|
||||
|
|
Loading…
Reference in New Issue