win32u: Use syscall interface for some path functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
3dea31ed06
commit
3d978e4c4e
|
@ -1107,7 +1107,6 @@ static struct unix_funcs unix_funcs =
|
||||||
NtGdiExtSelectClipRgn,
|
NtGdiExtSelectClipRgn,
|
||||||
NtGdiFillPath,
|
NtGdiFillPath,
|
||||||
NtGdiFillRgn,
|
NtGdiFillRgn,
|
||||||
NtGdiFlattenPath,
|
|
||||||
NtGdiFontIsLinked,
|
NtGdiFontIsLinked,
|
||||||
NtGdiFrameRgn,
|
NtGdiFrameRgn,
|
||||||
NtGdiGetAndSetDCDword,
|
NtGdiGetAndSetDCDword,
|
||||||
|
@ -1126,7 +1125,6 @@ static struct unix_funcs unix_funcs =
|
||||||
NtGdiGetKerningPairs,
|
NtGdiGetKerningPairs,
|
||||||
NtGdiGetNearestColor,
|
NtGdiGetNearestColor,
|
||||||
NtGdiGetOutlineTextMetricsInternalW,
|
NtGdiGetOutlineTextMetricsInternalW,
|
||||||
NtGdiGetPath,
|
|
||||||
NtGdiGetPixel,
|
NtGdiGetPixel,
|
||||||
NtGdiGetRandomRgn,
|
NtGdiGetRandomRgn,
|
||||||
NtGdiGetRasterizerCaps,
|
NtGdiGetRasterizerCaps,
|
||||||
|
@ -1147,7 +1145,6 @@ static struct unix_funcs unix_funcs =
|
||||||
NtGdiOffsetClipRgn,
|
NtGdiOffsetClipRgn,
|
||||||
NtGdiOpenDCW,
|
NtGdiOpenDCW,
|
||||||
NtGdiPatBlt,
|
NtGdiPatBlt,
|
||||||
NtGdiPathToRegion,
|
|
||||||
NtGdiPlgBlt,
|
NtGdiPlgBlt,
|
||||||
NtGdiPolyDraw,
|
NtGdiPolyDraw,
|
||||||
NtGdiPolyPolyDraw,
|
NtGdiPolyPolyDraw,
|
||||||
|
|
|
@ -55,6 +55,7 @@ static void * const syscalls[] =
|
||||||
NtGdiEqualRgn,
|
NtGdiEqualRgn,
|
||||||
NtGdiExtCreateRegion,
|
NtGdiExtCreateRegion,
|
||||||
NtGdiExtGetObjectW,
|
NtGdiExtGetObjectW,
|
||||||
|
NtGdiFlattenPath,
|
||||||
NtGdiFlush,
|
NtGdiFlush,
|
||||||
NtGdiGetBitmapBits,
|
NtGdiGetBitmapBits,
|
||||||
NtGdiGetBitmapDimension,
|
NtGdiGetBitmapDimension,
|
||||||
|
@ -63,12 +64,14 @@ static void * const syscalls[] =
|
||||||
NtGdiGetFontFileData,
|
NtGdiGetFontFileData,
|
||||||
NtGdiGetFontFileInfo,
|
NtGdiGetFontFileInfo,
|
||||||
NtGdiGetNearestPaletteIndex,
|
NtGdiGetNearestPaletteIndex,
|
||||||
|
NtGdiGetPath,
|
||||||
NtGdiGetRegionData,
|
NtGdiGetRegionData,
|
||||||
NtGdiGetRgnBox,
|
NtGdiGetRgnBox,
|
||||||
NtGdiGetSystemPaletteUse,
|
NtGdiGetSystemPaletteUse,
|
||||||
NtGdiGetTransform,
|
NtGdiGetTransform,
|
||||||
NtGdiHfontCreate,
|
NtGdiHfontCreate,
|
||||||
NtGdiOffsetRgn,
|
NtGdiOffsetRgn,
|
||||||
|
NtGdiPathToRegion,
|
||||||
NtGdiPtInRegion,
|
NtGdiPtInRegion,
|
||||||
NtGdiRectInRegion,
|
NtGdiRectInRegion,
|
||||||
NtGdiRemoveFontMemResourceEx,
|
NtGdiRemoveFontMemResourceEx,
|
||||||
|
|
|
@ -435,7 +435,7 @@
|
||||||
@ stub NtGdiFONTOBJ_vGetInfo
|
@ stub NtGdiFONTOBJ_vGetInfo
|
||||||
@ stdcall NtGdiFillPath(long)
|
@ stdcall NtGdiFillPath(long)
|
||||||
@ stdcall NtGdiFillRgn(long long long)
|
@ stdcall NtGdiFillRgn(long long long)
|
||||||
@ stdcall NtGdiFlattenPath(long)
|
@ stdcall -syscall NtGdiFlattenPath(long)
|
||||||
@ stdcall -syscall NtGdiFlush()
|
@ stdcall -syscall NtGdiFlush()
|
||||||
@ stdcall NtGdiFontIsLinked(long)
|
@ stdcall NtGdiFontIsLinked(long)
|
||||||
@ stub NtGdiForceUFIMapping
|
@ stub NtGdiForceUFIMapping
|
||||||
|
@ -497,7 +497,7 @@
|
||||||
@ stub NtGdiGetOPMRandomNumber
|
@ stub NtGdiGetOPMRandomNumber
|
||||||
@ stub NtGdiGetObjectBitmapHandle
|
@ stub NtGdiGetObjectBitmapHandle
|
||||||
@ stdcall NtGdiGetOutlineTextMetricsInternalW(long long ptr long)
|
@ stdcall NtGdiGetOutlineTextMetricsInternalW(long long ptr long)
|
||||||
@ stdcall NtGdiGetPath(long ptr ptr long)
|
@ stdcall -syscall NtGdiGetPath(long ptr ptr long)
|
||||||
@ stub NtGdiGetPerBandInfo
|
@ stub NtGdiGetPerBandInfo
|
||||||
@ stub NtGdiGetPhysicalMonitorDescription
|
@ stub NtGdiGetPhysicalMonitorDescription
|
||||||
@ stub NtGdiGetPhysicalMonitors
|
@ stub NtGdiGetPhysicalMonitors
|
||||||
|
@ -554,7 +554,7 @@
|
||||||
@ stub NtGdiPATHOBJ_vEnumStartClipLines
|
@ stub NtGdiPATHOBJ_vEnumStartClipLines
|
||||||
@ stub NtGdiPATHOBJ_vGetBounds
|
@ stub NtGdiPATHOBJ_vGetBounds
|
||||||
@ stdcall NtGdiPatBlt(long long long long long long)
|
@ stdcall NtGdiPatBlt(long long long long long long)
|
||||||
@ stdcall NtGdiPathToRegion(long)
|
@ stdcall -syscall NtGdiPathToRegion(long)
|
||||||
@ stdcall NtGdiPlgBlt(long ptr long long long long long long long long long)
|
@ stdcall NtGdiPlgBlt(long ptr long long long long long long long long long)
|
||||||
@ stdcall NtGdiPolyDraw(long ptr ptr long)
|
@ stdcall NtGdiPolyDraw(long ptr ptr long)
|
||||||
@ stub NtGdiPolyPatBlt
|
@ stub NtGdiPolyPatBlt
|
||||||
|
|
|
@ -99,7 +99,6 @@ struct unix_funcs
|
||||||
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 );
|
||||||
BOOL (WINAPI *pNtGdiFillRgn)( HDC hdc, HRGN hrgn, HBRUSH hbrush );
|
BOOL (WINAPI *pNtGdiFillRgn)( HDC hdc, HRGN hrgn, HBRUSH hbrush );
|
||||||
BOOL (WINAPI *pNtGdiFlattenPath)( HDC hdc );
|
|
||||||
BOOL (WINAPI *pNtGdiFontIsLinked)( HDC hdc );
|
BOOL (WINAPI *pNtGdiFontIsLinked)( HDC hdc );
|
||||||
BOOL (WINAPI *pNtGdiFrameRgn)( HDC hdc, HRGN hrgn, HBRUSH brush, INT width, INT height );
|
BOOL (WINAPI *pNtGdiFrameRgn)( HDC hdc, HRGN hrgn, HBRUSH brush, INT width, INT height );
|
||||||
BOOL (WINAPI *pNtGdiGetAndSetDCDword)( HDC hdc, UINT method, DWORD value, DWORD *result );
|
BOOL (WINAPI *pNtGdiGetAndSetDCDword)( HDC hdc, UINT method, DWORD value, DWORD *result );
|
||||||
|
@ -126,7 +125,6 @@ struct unix_funcs
|
||||||
COLORREF (WINAPI *pNtGdiGetNearestColor)( HDC hdc, COLORREF color );
|
COLORREF (WINAPI *pNtGdiGetNearestColor)( HDC hdc, COLORREF color );
|
||||||
UINT (WINAPI *pNtGdiGetOutlineTextMetricsInternalW)( HDC hdc, UINT cbData,
|
UINT (WINAPI *pNtGdiGetOutlineTextMetricsInternalW)( HDC hdc, UINT cbData,
|
||||||
OUTLINETEXTMETRICW *otm, ULONG opts );
|
OUTLINETEXTMETRICW *otm, ULONG opts );
|
||||||
INT (WINAPI *pNtGdiGetPath)( HDC hdc, POINT *points, BYTE *types, INT size );
|
|
||||||
COLORREF (WINAPI *pNtGdiGetPixel)( HDC hdc, INT x, INT y );
|
COLORREF (WINAPI *pNtGdiGetPixel)( HDC hdc, INT x, INT y );
|
||||||
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 );
|
||||||
|
@ -153,7 +151,6 @@ struct unix_funcs
|
||||||
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 );
|
||||||
BOOL (WINAPI *pNtGdiPatBlt)( HDC hdc, INT left, INT top, INT width, INT height, DWORD rop );
|
BOOL (WINAPI *pNtGdiPatBlt)( HDC hdc, INT left, INT top, INT width, INT height, DWORD rop );
|
||||||
HRGN (WINAPI *pNtGdiPathToRegion)( HDC hdc );
|
|
||||||
BOOL (WINAPI *pNtGdiPlgBlt)( HDC hdc, const POINT *point, HDC hdc_src, INT x_src, INT y_src,
|
BOOL (WINAPI *pNtGdiPlgBlt)( HDC hdc, const POINT *point, HDC hdc_src, INT x_src, INT y_src,
|
||||||
INT width, INT height, HBITMAP mask, INT x_mask, INT y_mask,
|
INT width, INT height, HBITMAP mask, INT x_mask, INT y_mask,
|
||||||
DWORD bk_color );
|
DWORD bk_color );
|
||||||
|
|
|
@ -195,11 +195,6 @@ BOOL WINAPI NtGdiFillRgn( HDC hdc, HRGN hrgn, HBRUSH hbrush )
|
||||||
return unix_funcs->pNtGdiFillRgn( hdc, hrgn, hbrush );
|
return unix_funcs->pNtGdiFillRgn( hdc, hrgn, hbrush );
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL WINAPI NtGdiFlattenPath( HDC hdc )
|
|
||||||
{
|
|
||||||
return unix_funcs->pNtGdiFlattenPath( hdc );
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL WINAPI NtGdiFontIsLinked( HDC hdc )
|
BOOL WINAPI NtGdiFontIsLinked( HDC hdc )
|
||||||
{
|
{
|
||||||
return unix_funcs->pNtGdiFontIsLinked( hdc );
|
return unix_funcs->pNtGdiFontIsLinked( hdc );
|
||||||
|
@ -299,11 +294,6 @@ UINT WINAPI NtGdiGetOutlineTextMetricsInternalW( HDC hdc, UINT cbData,
|
||||||
return unix_funcs->pNtGdiGetOutlineTextMetricsInternalW( hdc, cbData, otm, opts );
|
return unix_funcs->pNtGdiGetOutlineTextMetricsInternalW( hdc, cbData, otm, opts );
|
||||||
}
|
}
|
||||||
|
|
||||||
INT WINAPI NtGdiGetPath( HDC hdc, POINT *points, BYTE *types, INT size )
|
|
||||||
{
|
|
||||||
return unix_funcs->pNtGdiGetPath( hdc, points, types, size );
|
|
||||||
}
|
|
||||||
|
|
||||||
COLORREF WINAPI NtGdiGetPixel( HDC hdc, INT x, INT y )
|
COLORREF WINAPI NtGdiGetPixel( HDC hdc, INT x, INT y )
|
||||||
{
|
{
|
||||||
return unix_funcs->pNtGdiGetPixel( hdc, x, y );
|
return unix_funcs->pNtGdiGetPixel( hdc, x, y );
|
||||||
|
@ -412,11 +402,6 @@ BOOL WINAPI NtGdiPatBlt( HDC hdc, INT left, INT top, INT width, INT height, DWOR
|
||||||
return unix_funcs->pNtGdiPatBlt( hdc, left, top, width, height, rop );
|
return unix_funcs->pNtGdiPatBlt( hdc, left, top, width, height, rop );
|
||||||
}
|
}
|
||||||
|
|
||||||
HRGN WINAPI NtGdiPathToRegion( HDC hdc )
|
|
||||||
{
|
|
||||||
return unix_funcs->pNtGdiPathToRegion( hdc );
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL WINAPI NtGdiPlgBlt( HDC hdc, const POINT *point, HDC hdc_src, INT x_src, INT y_src,
|
BOOL WINAPI NtGdiPlgBlt( HDC hdc, const POINT *point, HDC hdc_src, INT x_src, INT y_src,
|
||||||
INT width, INT height, HBITMAP mask, INT x_mask, INT y_mask,
|
INT width, INT height, HBITMAP mask, INT x_mask, INT y_mask,
|
||||||
DWORD bk_color )
|
DWORD bk_color )
|
||||||
|
|
|
@ -511,6 +511,30 @@ NTSTATUS WINAPI wow64_NtGdiSetMagicColors( UINT *args )
|
||||||
return NtGdiSetMagicColors( hdc, magic, index );
|
return NtGdiSetMagicColors( hdc, magic, index );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NTSTATUS WINAPI wow64_NtGdiGetPath( UINT *args )
|
||||||
|
{
|
||||||
|
HDC hdc = get_handle( &args );
|
||||||
|
POINT *points = get_ptr( &args );
|
||||||
|
BYTE *types = get_ptr( &args );
|
||||||
|
INT size = get_ulong( &args );
|
||||||
|
|
||||||
|
return NtGdiGetPath( hdc, points, types, size );
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS WINAPI wow64_NtGdiPathToRegion( UINT *args )
|
||||||
|
{
|
||||||
|
HDC hdc = get_handle( &args );
|
||||||
|
|
||||||
|
return HandleToUlong( NtGdiPathToRegion( hdc ));
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS WINAPI wow64_NtGdiFlattenPath( UINT *args )
|
||||||
|
{
|
||||||
|
HDC hdc = get_handle( &args );
|
||||||
|
|
||||||
|
return NtGdiFlattenPath( hdc );
|
||||||
|
}
|
||||||
|
|
||||||
NTSTATUS WINAPI wow64_NtGdiFlush( UINT *args )
|
NTSTATUS WINAPI wow64_NtGdiFlush( UINT *args )
|
||||||
{
|
{
|
||||||
return NtGdiFlush();
|
return NtGdiFlush();
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
SYSCALL_ENTRY( NtGdiEqualRgn ) \
|
SYSCALL_ENTRY( NtGdiEqualRgn ) \
|
||||||
SYSCALL_ENTRY( NtGdiExtCreateRegion ) \
|
SYSCALL_ENTRY( NtGdiExtCreateRegion ) \
|
||||||
SYSCALL_ENTRY( NtGdiExtGetObjectW ) \
|
SYSCALL_ENTRY( NtGdiExtGetObjectW ) \
|
||||||
|
SYSCALL_ENTRY( NtGdiFlattenPath ) \
|
||||||
SYSCALL_ENTRY( NtGdiFlush ) \
|
SYSCALL_ENTRY( NtGdiFlush ) \
|
||||||
SYSCALL_ENTRY( NtGdiGetBitmapBits ) \
|
SYSCALL_ENTRY( NtGdiGetBitmapBits ) \
|
||||||
SYSCALL_ENTRY( NtGdiGetBitmapDimension ) \
|
SYSCALL_ENTRY( NtGdiGetBitmapDimension ) \
|
||||||
|
@ -51,12 +52,14 @@
|
||||||
SYSCALL_ENTRY( NtGdiGetFontFileData ) \
|
SYSCALL_ENTRY( NtGdiGetFontFileData ) \
|
||||||
SYSCALL_ENTRY( NtGdiGetFontFileInfo ) \
|
SYSCALL_ENTRY( NtGdiGetFontFileInfo ) \
|
||||||
SYSCALL_ENTRY( NtGdiGetNearestPaletteIndex ) \
|
SYSCALL_ENTRY( NtGdiGetNearestPaletteIndex ) \
|
||||||
|
SYSCALL_ENTRY( NtGdiGetPath ) \
|
||||||
SYSCALL_ENTRY( NtGdiGetRegionData ) \
|
SYSCALL_ENTRY( NtGdiGetRegionData ) \
|
||||||
SYSCALL_ENTRY( NtGdiGetRgnBox ) \
|
SYSCALL_ENTRY( NtGdiGetRgnBox ) \
|
||||||
SYSCALL_ENTRY( NtGdiGetSystemPaletteUse ) \
|
SYSCALL_ENTRY( NtGdiGetSystemPaletteUse ) \
|
||||||
SYSCALL_ENTRY( NtGdiGetTransform ) \
|
SYSCALL_ENTRY( NtGdiGetTransform ) \
|
||||||
SYSCALL_ENTRY( NtGdiHfontCreate ) \
|
SYSCALL_ENTRY( NtGdiHfontCreate ) \
|
||||||
SYSCALL_ENTRY( NtGdiOffsetRgn ) \
|
SYSCALL_ENTRY( NtGdiOffsetRgn ) \
|
||||||
|
SYSCALL_ENTRY( NtGdiPathToRegion ) \
|
||||||
SYSCALL_ENTRY( NtGdiPtInRegion ) \
|
SYSCALL_ENTRY( NtGdiPtInRegion ) \
|
||||||
SYSCALL_ENTRY( NtGdiRectInRegion ) \
|
SYSCALL_ENTRY( NtGdiRectInRegion ) \
|
||||||
SYSCALL_ENTRY( NtGdiRemoveFontMemResourceEx ) \
|
SYSCALL_ENTRY( NtGdiRemoveFontMemResourceEx ) \
|
||||||
|
|
Loading…
Reference in New Issue