Commit 59e6d3b6 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

win32u: Use syscall interface for region functions.

parent c7171dea
......@@ -1075,19 +1075,15 @@ static struct unix_funcs unix_funcs =
NtGdiBeginPath,
NtGdiBitBlt,
NtGdiCloseFigure,
NtGdiCombineRgn,
NtGdiComputeXformCoefficients,
NtGdiCreateClientObj,
NtGdiCreateCompatibleBitmap,
NtGdiCreateCompatibleDC,
NtGdiCreateDIBitmapInternal,
NtGdiCreateEllipticRgn,
NtGdiCreateHalftonePalette,
NtGdiCreateMetafileDC,
NtGdiCreatePaletteInternal,
NtGdiCreatePen,
NtGdiCreateRectRgn,
NtGdiCreateRoundRectRgn,
NtGdiDdDDICheckVidPnExclusiveOwnership,
NtGdiDdDDICloseAdapter,
NtGdiDdDDICreateDCFromMemory,
......@@ -1111,13 +1107,11 @@ static struct unix_funcs unix_funcs =
NtGdiEndPath,
NtGdiEndPage,
NtGdiEnumFonts,
NtGdiEqualRgn,
NtGdiExcludeClipRect,
NtGdiExtCreatePen,
NtGdiExtEscape,
NtGdiExtFloodFill,
NtGdiExtTextOutW,
NtGdiExtCreateRegion,
NtGdiExtGetObjectW,
NtGdiExtSelectClipRgn,
NtGdiFillPath,
......@@ -1151,8 +1145,6 @@ static struct unix_funcs unix_funcs =
NtGdiGetRandomRgn,
NtGdiGetRasterizerCaps,
NtGdiGetRealizationInfo,
NtGdiGetRegionData,
NtGdiGetRgnBox,
NtGdiGetSpoolMessage,
NtGdiGetSystemPaletteUse,
NtGdiGetTextCharsetInfo,
......@@ -1170,16 +1162,13 @@ static struct unix_funcs unix_funcs =
NtGdiModifyWorldTransform,
NtGdiMoveTo,
NtGdiOffsetClipRgn,
NtGdiOffsetRgn,
NtGdiOpenDCW,
NtGdiPatBlt,
NtGdiPathToRegion,
NtGdiPlgBlt,
NtGdiPolyDraw,
NtGdiPolyPolyDraw,
NtGdiPtInRegion,
NtGdiPtVisible,
NtGdiRectInRegion,
NtGdiRectVisible,
NtGdiRectangle,
NtGdiRemoveFontMemResourceEx,
......@@ -1203,10 +1192,8 @@ static struct unix_funcs unix_funcs =
NtGdiSetDeviceGammaRamp,
NtGdiSetLayout,
NtGdiSetMagicColors,
NtGdiSetMetaRgn,
NtGdiSetPixel,
NtGdiSetPixelFormat,
NtGdiSetRectRgn,
NtGdiSetSystemPaletteUse,
NtGdiSetTextJustification,
NtGdiSetVirtualResolution,
......
......@@ -34,17 +34,30 @@
static void * const syscalls[] =
{
NtGdiCombineRgn,
NtGdiCreateBitmap,
NtGdiCreateDIBBrush,
NtGdiCreateDIBSection,
NtGdiCreateEllipticRgn,
NtGdiCreateHatchBrushInternal,
NtGdiCreatePatternBrushInternal,
NtGdiCreateRectRgn,
NtGdiCreateRoundRectRgn,
NtGdiCreateSolidBrush,
NtGdiEqualRgn,
NtGdiExtCreateRegion,
NtGdiFlush,
NtGdiGetBitmapBits,
NtGdiGetBitmapDimension,
NtGdiGetRegionData,
NtGdiGetRgnBox,
NtGdiOffsetRgn,
NtGdiPtInRegion,
NtGdiRectInRegion,
NtGdiSetBitmapBits,
NtGdiSetBitmapDimension,
NtGdiSetMetaRgn,
NtGdiSetRectRgn,
};
static BYTE arguments[ARRAY_SIZE(syscalls)];
......
......@@ -134,7 +134,7 @@
@ stub NtGdiClearBrushAttributes
@ stdcall NtGdiCloseFigure(long)
@ stub NtGdiColorCorrectPalette
@ stdcall NtGdiCombineRgn(long long long long)
@ stdcall -syscall NtGdiCombineRgn(long long long long)
@ stub NtGdiCombineTransform
@ stdcall NtGdiComputeXformCoefficients(long)
@ stub NtGdiConfigureOPMProtectedOutput
......@@ -150,7 +150,7 @@
@ stdcall -syscall NtGdiCreateDIBBrush(ptr long long long long ptr)
@ stdcall -syscall NtGdiCreateDIBSection(long long long ptr long long long long ptr)
@ stdcall NtGdiCreateDIBitmapInternal(long long long long ptr ptr long long long long long)
@ stdcall NtGdiCreateEllipticRgn(long long long long)
@ stdcall -syscall NtGdiCreateEllipticRgn(long long long long)
@ stdcall NtGdiCreateHalftonePalette(long)
@ stdcall -syscall NtGdiCreateHatchBrushInternal(long long long)
@ stdcall NtGdiCreateMetafileDC(long)
......@@ -159,8 +159,8 @@
@ stdcall NtGdiCreatePaletteInternal(ptr long)
@ stdcall -syscall NtGdiCreatePatternBrushInternal(long long long)
@ stdcall NtGdiCreatePen(long long long long)
@ stdcall NtGdiCreateRectRgn(long long long long)
@ stdcall NtGdiCreateRoundRectRgn(long long long long long long)
@ stdcall -syscall NtGdiCreateRectRgn(long long long long)
@ stdcall -syscall NtGdiCreateRoundRectRgn(long long long long long long)
@ stub NtGdiCreateServerMetaFile
@ stub NtGdiCreateSessionMappedDIBSection
@ stdcall -syscall NtGdiCreateSolidBrush(long long)
......@@ -415,11 +415,11 @@
@ stub NtGdiEnsureDpiDepDefaultGuiFontForPlateau
@ stdcall NtGdiEnumFonts(long long long long wstr long ptr ptr)
@ stub NtGdiEnumObjects
@ stdcall NtGdiEqualRgn(long long)
@ stdcall -syscall NtGdiEqualRgn(long long)
@ stub NtGdiEudcLoadUnloadLink
@ stdcall NtGdiExcludeClipRect(long long long long long)
@ stdcall NtGdiExtCreatePen(long long long long long long long ptr long long long)
@ stdcall NtGdiExtCreateRegion(ptr long ptr)
@ 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)
......@@ -507,8 +507,8 @@
@ stdcall NtGdiGetRandomRgn(long long long)
@ stdcall NtGdiGetRasterizerCaps(ptr long)
@ stdcall NtGdiGetRealizationInfo(long ptr)
@ stdcall NtGdiGetRegionData(long long ptr)
@ stdcall NtGdiGetRgnBox(long ptr)
@ stdcall -syscall NtGdiGetRegionData(long long ptr)
@ stdcall -syscall NtGdiGetRgnBox(long ptr)
@ stub NtGdiGetServerMetaFileBits
@ stdcall NtGdiGetSpoolMessage(ptr long ptr long)
@ stub NtGdiGetStats
......@@ -546,7 +546,7 @@
@ stub NtGdiMonoBitmap
@ stdcall NtGdiMoveTo(long long long ptr)
@ stdcall NtGdiOffsetClipRgn(long long long)
@ stdcall NtGdiOffsetRgn(long long long)
@ stdcall -syscall NtGdiOffsetRgn(long long long)
@ stdcall NtGdiOpenDCW(ptr ptr ptr long long ptr ptr ptr)
@ stub NtGdiPATHOBJ_bEnum
@ stub NtGdiPATHOBJ_bEnumClipLines
......@@ -560,11 +560,11 @@
@ stub NtGdiPolyPatBlt
@ stdcall NtGdiPolyPolyDraw(long ptr ptr long long)
@ stub NtGdiPolyTextOutW
@ stdcall NtGdiPtInRegion(long long long)
@ stdcall -syscall NtGdiPtInRegion(long long long)
@ stdcall NtGdiPtVisible(long long long)
@ stub NtGdiQueryFontAssocInfo
@ stub NtGdiQueryFonts
@ stdcall NtGdiRectInRegion(long ptr)
@ stdcall -syscall NtGdiRectInRegion(long ptr)
@ stdcall NtGdiRectVisible(long ptr)
@ stdcall NtGdiRectangle(long long long long long)
@ stdcall NtGdiRemoveFontMemResourceEx(long)
......@@ -605,14 +605,14 @@
@ stdcall NtGdiSetLayout(long long long)
@ stub NtGdiSetLinkedUFIs
@ stdcall NtGdiSetMagicColors(long long long)
@ stdcall NtGdiSetMetaRgn(long)
@ stdcall -syscall NtGdiSetMetaRgn(long)
@ stub NtGdiSetMiterLimit
@ stub NtGdiSetOPMSigningKeyAndSequenceNumbers
@ stub NtGdiSetPUMPDOBJ
@ stdcall NtGdiSetPixel(long long long long)
@ stdcall NtGdiSetPixelFormat(long long)
@ stub NtGdiSetPrivateDeviceGammaRamp
@ stdcall NtGdiSetRectRgn(long long long long long)
@ stdcall -syscall NtGdiSetRectRgn(long long long long long)
@ stub NtGdiSetSizeDevice
@ stdcall NtGdiSetSystemPaletteUse(long long)
@ stdcall NtGdiSetTextJustification(long long long)
......
......@@ -59,7 +59,6 @@ struct unix_funcs
BOOL (WINAPI *pNtGdiBitBlt)( HDC hdc_dst, INT x_dst, INT y_dst, INT width, INT height, HDC hdc_src,
INT x_src, INT y_src, DWORD rop, DWORD bk_color, FLONG fl );
BOOL (WINAPI *pNtGdiCloseFigure)( HDC hdc );
INT (WINAPI *pNtGdiCombineRgn)( HRGN dest, HRGN src1, HRGN src2, INT mode );
BOOL (WINAPI *pNtGdiComputeXformCoefficients)( HDC hdc );
HANDLE (WINAPI *pNtGdiCreateClientObj)( ULONG type );
HBITMAP (WINAPI *pNtGdiCreateCompatibleBitmap)( HDC hdc, INT width, INT height );
......@@ -68,14 +67,10 @@ struct unix_funcs
const void *bits, const BITMAPINFO *data,
UINT coloruse, UINT max_info, UINT max_bits,
ULONG flags, HANDLE xform );
HRGN (WINAPI *pNtGdiCreateEllipticRgn)( INT left, INT top, INT right, INT bottom );
HPALETTE (WINAPI *pNtGdiCreateHalftonePalette)( HDC hdc );
HDC (WINAPI *pNtGdiCreateMetafileDC)( HDC hdc );
HPALETTE (WINAPI *pNtGdiCreatePaletteInternal)( const LOGPALETTE *palette, UINT count );
HPEN (WINAPI *pNtGdiCreatePen)( INT style, INT width, COLORREF color, HBRUSH brush );
HRGN (WINAPI *pNtGdiCreateRectRgn)( INT left, INT top, INT right, INT bottom );
HRGN (WINAPI *pNtGdiCreateRoundRectRgn)( INT left, INT top, INT right, INT bottom,
INT ellipse_width, INT ellipse_height );
NTSTATUS (WINAPI *pNtGdiDdDDICheckVidPnExclusiveOwnership)( const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *desc );
NTSTATUS (WINAPI *pNtGdiDdDDICloseAdapter)( const D3DKMT_CLOSEADAPTER *desc );
NTSTATUS (WINAPI *pNtGdiDdDDICreateDCFromMemory)( D3DKMT_CREATEDCFROMMEMORY *desc );
......@@ -102,7 +97,6 @@ struct unix_funcs
INT (WINAPI *pNtGdiEndPage)( HDC hdc );
BOOL (WINAPI *pNtGdiEnumFonts)( HDC hdc, ULONG type, ULONG win32_compat, ULONG face_name_len,
const WCHAR *face_name, ULONG charset, ULONG *count, void *buf );
BOOL (WINAPI *pNtGdiEqualRgn)( HRGN hrgn1, HRGN hrgn2 );
INT (WINAPI *pNtGdiExcludeClipRect)( HDC hdc, INT left, INT top, INT right, INT bottom );
HPEN (WINAPI *pNtGdiExtCreatePen)( DWORD style, DWORD width, ULONG brush_style, ULONG color,
ULONG_PTR client_hatch, ULONG_PTR hatch, DWORD style_count,
......@@ -113,7 +107,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 );
HRGN (WINAPI *pNtGdiExtCreateRegion)( const XFORM *xform, DWORD count, const RGNDATA *data );
INT (WINAPI *pNtGdiExtGetObjectW)( HGDIOBJ handle, INT count, void *buffer );
INT (WINAPI *pNtGdiExtSelectClipRgn)( HDC hdc, HRGN region, INT mode );
BOOL (WINAPI *pNtGdiFillPath)( HDC hdc );
......@@ -157,8 +150,6 @@ struct unix_funcs
INT (WINAPI *pNtGdiGetRandomRgn)( HDC hdc, HRGN region, INT code );
BOOL (WINAPI *pNtGdiGetRasterizerCaps)( RASTERIZER_STATUS *status, UINT size );
BOOL (WINAPI *pNtGdiGetRealizationInfo)( HDC hdc, struct font_realization_info *info );
DWORD (WINAPI *pNtGdiGetRegionData)( HRGN hrgn, DWORD count, RGNDATA *data );
INT (WINAPI *pNtGdiGetRgnBox)( HRGN hrgn, RECT *rect );
DWORD (WINAPI *pNtGdiGetSpoolMessage)( void *ptr1, DWORD data2, void *ptr3, DWORD data4 );
UINT (WINAPI *pNtGdiGetSystemPaletteUse)( HDC hdc );
UINT (WINAPI *pNtGdiGetTextCharsetInfo)( HDC hdc, FONTSIGNATURE *fs, DWORD flags );
......@@ -181,7 +172,6 @@ struct unix_funcs
BOOL (WINAPI *pNtGdiModifyWorldTransform)( HDC hdc, const XFORM *xform, DWORD mode );
BOOL (WINAPI *pNtGdiMoveTo)( HDC hdc, INT x, INT y, POINT *pt );
INT (WINAPI *pNtGdiOffsetClipRgn)( HDC hdc, INT x, INT y );
INT (WINAPI *pNtGdiOffsetRgn)( HRGN hrgn, INT x, INT y );
HDC (WINAPI *pNtGdiOpenDCW)( UNICODE_STRING *device, const DEVMODEW *devmode,
UNICODE_STRING *output, ULONG type, BOOL is_display,
HANDLE hspool, DRIVER_INFO_2W *driver_info, void *pdev );
......@@ -193,9 +183,7 @@ struct unix_funcs
BOOL (WINAPI *pNtGdiPolyDraw)(HDC hdc, const POINT *points, const BYTE *types, DWORD count );
ULONG (WINAPI *pNtGdiPolyPolyDraw)( HDC hdc, const POINT *points, const UINT *counts,
DWORD count, UINT function );
BOOL (WINAPI *pNtGdiPtInRegion)( HRGN hrgn, INT x, INT y );
BOOL (WINAPI *pNtGdiPtVisible)( HDC hdc, INT x, INT y );
BOOL (WINAPI *pNtGdiRectInRegion)( HRGN hrgn, const RECT *rect );
BOOL (WINAPI *pNtGdiRectVisible)( HDC hdc, const RECT *rect );
BOOL (WINAPI *pNtGdiRectangle)( HDC hdc, INT left, INT top, INT right, INT bottom );
BOOL (WINAPI *pNtGdiRemoveFontMemResourceEx)( HANDLE handle );
......@@ -228,10 +216,8 @@ struct unix_funcs
BOOL (WINAPI *pNtGdiSetDeviceGammaRamp)( HDC hdc, void *ptr );
DWORD (WINAPI *pNtGdiSetLayout)( HDC hdc, LONG wox, DWORD layout );
BOOL (WINAPI *pNtGdiSetMagicColors)( HDC hdc, DWORD magic, ULONG index );
INT (WINAPI *pNtGdiSetMetaRgn)( HDC hdc );
COLORREF (WINAPI *pNtGdiSetPixel)( HDC hdc, INT x, INT y, COLORREF color );
BOOL (WINAPI *pNtGdiSetPixelFormat)( HDC hdc, INT format );
BOOL (WINAPI *pNtGdiSetRectRgn)( HRGN hrgn, INT left, INT top, INT right, INT bottom );
UINT (WINAPI *pNtGdiSetSystemPaletteUse)( HDC hdc, UINT use );
BOOL (WINAPI *pNtGdiSetTextJustification)( HDC hdc, INT extra, INT breaks );
BOOL (WINAPI *pNtGdiSetVirtualResolution)( HDC hdc, DWORD horz_res, DWORD vert_res,
......
......@@ -88,11 +88,6 @@ BOOL WINAPI NtGdiCloseFigure( HDC hdc )
return unix_funcs->pNtGdiCloseFigure( hdc );
}
INT WINAPI NtGdiCombineRgn( HRGN dest, HRGN src1, HRGN src2, INT mode )
{
return unix_funcs->pNtGdiCombineRgn( dest, src1, src2, mode );
}
BOOL WINAPI NtGdiComputeXformCoefficients( HDC hdc )
{
return unix_funcs->pNtGdiComputeXformCoefficients( hdc );
......@@ -122,11 +117,6 @@ HBITMAP WINAPI NtGdiCreateDIBitmapInternal( HDC hdc, INT width, INT height, DWOR
coloruse, max_info, max_bits, flags, xform );
}
HRGN WINAPI NtGdiCreateEllipticRgn( INT left, INT top, INT right, INT bottom )
{
return unix_funcs->pNtGdiCreateEllipticRgn( left, top, right, bottom );
}
HPALETTE WINAPI NtGdiCreateHalftonePalette( HDC hdc )
{
return unix_funcs->pNtGdiCreateHalftonePalette( hdc );
......@@ -147,17 +137,6 @@ HPEN WINAPI NtGdiCreatePen( INT style, INT width, COLORREF color, HBRUSH brush )
return unix_funcs->pNtGdiCreatePen( style, width, color, brush );
}
HRGN WINAPI NtGdiCreateRectRgn( INT left, INT top, INT right, INT bottom )
{
return unix_funcs->pNtGdiCreateRectRgn( left, top, right, bottom );
}
HRGN WINAPI NtGdiCreateRoundRectRgn( INT left, INT top, INT right, INT bottom,
INT ellipse_width, INT ellipse_height )
{
return unix_funcs->pNtGdiCreateRoundRectRgn( left, top, right, bottom, ellipse_width, ellipse_height );
}
BOOL WINAPI NtGdiDeleteClientObj( HGDIOBJ obj )
{
return unix_funcs->pNtGdiDeleteClientObj( obj );
......@@ -211,11 +190,6 @@ BOOL WINAPI NtGdiEnumFonts( HDC hdc, ULONG type, ULONG win32_compat, ULONG face_
charset, count, buf );
}
BOOL WINAPI NtGdiEqualRgn( HRGN hrgn1, HRGN hrgn2 )
{
return unix_funcs->pNtGdiEqualRgn( hrgn1, hrgn2 );
}
INT WINAPI NtGdiExcludeClipRect( HDC hdc, INT left, INT top, INT right, INT bottom )
{
return unix_funcs->pNtGdiExcludeClipRect( hdc, left, top, right, bottom );
......@@ -248,11 +222,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 );
}
HRGN WINAPI NtGdiExtCreateRegion( const XFORM *xform, DWORD count, const RGNDATA *data )
{
return unix_funcs->pNtGdiExtCreateRegion( xform, count, data );
}
INT WINAPI NtGdiExtGetObjectW( HGDIOBJ handle, INT count, void *buffer )
{
return unix_funcs->pNtGdiExtGetObjectW( handle, count, buffer );
......@@ -429,16 +398,6 @@ BOOL WINAPI NtGdiGetRealizationInfo( HDC hdc, struct font_realization_info *info
return unix_funcs->pNtGdiGetRealizationInfo( hdc, info );
}
DWORD WINAPI NtGdiGetRegionData( HRGN hrgn, DWORD count, RGNDATA *data )
{
return unix_funcs->pNtGdiGetRegionData( hrgn, count, data );
}
INT WINAPI NtGdiGetRgnBox( HRGN hrgn, RECT *rect )
{
return unix_funcs->pNtGdiGetRgnBox( hrgn, rect );
}
DWORD WINAPI NtGdiGetSpoolMessage( void *ptr1, DWORD data2, void *ptr3, DWORD data4 )
{
return unix_funcs->pNtGdiGetSpoolMessage( ptr1, data2, ptr3, data4 );
......@@ -530,11 +489,6 @@ INT WINAPI NtGdiOffsetClipRgn( HDC hdc, INT x, INT y )
return unix_funcs->pNtGdiOffsetClipRgn( hdc, x, y );
}
INT WINAPI NtGdiOffsetRgn( HRGN hrgn, INT x, INT y )
{
return unix_funcs->pNtGdiOffsetRgn( hrgn, x, y );
}
HDC WINAPI NtGdiOpenDCW( UNICODE_STRING *device, const DEVMODEW *devmode,
UNICODE_STRING *output, ULONG type, BOOL is_display,
HANDLE hspool, DRIVER_INFO_2W *driver_info, void *pdev )
......@@ -572,21 +526,11 @@ ULONG WINAPI NtGdiPolyPolyDraw( HDC hdc, const POINT *points, const UINT *counts
return unix_funcs->pNtGdiPolyPolyDraw( hdc, points, counts, count, function );
}
BOOL WINAPI NtGdiPtInRegion( HRGN hrgn, INT x, INT y )
{
return unix_funcs->pNtGdiPtInRegion( hrgn, x, y );
}
BOOL WINAPI NtGdiPtVisible( HDC hdc, INT x, INT y )
{
return unix_funcs->pNtGdiPtVisible( hdc, x, y );
}
BOOL WINAPI NtGdiRectInRegion( HRGN hrgn, const RECT *rect )
{
return unix_funcs->pNtGdiRectInRegion( hrgn, rect );
}
BOOL WINAPI NtGdiRectVisible( HDC hdc, const RECT *rect )
{
return unix_funcs->pNtGdiRectVisible( hdc, rect );
......@@ -713,11 +657,6 @@ BOOL WINAPI NtGdiSetMagicColors( HDC hdc, DWORD magic, ULONG index )
return unix_funcs->pNtGdiSetMagicColors( hdc, magic, index );
}
INT WINAPI NtGdiSetMetaRgn( HDC hdc )
{
return unix_funcs->pNtGdiSetMetaRgn( hdc );
}
COLORREF WINAPI NtGdiSetPixel( HDC hdc, INT x, INT y, COLORREF color )
{
return unix_funcs->pNtGdiSetPixel( hdc, x, y, color );
......@@ -728,11 +667,6 @@ BOOL WINAPI NtGdiSetPixelFormat( HDC hdc, INT format )
return unix_funcs->pNtGdiSetPixelFormat( hdc, format );
}
BOOL WINAPI NtGdiSetRectRgn( HRGN hrgn, INT left, INT top, INT right, INT bottom )
{
return unix_funcs->pNtGdiSetRectRgn( hrgn, left, top, right, bottom );
}
UINT WINAPI NtGdiSetSystemPaletteUse( HDC hdc, UINT use )
{
return unix_funcs->pNtGdiSetSystemPaletteUse( hdc, use );
......
......@@ -133,6 +133,127 @@ NTSTATUS WINAPI wow64_NtGdiCreateSolidBrush( UINT *args )
return HandleToUlong( NtGdiCreateSolidBrush( color, brush ));
}
NTSTATUS WINAPI wow64_NtGdiCreateRectRgn( UINT *args )
{
INT left = get_ulong( &args );
INT top = get_ulong( &args );
INT right = get_ulong( &args );
INT bottom = get_ulong( &args );
return HandleToUlong( NtGdiCreateRectRgn( left, top, right, bottom ));
}
NTSTATUS WINAPI wow64_NtGdiCreateRoundRectRgn( UINT *args )
{
INT left = get_ulong( &args );
INT top = get_ulong( &args );
INT right = get_ulong( &args );
INT bottom = get_ulong( &args );
INT ellipse_width = get_ulong( &args );
INT ellipse_height = get_ulong( &args );
return HandleToUlong( NtGdiCreateRoundRectRgn( left, top, right, bottom,
ellipse_width, ellipse_height ));
}
NTSTATUS WINAPI wow64_NtGdiCreateEllipticRgn( UINT *args )
{
INT left = get_ulong( &args );
INT top = get_ulong( &args );
INT right = get_ulong( &args );
INT bottom = get_ulong( &args );
return HandleToUlong( NtGdiCreateEllipticRgn( left, top, right, bottom ));
}
NTSTATUS WINAPI wow64_NtGdiExtCreateRegion( UINT *args )
{
const XFORM *xform = get_ptr( &args );
DWORD count = get_ulong( &args );
const RGNDATA *data = get_ptr( &args );
return HandleToUlong( NtGdiExtCreateRegion( xform, count, data ));
}
NTSTATUS WINAPI wow64_NtGdiGetRegionData( UINT *args )
{
HRGN hrgn = get_ptr( &args );
DWORD count = get_ulong( &args );
RGNDATA *data = get_ptr( &args );
return NtGdiGetRegionData( hrgn, count, data );
}
NTSTATUS WINAPI wow64_NtGdiEqualRgn( UINT *args )
{
HRGN hrgn1 = get_handle( &args );
HRGN hrgn2 = get_handle( &args );
return NtGdiEqualRgn( hrgn1, hrgn2 );
}
INT WINAPI wow64_NtGdiGetRgnBox( UINT *args )
{
HRGN hrgn = get_handle( &args );
RECT *rect = get_ptr( &args );
return NtGdiGetRgnBox( hrgn, rect );
}
BOOL WINAPI wow64_NtGdiSetRectRgn( UINT *args )
{
HRGN hrgn = get_handle( &args );
INT left = get_ulong( &args );
INT top = get_ulong( &args );
INT right = get_ulong( &args );
INT bottom = get_ulong( &args );
return NtGdiSetRectRgn( hrgn, left, top, right, bottom );
}
INT WINAPI wow64_NtGdiOffsetRgn( UINT *args )
{
HRGN hrgn = get_handle( &args );
INT x = get_ulong( &args );
INT y = get_ulong( &args );
return NtGdiOffsetRgn( hrgn, x, y );
}
NTSTATUS WINAPI wow64_NtGdiCombineRgn( UINT *args )
{
HRGN dest = get_handle( &args );
HRGN src1 = get_handle( &args );
HRGN src2 = get_handle( &args );
INT mode = get_ulong( &args );
return NtGdiCombineRgn( dest, src1, src2, mode );
}
NTSTATUS WINAPI wow64_NtGdiPtInRegion( UINT *args )
{
HRGN hrgn = get_handle( &args );
INT x = get_ulong( &args );
INT y = get_ulong( &args );
return NtGdiPtInRegion( hrgn, x, y );
}
BOOL WINAPI wow64_NtGdiRectInRegion( UINT *args )
{
HRGN hrgn = get_handle( &args );
const RECT *rect = get_ptr( &args );
return NtGdiRectInRegion( hrgn, rect );
}
NTSTATUS WINAPI wow64_NtGdiSetMetaRgn( UINT *args )
{
HDC hdc = get_handle( &args );
return NtGdiSetMetaRgn( hdc );
}
NTSTATUS WINAPI wow64_NtGdiFlush( UINT *args )
{
return NtGdiFlush();
......
......@@ -22,16 +22,29 @@
#define __WOW64WIN_SYSCALL_H
#define ALL_WIN32_SYSCALLS \
SYSCALL_ENTRY( NtGdiCombineRgn ) \
SYSCALL_ENTRY( NtGdiCreateBitmap ) \
SYSCALL_ENTRY( NtGdiCreateDIBBrush ) \
SYSCALL_ENTRY( NtGdiCreateDIBSection ) \
SYSCALL_ENTRY( NtGdiCreateEllipticRgn ) \
SYSCALL_ENTRY( NtGdiCreateHatchBrushInternal ) \
SYSCALL_ENTRY( NtGdiCreatePatternBrushInternal ) \
SYSCALL_ENTRY( NtGdiCreateRectRgn ) \
SYSCALL_ENTRY( NtGdiCreateRoundRectRgn ) \
SYSCALL_ENTRY( NtGdiCreateSolidBrush ) \
SYSCALL_ENTRY( NtGdiEqualRgn ) \
SYSCALL_ENTRY( NtGdiExtCreateRegion ) \
SYSCALL_ENTRY( NtGdiFlush ) \
SYSCALL_ENTRY( NtGdiGetBitmapBits ) \
SYSCALL_ENTRY( NtGdiGetBitmapDimension ) \
SYSCALL_ENTRY( NtGdiGetRegionData ) \
SYSCALL_ENTRY( NtGdiGetRgnBox ) \
SYSCALL_ENTRY( NtGdiOffsetRgn ) \
SYSCALL_ENTRY( NtGdiPtInRegion ) \
SYSCALL_ENTRY( NtGdiRectInRegion ) \
SYSCALL_ENTRY( NtGdiSetBitmapBits ) \
SYSCALL_ENTRY( NtGdiSetBitmapDimension )
SYSCALL_ENTRY( NtGdiSetBitmapDimension ) \
SYSCALL_ENTRY( NtGdiSetMetaRgn ) \
SYSCALL_ENTRY( NtGdiSetRectRgn )
#endif /* __WOW64WIN_SYSCALL_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment