Commit 6fbbbe1f authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

win32u: Use syscall interface for some GDI objects functions.

parent 0dfedf79
......@@ -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 ) \
......
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