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