Commit 5f5082af authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

win32u: Use syscall interface for more DC functions.

parent e4215142
......@@ -1030,8 +1030,6 @@ BOOL WINAPI NtGdiSetColorAdjustment( HDC hdc, const COLORADJUSTMENT *ca )
static struct unix_funcs unix_funcs =
{
NtGdiCreateCompatibleDC,
NtGdiCreateMetafileDC,
NtGdiDeleteObjectApp,
NtGdiDoPalette,
NtGdiEnumFonts,
......@@ -1066,9 +1064,7 @@ static struct unix_funcs unix_funcs =
NtGdiOffsetClipRgn,
NtGdiPtVisible,
NtGdiRectVisible,
NtGdiResetDC,
NtGdiResizePalette,
NtGdiRestoreDC,
NtGdiSelectBrush,
NtGdiSelectFont,
NtGdiSelectPen,
......@@ -1077,7 +1073,6 @@ static struct unix_funcs unix_funcs =
NtGdiSetLayout,
NtGdiSetSystemPaletteUse,
NtGdiUnrealizeObject,
NtGdiUpdateColors,
NtUserDrawCaptionTemp,
NtUserDrawMenuBarTemp,
NtUserEndPaint,
......
......@@ -51,12 +51,14 @@ static void * const syscalls[] =
NtGdiCreateBitmap,
NtGdiCreateClientObj,
NtGdiCreateCompatibleBitmap,
NtGdiCreateCompatibleDC,
NtGdiCreateDIBBrush,
NtGdiCreateDIBSection,
NtGdiCreateDIBitmapInternal,
NtGdiCreateEllipticRgn,
NtGdiCreateHalftonePalette,
NtGdiCreateHatchBrushInternal,
NtGdiCreateMetafileDC,
NtGdiCreatePaletteInternal,
NtGdiCreatePatternBrushInternal,
NtGdiCreatePen,
......@@ -131,6 +133,8 @@ static void * const syscalls[] =
NtGdiRectangle,
NtGdiRemoveFontMemResourceEx,
NtGdiRemoveFontResourceW,
NtGdiResetDC,
NtGdiRestoreDC,
NtGdiRoundRect,
NtGdiSaveDC,
NtGdiScaleViewportExtEx,
......@@ -158,6 +162,7 @@ static void * const syscalls[] =
NtGdiSwapBuffers,
NtGdiTransformPoints,
NtGdiTransparentBlt,
NtGdiUpdateColors,
NtGdiWidenPath,
NtUserActivateKeyboardLayout,
NtUserAddClipboardFormatListener,
......
......@@ -146,14 +146,14 @@
@ stub NtGdiCreateColorSpace
@ stub NtGdiCreateColorTransform
@ stdcall -syscall NtGdiCreateCompatibleBitmap(long long long)
@ stdcall NtGdiCreateCompatibleDC(long)
@ stdcall -syscall NtGdiCreateCompatibleDC(long)
@ stdcall -syscall NtGdiCreateDIBBrush(ptr long long long long ptr)
@ stdcall -syscall NtGdiCreateDIBSection(long long long ptr long long long long ptr)
@ stdcall -syscall NtGdiCreateDIBitmapInternal(long long long long ptr ptr long long long long long)
@ stdcall -syscall NtGdiCreateEllipticRgn(long long long long)
@ stdcall -syscall NtGdiCreateHalftonePalette(long)
@ stdcall -syscall NtGdiCreateHatchBrushInternal(long long long)
@ stdcall NtGdiCreateMetafileDC(long)
@ stdcall -syscall NtGdiCreateMetafileDC(long)
@ stub NtGdiCreateOPMProtectedOutput
@ stub NtGdiCreateOPMProtectedOutputs
@ stdcall -syscall NtGdiCreatePaletteInternal(ptr long)
......@@ -570,9 +570,9 @@
@ stdcall -syscall NtGdiRemoveFontMemResourceEx(long)
@ stdcall -syscall NtGdiRemoveFontResourceW(wstr long long long long ptr)
@ stub NtGdiRemoveMergeFont
@ stdcall NtGdiResetDC(long ptr ptr ptr ptr)
@ stdcall -syscall NtGdiResetDC(long ptr ptr ptr ptr)
@ stdcall NtGdiResizePalette(long long)
@ stdcall NtGdiRestoreDC(long long)
@ stdcall -syscall NtGdiRestoreDC(long long)
@ stdcall -syscall NtGdiRoundRect(long long long long long long long)
@ stub NtGdiSTROBJ_bEnum
@ stub NtGdiSTROBJ_bEnumPositionsOnly
......@@ -631,7 +631,7 @@
@ stub NtGdiUnloadPrinterDriver
@ stub NtGdiUnmapMemFont
@ stdcall NtGdiUnrealizeObject(long)
@ stdcall NtGdiUpdateColors(long)
@ stdcall -syscall NtGdiUpdateColors(long)
@ stub NtGdiUpdateTransform
@ stdcall -syscall NtGdiWidenPath(long)
@ stub NtGdiXFORMOBJ_bApplyXform
......
......@@ -35,8 +35,6 @@
struct unix_funcs
{
/* win32u functions */
HDC (WINAPI *pNtGdiCreateCompatibleDC)( HDC hdc );
HDC (WINAPI *pNtGdiCreateMetafileDC)( HDC hdc );
BOOL (WINAPI *pNtGdiDeleteObjectApp)( HGDIOBJ obj );
LONG (WINAPI *pNtGdiDoPalette)( HGDIOBJ handle, WORD start, WORD count, void *entries,
DWORD func, BOOL inbound );
......@@ -82,10 +80,7 @@ struct unix_funcs
INT (WINAPI *pNtGdiOffsetClipRgn)( HDC hdc, INT x, INT y );
BOOL (WINAPI *pNtGdiPtVisible)( HDC hdc, INT x, INT y );
BOOL (WINAPI *pNtGdiRectVisible)( HDC hdc, const RECT *rect );
BOOL (WINAPI *pNtGdiResetDC)( HDC hdc, const DEVMODEW *devmode, BOOL *banding,
DRIVER_INFO_2W *driver_info, void *dev );
BOOL (WINAPI *pNtGdiResizePalette)( HPALETTE palette, UINT count );
BOOL (WINAPI *pNtGdiRestoreDC)( HDC hdc, INT level );
HGDIOBJ (WINAPI *pNtGdiSelectBrush)( HDC hdc, HGDIOBJ handle );
HGDIOBJ (WINAPI *pNtGdiSelectFont)( HDC hdc, HGDIOBJ handle );
HGDIOBJ (WINAPI *pNtGdiSelectPen)( HDC hdc, HGDIOBJ handle );
......@@ -94,7 +89,6 @@ struct unix_funcs
DWORD (WINAPI *pNtGdiSetLayout)( HDC hdc, LONG wox, DWORD layout );
UINT (WINAPI *pNtGdiSetSystemPaletteUse)( HDC hdc, UINT use );
BOOL (WINAPI *pNtGdiUnrealizeObject)( HGDIOBJ obj );
BOOL (WINAPI *pNtGdiUpdateColors)( HDC hdc );
BOOL (WINAPI *pNtUserDrawCaptionTemp)( HWND hwnd, HDC hdc, const RECT *rect, HFONT font,
HICON icon, const WCHAR *str, UINT flags );
DWORD (WINAPI *pNtUserDrawMenuBarTemp)( HWND hwnd, HDC hdc, RECT *rect, HMENU handle, HFONT font );
......
......@@ -24,18 +24,6 @@
static const struct unix_funcs *unix_funcs;
HDC WINAPI NtGdiCreateCompatibleDC( HDC hdc )
{
if (!unix_funcs) return 0;
return unix_funcs->pNtGdiCreateCompatibleDC( hdc );
}
HDC WINAPI NtGdiCreateMetafileDC( HDC hdc )
{
if (!unix_funcs) return 0;
return unix_funcs->pNtGdiCreateMetafileDC( hdc );
}
BOOL WINAPI NtGdiDeleteObjectApp( HGDIOBJ obj )
{
if (!unix_funcs) return FALSE;
......@@ -259,25 +247,12 @@ BOOL WINAPI NtGdiRectVisible( HDC hdc, const RECT *rect )
return unix_funcs->pNtGdiRectVisible( hdc, rect );
}
BOOL WINAPI NtGdiResetDC( HDC hdc, const DEVMODEW *devmode, BOOL *banding,
DRIVER_INFO_2W *driver_info, void *dev )
{
if (!unix_funcs) return FALSE;
return unix_funcs->pNtGdiResetDC( hdc, devmode, banding, driver_info, dev );
}
BOOL WINAPI NtGdiResizePalette( HPALETTE palette, UINT count )
{
if (!unix_funcs) return FALSE;
return unix_funcs->pNtGdiResizePalette( palette, count );
}
BOOL WINAPI NtGdiRestoreDC( HDC hdc, INT level )
{
if (!unix_funcs) return FALSE;
return unix_funcs->pNtGdiRestoreDC( hdc, level );
}
HGDIOBJ WINAPI NtGdiSelectBrush( HDC hdc, HGDIOBJ handle )
{
if (!unix_funcs) return 0;
......@@ -326,12 +301,6 @@ BOOL WINAPI NtGdiUnrealizeObject( HGDIOBJ obj )
return unix_funcs->pNtGdiUnrealizeObject( obj );
}
BOOL WINAPI NtGdiUpdateColors( HDC hdc )
{
if (!unix_funcs) return FALSE;
return unix_funcs->pNtGdiUpdateColors( hdc );
}
BOOL WINAPI NtUserDrawCaptionTemp( HWND hwnd, HDC hdc, const RECT *rect, HFONT font,
HICON icon, const WCHAR *str, UINT flags )
{
......
......@@ -216,6 +216,13 @@ NTSTATUS WINAPI wow64_NtGdiCreateCompatibleBitmap( UINT *args )
return HandleToUlong( NtGdiCreateCompatibleBitmap( hdc, width, height ));
}
NTSTATUS WINAPI wow64_NtGdiCreateCompatibleDC( UINT *args )
{
HDC hdc = get_handle( &args );
return HandleToUlong( NtGdiCreateCompatibleDC( hdc ));
}
NTSTATUS WINAPI wow64_NtGdiCreateDIBBrush( UINT *args )
{
const void *data = get_ptr( &args );
......@@ -294,6 +301,13 @@ NTSTATUS WINAPI wow64_NtGdiCreateHatchBrushInternal( UINT *args )
return HandleToULong( NtGdiCreateHatchBrushInternal( style, color, pen ));
}
NTSTATUS WINAPI wow64_NtGdiCreateMetafileDC( UINT *args )
{
HDC hdc = get_handle( &args );
return HandleToUlong( NtGdiCreateMetafileDC( hdc ));
}
NTSTATUS WINAPI wow64_NtGdiCreatePaletteInternal( UINT *args )
{
const LOGPALETTE *palette = get_ptr( &args );
......@@ -1068,6 +1082,25 @@ NTSTATUS WINAPI wow64_NtGdiGetRegionData( UINT *args )
return NtGdiGetRegionData( hrgn, count, data );
}
NTSTATUS WINAPI wow64_NtGdiResetDC( UINT *args )
{
HDC hdc = get_handle( &args );
const DEVMODEW *devmode = get_ptr( &args );
BOOL *banding = get_ptr( &args );
DRIVER_INFO_2W *driver_info = get_ptr( &args );
void *dev = get_ptr( &args );
return NtGdiResetDC( hdc, devmode, banding, driver_info, dev );
}
NTSTATUS WINAPI wow64_NtGdiRestoreDC( UINT *args )
{
HDC hdc = get_handle( &args );
INT level = get_ulong( &args );
return NtGdiRestoreDC( hdc, level );
}
NTSTATUS WINAPI wow64_NtGdiGetRgnBox( UINT *args )
{
HRGN hrgn = get_handle( &args );
......@@ -1528,6 +1561,13 @@ NTSTATUS WINAPI wow64_NtGdiTransformPoints( UINT *args )
return NtGdiTransformPoints( hdc, points_in, points_out, count, mode );
}
NTSTATUS WINAPI wow64_NtGdiUpdateColors( UINT *args )
{
HDC hdc = get_handle( &args );
return NtGdiUpdateColors( hdc );
}
NTSTATUS WINAPI wow64_NtGdiWidenPath( UINT *args )
{
HDC hdc = get_handle( &args );
......
......@@ -37,12 +37,14 @@
SYSCALL_ENTRY( NtGdiCreateBitmap ) \
SYSCALL_ENTRY( NtGdiCreateClientObj ) \
SYSCALL_ENTRY( NtGdiCreateCompatibleBitmap ) \
SYSCALL_ENTRY( NtGdiCreateCompatibleDC ) \
SYSCALL_ENTRY( NtGdiCreateDIBBrush ) \
SYSCALL_ENTRY( NtGdiCreateDIBSection ) \
SYSCALL_ENTRY( NtGdiCreateDIBitmapInternal ) \
SYSCALL_ENTRY( NtGdiCreateEllipticRgn ) \
SYSCALL_ENTRY( NtGdiCreateHalftonePalette ) \
SYSCALL_ENTRY( NtGdiCreateHatchBrushInternal ) \
SYSCALL_ENTRY( NtGdiCreateMetafileDC ) \
SYSCALL_ENTRY( NtGdiCreatePaletteInternal ) \
SYSCALL_ENTRY( NtGdiCreatePatternBrushInternal ) \
SYSCALL_ENTRY( NtGdiCreatePen ) \
......@@ -117,6 +119,8 @@
SYSCALL_ENTRY( NtGdiRectangle ) \
SYSCALL_ENTRY( NtGdiRemoveFontMemResourceEx ) \
SYSCALL_ENTRY( NtGdiRemoveFontResourceW ) \
SYSCALL_ENTRY( NtGdiResetDC ) \
SYSCALL_ENTRY( NtGdiRestoreDC ) \
SYSCALL_ENTRY( NtGdiRoundRect ) \
SYSCALL_ENTRY( NtGdiSaveDC ) \
SYSCALL_ENTRY( NtGdiScaleViewportExtEx ) \
......@@ -144,6 +148,7 @@
SYSCALL_ENTRY( NtGdiSwapBuffers ) \
SYSCALL_ENTRY( NtGdiTransformPoints ) \
SYSCALL_ENTRY( NtGdiTransparentBlt ) \
SYSCALL_ENTRY( NtGdiUpdateColors ) \
SYSCALL_ENTRY( NtGdiWidenPath ) \
SYSCALL_ENTRY( NtUserActivateKeyboardLayout ) \
SYSCALL_ENTRY( NtUserAddClipboardFormatListener ) \
......
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