From: Fan WenJie fanwj@mail.ustc.edu.cn
Signed-off-by: Fan WenJie fanwj@mail.ustc.edu.cn --- dlls/win32u/Makefile.in | 2 +- dlls/win32u/gdiobj.c | 133 +--- dlls/win32u/main.c | 9 +- dlls/win32u/syscall.c | 1081 +++++++++++++++++++++++++- dlls/win32u/win32u_private.h | 1385 +++++++++++++++++++++++++++++----- dlls/win32u/wrappers.c | 790 +++++-------------- 6 files changed, 2472 insertions(+), 928 deletions(-)
diff --git a/dlls/win32u/Makefile.in b/dlls/win32u/Makefile.in index 7274f132fa5..06bb005368f 100644 --- a/dlls/win32u/Makefile.in +++ b/dlls/win32u/Makefile.in @@ -6,7 +6,7 @@ IMPORTS = ntdll winecrt0 UNIX_CFLAGS = $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) UNIX_LIBS = $(CARBON_LIBS) $(APPKIT_LIBS) $(PTHREAD_LIBS) -lm
-EXTRADLLFLAGS = -nodefaultlibs -Wb,--syscall-table,1 +EXTRADLLFLAGS = -Wb,--syscall-table,1
C_SRCS = \ bitblt.c \ diff --git a/dlls/win32u/gdiobj.c b/dlls/win32u/gdiobj.c index f88efbaa679..c02b7f56f64 100644 --- a/dlls/win32u/gdiobj.c +++ b/dlls/win32u/gdiobj.c @@ -1027,131 +1027,6 @@ BOOL WINAPI NtGdiSetColorAdjustment( HDC hdc, const COLORADJUSTMENT *ca ) return FALSE; }
- -static struct unix_funcs unix_funcs = -{ - NtGdiAbortDoc, - NtGdiAbortPath, - NtGdiAlphaBlend, - NtGdiAngleArc, - NtGdiArcInternal, - NtGdiBeginPath, - NtGdiBitBlt, - NtGdiCloseFigure, - NtGdiComputeXformCoefficients, - NtGdiCreateCompatibleBitmap, - NtGdiCreateCompatibleDC, - NtGdiCreateDIBitmapInternal, - NtGdiCreateMetafileDC, - NtGdiDdDDICheckVidPnExclusiveOwnership, - NtGdiDdDDICloseAdapter, - NtGdiDdDDICreateDCFromMemory, - NtGdiDdDDIDestroyDCFromMemory, - NtGdiDdDDIDestroyDevice, - NtGdiDdDDIEscape, - NtGdiDdDDIOpenAdapterFromDeviceName, - NtGdiDdDDIOpenAdapterFromLuid, - NtGdiDdDDIQueryVideoMemoryInfo, - NtGdiDdDDISetVidPnSourceOwner, - NtGdiDeleteObjectApp, - NtGdiDoPalette, - NtGdiEllipse, - NtGdiEndDoc, - NtGdiEndPath, - NtGdiEndPage, - NtGdiEnumFonts, - NtGdiExcludeClipRect, - NtGdiExtEscape, - NtGdiExtFloodFill, - NtGdiExtTextOutW, - NtGdiExtSelectClipRgn, - NtGdiFillPath, - NtGdiFillRgn, - NtGdiFontIsLinked, - NtGdiFrameRgn, - NtGdiGetAndSetDCDword, - NtGdiGetAppClipBox, - NtGdiGetBoundsRect, - NtGdiGetCharABCWidthsW, - NtGdiGetCharWidthW, - NtGdiGetCharWidthInfo, - NtGdiGetDIBitsInternal, - NtGdiGetDeviceCaps, - NtGdiGetDeviceGammaRamp, - NtGdiGetFontData, - NtGdiGetFontUnicodeRanges, - NtGdiGetGlyphIndicesW, - NtGdiGetGlyphOutline, - NtGdiGetKerningPairs, - NtGdiGetNearestColor, - NtGdiGetOutlineTextMetricsInternalW, - NtGdiGetPixel, - NtGdiGetRandomRgn, - NtGdiGetRasterizerCaps, - NtGdiGetRealizationInfo, - NtGdiGetTextCharsetInfo, - NtGdiGetTextExtentExW, - NtGdiGetTextFaceW, - NtGdiGetTextMetricsW, - NtGdiGradientFill, - NtGdiIntersectClipRect, - NtGdiInvertRgn, - NtGdiLineTo, - NtGdiMaskBlt, - NtGdiModifyWorldTransform, - NtGdiMoveTo, - NtGdiOffsetClipRgn, - NtGdiOpenDCW, - NtGdiPatBlt, - NtGdiPlgBlt, - NtGdiPolyDraw, - NtGdiPolyPolyDraw, - NtGdiPtVisible, - NtGdiRectVisible, - NtGdiRectangle, - NtGdiResetDC, - NtGdiResizePalette, - NtGdiRestoreDC, - NtGdiRoundRect, - NtGdiScaleViewportExtEx, - NtGdiScaleWindowExtEx, - NtGdiSelectBitmap, - NtGdiSelectBrush, - NtGdiSelectClipPath, - NtGdiSelectFont, - NtGdiSelectPen, - NtGdiSetBoundsRect, - NtGdiSetDIBitsToDeviceInternal, - NtGdiSetDeviceGammaRamp, - NtGdiSetLayout, - NtGdiSetPixel, - NtGdiSetSystemPaletteUse, - NtGdiStartDoc, - NtGdiStartPage, - NtGdiStretchBlt, - NtGdiStretchDIBitsInternal, - NtGdiStrokeAndFillPath, - NtGdiStrokePath, - NtGdiTransparentBlt, - NtGdiUnrealizeObject, - NtGdiUpdateColors, - NtGdiWidenPath, - NtUserDrawCaptionTemp, - NtUserDrawMenuBarTemp, - NtUserEndPaint, - NtUserExcludeUpdateRgn, - NtUserReleaseDC, - NtUserScrollDC, - NtUserSelectPalette, - NtUserUpdateLayeredWindow, - - SetDIBits, - __wine_get_brush_bitmap_info, - __wine_get_file_outline_text_metric, - __wine_get_icm_profile, - __wine_send_input, -}; - void gdi_init(void) { pthread_mutexattr_t attr; @@ -1168,10 +1043,4 @@ void gdi_init(void)
dpi = font_init(); init_stock_objects( dpi ); -} - -NTSTATUS callbacks_init( void *args ) -{ - *(const struct unix_funcs **)args = &unix_funcs; - return 0; -} +} \ No newline at end of file diff --git a/dlls/win32u/main.c b/dlls/win32u/main.c index 3d6a9c2d038..16e2513c661 100644 --- a/dlls/win32u/main.c +++ b/dlls/win32u/main.c @@ -29,9 +29,6 @@ #include "wine/unixlib.h"
extern void *__wine_syscall_dispatcher DECLSPEC_HIDDEN; - -static unixlib_handle_t win32u_handle; - void __cdecl __wine_spec_unimplemented_stub( const char *module, const char *function ) { EXCEPTION_RECORD record; @@ -53,11 +50,9 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, void *reserved ) case DLL_PROCESS_ATTACH: LdrDisableThreadCalloutsForDll( inst ); if (__wine_syscall_dispatcher) break; /* already set through Wow64Transition */ - if (!NtQueryVirtualMemory( GetCurrentProcess(), inst, MemoryWineUnixFuncs, - &win32u_handle, sizeof(win32u_handle), NULL )) + if (!__wine_init_unix_call()) { - __wine_unix_call( win32u_handle, 0, &__wine_syscall_dispatcher ); - wrappers_init( win32u_handle ); + WINE_UNIX_CALL(0, &__wine_syscall_dispatcher ); } break; } diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c index 9020aa01126..08a2135a2a6 100644 --- a/dlls/win32u/syscall.c +++ b/dlls/win32u/syscall.c @@ -332,12 +332,965 @@ static NTSTATUS init( void *dispatcher ) return ntdll_init_syscalls( 1, &syscall_table, dispatcher ); }
-unixlib_entry_t __wine_unix_call_funcs[] = +static NTSTATUS win32u_NtGdiAbortDoc(void* args) { - init, - callbacks_init, + struct NtGdiAbortDoc_params* params = (typeof(params))args; + params->$result = NtGdiAbortDoc( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiAbortPath(void* args) +{ + struct NtGdiAbortPath_params* params = (typeof(params))args; + params->$result = NtGdiAbortPath( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiAlphaBlend(void* args) +{ + struct NtGdiAlphaBlend_params* params = (typeof(params))args; + params->$result = NtGdiAlphaBlend( params->hdc_dst, params->x_dst, params->y_dst, params->width_dst, params->height_dst, params->hdc_src, params->x_src, params->y_src, params->width_src, params->height_src, params->blend_function, params->xform); + return 0; +} + +static NTSTATUS win32u_NtGdiAngleArc(void* args) +{ + struct NtGdiAngleArc_params* params = (typeof(params))args; + params->$result = NtGdiAngleArc( params->hdc, params->x, params->y, params->radius, params->start_angle, params->sweep_angle); + return 0; +} + +static NTSTATUS win32u_NtGdiArcInternal(void* args) +{ + struct NtGdiArcInternal_params* params = (typeof(params))args; + params->$result = NtGdiArcInternal( params->type, params->hdc, params->left, params->top, params->right, params->bottom, params->xstart, params->ystart, params->xend, params->yend); + return 0; +} + +static NTSTATUS win32u_NtGdiBeginPath(void* args) +{ + struct NtGdiBeginPath_params* params = (typeof(params))args; + params->$result = NtGdiBeginPath( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiBitBlt(void* args) +{ + struct NtGdiBitBlt_params* params = (typeof(params))args; + params->$result = NtGdiBitBlt( params->hdc_dst, params->x_dst, params->y_dst, params->width, params->height, params->hdc_src, params->x_src, params->y_src, params->rop, params->bk_color, params->fl); + return 0; +} + +static NTSTATUS win32u_NtGdiCloseFigure(void* args) +{ + struct NtGdiCloseFigure_params* params = (typeof(params))args; + params->$result = NtGdiCloseFigure( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiComputeXformCoefficients(void* args) +{ + struct NtGdiComputeXformCoefficients_params* params = (typeof(params))args; + params->$result = NtGdiComputeXformCoefficients( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiCreateCompatibleBitmap(void* args) +{ + struct NtGdiCreateCompatibleBitmap_params* params = (typeof(params))args; + params->$result = NtGdiCreateCompatibleBitmap( params->hdc, params->width, params->height); + return 0; +} + +static NTSTATUS win32u_NtGdiCreateCompatibleDC(void* args) +{ + struct NtGdiCreateCompatibleDC_params* params = (typeof(params))args; + params->$result = NtGdiCreateCompatibleDC( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiCreateDIBitmapInternal(void* args) +{ + struct NtGdiCreateDIBitmapInternal_params* params = (typeof(params))args; + params->$result = NtGdiCreateDIBitmapInternal( params->hdc, params->width, params->height, params->init, params->bits, params->data, params->coloruse, params->max_info, params->max_bits, params->flags, params->xform); + return 0; +} + +static NTSTATUS win32u_NtGdiCreateMetafileDC(void* args) +{ + struct NtGdiCreateMetafileDC_params* params = (typeof(params))args; + params->$result = NtGdiCreateMetafileDC( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiDdDDICheckVidPnExclusiveOwnership(void* args) +{ + struct NtGdiDdDDICheckVidPnExclusiveOwnership_params* params = (typeof(params))args; + params->$result = NtGdiDdDDICheckVidPnExclusiveOwnership( params->desc); + return 0; +} + +static NTSTATUS win32u_NtGdiDdDDICloseAdapter(void* args) +{ + struct NtGdiDdDDICloseAdapter_params* params = (typeof(params))args; + params->$result = NtGdiDdDDICloseAdapter( params->desc); + return 0; +} + +static NTSTATUS win32u_NtGdiDdDDICreateDCFromMemory(void* args) +{ + struct NtGdiDdDDICreateDCFromMemory_params* params = (typeof(params))args; + params->$result = NtGdiDdDDICreateDCFromMemory( params->desc); + return 0; +} + +static NTSTATUS win32u_NtGdiDdDDIDestroyDCFromMemory(void* args) +{ + struct NtGdiDdDDIDestroyDCFromMemory_params* params = (typeof(params))args; + params->$result = NtGdiDdDDIDestroyDCFromMemory( params->desc); + return 0; +} + +static NTSTATUS win32u_NtGdiDdDDIDestroyDevice(void* args) +{ + struct NtGdiDdDDIDestroyDevice_params* params = (typeof(params))args; + params->$result = NtGdiDdDDIDestroyDevice( params->desc); + return 0; +} + +static NTSTATUS win32u_NtGdiDdDDIEscape(void* args) +{ + struct NtGdiDdDDIEscape_params* params = (typeof(params))args; + params->$result = NtGdiDdDDIEscape( params->desc); + return 0; +} + +static NTSTATUS win32u_NtGdiDdDDIOpenAdapterFromDeviceName(void* args) +{ + struct NtGdiDdDDIOpenAdapterFromDeviceName_params* params = (typeof(params))args; + params->$result = NtGdiDdDDIOpenAdapterFromDeviceName( params->desc); + return 0; +} + +static NTSTATUS win32u_NtGdiDdDDIOpenAdapterFromLuid(void* args) +{ + struct NtGdiDdDDIOpenAdapterFromLuid_params* params = (typeof(params))args; + params->$result = NtGdiDdDDIOpenAdapterFromLuid( params->desc); + return 0; +} + +static NTSTATUS win32u_NtGdiDdDDIQueryVideoMemoryInfo(void* args) +{ + struct NtGdiDdDDIQueryVideoMemoryInfo_params* params = (typeof(params))args; + params->$result = NtGdiDdDDIQueryVideoMemoryInfo( params->desc); + return 0; +} + +static NTSTATUS win32u_NtGdiDdDDISetVidPnSourceOwner(void* args) +{ + struct NtGdiDdDDISetVidPnSourceOwner_params* params = (typeof(params))args; + params->$result = NtGdiDdDDISetVidPnSourceOwner( params->desc); + return 0; +} + +static NTSTATUS win32u_NtGdiDeleteObjectApp(void* args) +{ + struct NtGdiDeleteObjectApp_params* params = (typeof(params))args; + params->$result = NtGdiDeleteObjectApp( params->obj); + return 0; +} + +static NTSTATUS win32u_NtGdiDoPalette(void* args) +{ + struct NtGdiDoPalette_params* params = (typeof(params))args; + params->$result = NtGdiDoPalette( params->handle, params->start, params->count, params->entries, params->func, params->inbound); + return 0; +} + +static NTSTATUS win32u_NtGdiEllipse(void* args) +{ + struct NtGdiEllipse_params* params = (typeof(params))args; + params->$result = NtGdiEllipse( params->hdc, params->left, params->top, params->right, params->bottom); + return 0; +} + +static NTSTATUS win32u_NtGdiEndDoc(void* args) +{ + struct NtGdiEndDoc_params* params = (typeof(params))args; + params->$result = NtGdiEndDoc( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiEndPath(void* args) +{ + struct NtGdiEndPath_params* params = (typeof(params))args; + params->$result = NtGdiEndPath( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiEndPage(void* args) +{ + struct NtGdiEndPage_params* params = (typeof(params))args; + params->$result = NtGdiEndPage( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiEnumFonts(void* args) +{ + struct NtGdiEnumFonts_params* params = (typeof(params))args; + params->$result = NtGdiEnumFonts( params->hdc, params->type, params->win32_compat, params->face_name_len, params->face_name, params->charset, params->count, params->buf); + return 0; +} + +static NTSTATUS win32u_NtGdiExcludeClipRect(void* args) +{ + struct NtGdiExcludeClipRect_params* params = (typeof(params))args; + params->$result = NtGdiExcludeClipRect( params->hdc, params->left, params->top, params->right, params->bottom); + return 0; +} + +static NTSTATUS win32u_NtGdiExtEscape(void* args) +{ + struct NtGdiExtEscape_params* params = (typeof(params))args; + params->$result = NtGdiExtEscape( params->hdc, params->driver, params->driver_id, params->escape, params->input_size, params->input, params->output_size, params->output); + return 0; +} + +static NTSTATUS win32u_NtGdiExtFloodFill(void* args) +{ + struct NtGdiExtFloodFill_params* params = (typeof(params))args; + params->$result = NtGdiExtFloodFill( params->hdc, params->x, params->y, params->color, params->type); + return 0; +} + +static NTSTATUS win32u_NtGdiExtTextOutW(void* args) +{ + struct NtGdiExtTextOutW_params* params = (typeof(params))args; + params->$result = NtGdiExtTextOutW( params->hdc, params->x, params->y, params->flags, params->rect, params->str, params->count, params->dx, params->cp); + return 0; +} + +static NTSTATUS win32u_NtGdiExtSelectClipRgn(void* args) +{ + struct NtGdiExtSelectClipRgn_params* params = (typeof(params))args; + params->$result = NtGdiExtSelectClipRgn( params->hdc, params->region, params->mode); + return 0; +} + +static NTSTATUS win32u_NtGdiFillPath(void* args) +{ + struct NtGdiFillPath_params* params = (typeof(params))args; + params->$result = NtGdiFillPath( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiFillRgn(void* args) +{ + struct NtGdiFillRgn_params* params = (typeof(params))args; + params->$result = NtGdiFillRgn( params->hdc, params->hrgn, params->hbrush); + return 0; +} + +static NTSTATUS win32u_NtGdiFontIsLinked(void* args) +{ + struct NtGdiFontIsLinked_params* params = (typeof(params))args; + params->$result = NtGdiFontIsLinked( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiFrameRgn(void* args) +{ + struct NtGdiFrameRgn_params* params = (typeof(params))args; + params->$result = NtGdiFrameRgn( params->hdc, params->hrgn, params->brush, params->width, params->height); + return 0; +} + +static NTSTATUS win32u_NtGdiGetAndSetDCDword(void* args) +{ + struct NtGdiGetAndSetDCDword_params* params = (typeof(params))args; + params->$result = NtGdiGetAndSetDCDword( params->hdc, params->method, params->value, params->result); + return 0; +} + +static NTSTATUS win32u_NtGdiGetAppClipBox(void* args) +{ + struct NtGdiGetAppClipBox_params* params = (typeof(params))args; + params->$result = NtGdiGetAppClipBox( params->hdc, params->rect); + return 0; +} + +static NTSTATUS win32u_NtGdiGetBoundsRect(void* args) +{ + struct NtGdiGetBoundsRect_params* params = (typeof(params))args; + params->$result = NtGdiGetBoundsRect( params->hdc, params->rect, params->flags); + return 0; +} + +static NTSTATUS win32u_NtGdiGetCharABCWidthsW(void* args) +{ + struct NtGdiGetCharABCWidthsW_params* params = (typeof(params))args; + params->$result = NtGdiGetCharABCWidthsW( params->hdc, params->first, params->last, params->chars, params->flags, params->buffer); + return 0; +} + +static NTSTATUS win32u_NtGdiGetCharWidthW(void* args) +{ + struct NtGdiGetCharWidthW_params* params = (typeof(params))args; + params->$result = NtGdiGetCharWidthW( params->hdc, params->first_char, params->last_char, params->chars, params->flags, params->buffer); + return 0; +} + +static NTSTATUS win32u_NtGdiGetCharWidthInfo(void* args) +{ + struct NtGdiGetCharWidthInfo_params* params = (typeof(params))args; + params->$result = NtGdiGetCharWidthInfo( params->hdc, params->info); + return 0; +} + +static NTSTATUS win32u_NtGdiGetDIBitsInternal(void* args) +{ + struct NtGdiGetDIBitsInternal_params* params = (typeof(params))args; + params->$result = NtGdiGetDIBitsInternal( params->hdc, params->hbitmap, params->startscan, params->lines, params->bits, params->info, params->coloruse, params->max_bits, params->max_info); + return 0; +} + +static NTSTATUS win32u_NtGdiGetDeviceCaps(void* args) +{ + struct NtGdiGetDeviceCaps_params* params = (typeof(params))args; + params->$result = NtGdiGetDeviceCaps( params->hdc, params->cap); + return 0; +} + +static NTSTATUS win32u_NtGdiGetDeviceGammaRamp(void* args) +{ + struct NtGdiGetDeviceGammaRamp_params* params = (typeof(params))args; + params->$result = NtGdiGetDeviceGammaRamp( params->hdc, params->ptr); + return 0; +} + +static NTSTATUS win32u_NtGdiGetFontData(void* args) +{ + struct NtGdiGetFontData_params* params = (typeof(params))args; + params->$result = NtGdiGetFontData( params->hdc, params->table, params->offset, params->buffer, params->length); + return 0; +} + +static NTSTATUS win32u_NtGdiGetFontUnicodeRanges(void* args) +{ + struct NtGdiGetFontUnicodeRanges_params* params = (typeof(params))args; + params->$result = NtGdiGetFontUnicodeRanges( params->hdc, params->lpgs); + return 0; +} + +static NTSTATUS win32u_NtGdiGetGlyphIndicesW(void* args) +{ + struct NtGdiGetGlyphIndicesW_params* params = (typeof(params))args; + params->$result = NtGdiGetGlyphIndicesW( params->hdc, params->str, params->count, params->indices, params->flags); + return 0; +} + +static NTSTATUS win32u_NtGdiGetGlyphOutline(void* args) +{ + struct NtGdiGetGlyphOutline_params* params = (typeof(params))args; + params->$result = NtGdiGetGlyphOutline( params->hdc, params->ch, params->format, params->metrics, params->size, params->buffer, params->mat2, params->ignore_rotation); + return 0; +} + +static NTSTATUS win32u_NtGdiGetKerningPairs(void* args) +{ + struct NtGdiGetKerningPairs_params* params = (typeof(params))args; + params->$result = NtGdiGetKerningPairs( params->hdc, params->count, params->kern_pair); + return 0; +} + +static NTSTATUS win32u_NtGdiGetNearestColor(void* args) +{ + struct NtGdiGetNearestColor_params* params = (typeof(params))args; + params->$result = NtGdiGetNearestColor( params->hdc, params->color); + return 0; +} + +static NTSTATUS win32u_NtGdiGetOutlineTextMetricsInternalW(void* args) +{ + struct NtGdiGetOutlineTextMetricsInternalW_params* params = (typeof(params))args; + params->$result = NtGdiGetOutlineTextMetricsInternalW( params->hdc, params->cbData, params->otm, params->opts); + return 0; +} + +static NTSTATUS win32u_NtGdiGetPixel(void* args) +{ + struct NtGdiGetPixel_params* params = (typeof(params))args; + params->$result = NtGdiGetPixel( params->hdc, params->x, params->y); + return 0; +} + +static NTSTATUS win32u_NtGdiGetRandomRgn(void* args) +{ + struct NtGdiGetRandomRgn_params* params = (typeof(params))args; + params->$result = NtGdiGetRandomRgn( params->hdc, params->region, params->code); + return 0; +} + +static NTSTATUS win32u_NtGdiGetRasterizerCaps(void* args) +{ + struct NtGdiGetRasterizerCaps_params* params = (typeof(params))args; + params->$result = NtGdiGetRasterizerCaps( params->status, params->size); + return 0; +} + +static NTSTATUS win32u_NtGdiGetRealizationInfo(void* args) +{ + struct NtGdiGetRealizationInfo_params* params = (typeof(params))args; + params->$result = NtGdiGetRealizationInfo( params->hdc, params->info); + return 0; +} + +static NTSTATUS win32u_NtGdiGetTextCharsetInfo(void* args) +{ + struct NtGdiGetTextCharsetInfo_params* params = (typeof(params))args; + params->$result = NtGdiGetTextCharsetInfo( params->hdc, params->fs, params->flags); + return 0; +} + +static NTSTATUS win32u_NtGdiGetTextExtentExW(void* args) +{ + struct NtGdiGetTextExtentExW_params* params = (typeof(params))args; + params->$result = NtGdiGetTextExtentExW( params->hdc, params->str, params->count, params->max_ext, params->nfit, params->dxs, params->size, params->flags); + return 0; +} + +static NTSTATUS win32u_NtGdiGetTextFaceW(void* args) +{ + struct NtGdiGetTextFaceW_params* params = (typeof(params))args; + params->$result = NtGdiGetTextFaceW( params->hdc, params->count, params->name, params->alias_name); + return 0; +} + +static NTSTATUS win32u_NtGdiGetTextMetricsW(void* args) +{ + struct NtGdiGetTextMetricsW_params* params = (typeof(params))args; + params->$result = NtGdiGetTextMetricsW( params->hdc, params->metrics, params->flags); + return 0; +} + +static NTSTATUS win32u_NtGdiGradientFill(void* args) +{ + struct NtGdiGradientFill_params* params = (typeof(params))args; + params->$result = NtGdiGradientFill( params->hdc, params->vert_array, params->nvert, params->grad_array, params->ngrad, params->mode); + return 0; +} + +static NTSTATUS win32u_NtGdiIntersectClipRect(void* args) +{ + struct NtGdiIntersectClipRect_params* params = (typeof(params))args; + params->$result = NtGdiIntersectClipRect( params->hdc, params->left, params->top, params->right, params->bottom); + return 0; +} + +static NTSTATUS win32u_NtGdiInvertRgn(void* args) +{ + struct NtGdiInvertRgn_params* params = (typeof(params))args; + params->$result = NtGdiInvertRgn( params->hdc, params->hrgn); + return 0; +} + +static NTSTATUS win32u_NtGdiLineTo(void* args) +{ + struct NtGdiLineTo_params* params = (typeof(params))args; + params->$result = NtGdiLineTo( params->hdc, params->x, params->y); + return 0; +} + +static NTSTATUS win32u_NtGdiMaskBlt(void* args) +{ + struct NtGdiMaskBlt_params* params = (typeof(params))args; + params->$result = NtGdiMaskBlt( params->hdc, params->x_dst, params->y_dst, params->width_dst, params->height_dst, params->hdc_src, params->x_src, params->y_src, params->mask, params->x_mask, params->y_mask, params->rop, params->bk_color); + return 0; +} + +static NTSTATUS win32u_NtGdiModifyWorldTransform(void* args) +{ + struct NtGdiModifyWorldTransform_params* params = (typeof(params))args; + params->$result = NtGdiModifyWorldTransform( params->hdc, params->xform, params->mode); + return 0; +} + +static NTSTATUS win32u_NtGdiMoveTo(void* args) +{ + struct NtGdiMoveTo_params* params = (typeof(params))args; + params->$result = NtGdiMoveTo( params->hdc, params->x, params->y, params->pt); + return 0; +} + +static NTSTATUS win32u_NtGdiOffsetClipRgn(void* args) +{ + struct NtGdiOffsetClipRgn_params* params = (typeof(params))args; + params->$result = NtGdiOffsetClipRgn( params->hdc, params->x, params->y); + return 0; +} + +static NTSTATUS win32u_NtGdiOpenDCW(void* args) +{ + struct NtGdiOpenDCW_params* params = (typeof(params))args; + params->$result = NtGdiOpenDCW( params->device, params->devmode, params->output, params->type, params->is_display, params->hspool, params->driver_info, params->pdev); + return 0; +} + +static NTSTATUS win32u_NtGdiPatBlt(void* args) +{ + struct NtGdiPatBlt_params* params = (typeof(params))args; + params->$result = NtGdiPatBlt( params->hdc, params->left, params->top, params->width, params->height, params->rop); + return 0; +} + +static NTSTATUS win32u_NtGdiPlgBlt(void* args) +{ + struct NtGdiPlgBlt_params* params = (typeof(params))args; + params->$result = NtGdiPlgBlt( params->hdc, params->point, params->hdc_src, params->x_src, params->y_src, params->width, params->height, params->mask, params->x_mask, params->y_mask, params->bk_color); + return 0; +} + +static NTSTATUS win32u_NtGdiPolyDraw(void* args) +{ + struct NtGdiPolyDraw_params* params = (typeof(params))args; + params->$result = NtGdiPolyDraw( params->hdc, params->points, params->types, params->count); + return 0; +} + +static NTSTATUS win32u_NtGdiPolyPolyDraw(void* args) +{ + struct NtGdiPolyPolyDraw_params* params = (typeof(params))args; + params->$result = NtGdiPolyPolyDraw( params->hdc, params->points, params->counts, params->count, params->function); + return 0; +} + +static NTSTATUS win32u_NtGdiPtVisible(void* args) +{ + struct NtGdiPtVisible_params* params = (typeof(params))args; + params->$result = NtGdiPtVisible( params->hdc, params->x, params->y); + return 0; +} + +static NTSTATUS win32u_NtGdiRectVisible(void* args) +{ + struct NtGdiRectVisible_params* params = (typeof(params))args; + params->$result = NtGdiRectVisible( params->hdc, params->rect); + return 0; +} + +static NTSTATUS win32u_NtGdiRectangle(void* args) +{ + struct NtGdiRectangle_params* params = (typeof(params))args; + params->$result = NtGdiRectangle( params->hdc, params->left, params->top, params->right, params->bottom); + return 0; +} + +static NTSTATUS win32u_NtGdiResetDC(void* args) +{ + struct NtGdiResetDC_params* params = (typeof(params))args; + params->$result = NtGdiResetDC( params->hdc, params->devmode, params->banding, params->driver_info, params->dev); + return 0; +} + +static NTSTATUS win32u_NtGdiResizePalette(void* args) +{ + struct NtGdiResizePalette_params* params = (typeof(params))args; + params->$result = NtGdiResizePalette( params->palette, params->count); + return 0; +} + +static NTSTATUS win32u_NtGdiRestoreDC(void* args) +{ + struct NtGdiRestoreDC_params* params = (typeof(params))args; + params->$result = NtGdiRestoreDC( params->hdc, params->level); + return 0; +} + +static NTSTATUS win32u_NtGdiRoundRect(void* args) +{ + struct NtGdiRoundRect_params* params = (typeof(params))args; + params->$result = NtGdiRoundRect( params->hdc, params->left, params->top, params->right, params->bottom, params->ell_width, params->ell_height); + return 0; +} + +static NTSTATUS win32u_NtGdiScaleViewportExtEx(void* args) +{ + struct NtGdiScaleViewportExtEx_params* params = (typeof(params))args; + params->$result = NtGdiScaleViewportExtEx( params->hdc, params->x_num, params->x_denom, params->y_num, params->y_denom, params->size); + return 0; +} + +static NTSTATUS win32u_NtGdiScaleWindowExtEx(void* args) +{ + struct NtGdiScaleWindowExtEx_params* params = (typeof(params))args; + params->$result = NtGdiScaleWindowExtEx( params->hdc, params->x_num, params->x_denom, params->y_num, params->y_denom, params->size); + return 0; +} + +static NTSTATUS win32u_NtGdiSelectBitmap(void* args) +{ + struct NtGdiSelectBitmap_params* params = (typeof(params))args; + params->$result = NtGdiSelectBitmap( params->hdc, params->handle); + return 0; +} + +static NTSTATUS win32u_NtGdiSelectBrush(void* args) +{ + struct NtGdiSelectBrush_params* params = (typeof(params))args; + params->$result = NtGdiSelectBrush( params->hdc, params->handle); + return 0; +} + +static NTSTATUS win32u_NtGdiSelectClipPath(void* args) +{ + struct NtGdiSelectClipPath_params* params = (typeof(params))args; + params->$result = NtGdiSelectClipPath( params->hdc, params->mode); + return 0; +} + +static NTSTATUS win32u_NtGdiSelectFont(void* args) +{ + struct NtGdiSelectFont_params* params = (typeof(params))args; + params->$result = NtGdiSelectFont( params->hdc, params->handle); + return 0; +} + +static NTSTATUS win32u_NtGdiSelectPen(void* args) +{ + struct NtGdiSelectPen_params* params = (typeof(params))args; + params->$result = NtGdiSelectPen( params->hdc, params->handle); + return 0; +} + +static NTSTATUS win32u_NtGdiSetBoundsRect(void* args) +{ + struct NtGdiSetBoundsRect_params* params = (typeof(params))args; + params->$result = NtGdiSetBoundsRect( params->hdc, params->rect, params->flags); + return 0; +} + +static NTSTATUS win32u_NtGdiSetDIBitsToDeviceInternal(void* args) +{ + struct NtGdiSetDIBitsToDeviceInternal_params* params = (typeof(params))args; + params->$result = NtGdiSetDIBitsToDeviceInternal( params->hdc, params->x_dst, params->y_dst, params->cx, params->cy, params->x_src, params->y_src, params->startscan, params->lines, params->bits, params->bmi, params->coloruse, params->max_bits, params->max_info, params->xform_coords, params->xform); + return 0; +} + +static NTSTATUS win32u_NtGdiSetDeviceGammaRamp(void* args) +{ + struct NtGdiSetDeviceGammaRamp_params* params = (typeof(params))args; + params->$result = NtGdiSetDeviceGammaRamp( params->hdc, params->ptr); + return 0; +} + +static NTSTATUS win32u_NtGdiSetLayout(void* args) +{ + struct NtGdiSetLayout_params* params = (typeof(params))args; + params->$result = NtGdiSetLayout( params->hdc, params->wox, params->layout); + return 0; +} + +static NTSTATUS win32u_NtGdiSetPixel(void* args) +{ + struct NtGdiSetPixel_params* params = (typeof(params))args; + params->$result = NtGdiSetPixel( params->hdc, params->x, params->y, params->color); + return 0; +} + +static NTSTATUS win32u_NtGdiSetSystemPaletteUse(void* args) +{ + struct NtGdiSetSystemPaletteUse_params* params = (typeof(params))args; + params->$result = NtGdiSetSystemPaletteUse( params->hdc, params->use); + return 0; +} + +static NTSTATUS win32u_NtGdiStartDoc(void* args) +{ + struct NtGdiStartDoc_params* params = (typeof(params))args; + params->$result = NtGdiStartDoc( params->hdc, params->doc, params->banding, params->job); + return 0; +} + +static NTSTATUS win32u_NtGdiStartPage(void* args) +{ + struct NtGdiStartPage_params* params = (typeof(params))args; + params->$result = NtGdiStartPage( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiStretchBlt(void* args) +{ + struct NtGdiStretchBlt_params* params = (typeof(params))args; + params->$result = NtGdiStretchBlt( params->hdc, params->x_dst, params->y_dst, params->width_dst, params->height_dst, params->hdc_src, params->x_src, params->y_src, params->width_src, params->height_src, params->rop, params->bk_color); + return 0; +} + +static NTSTATUS win32u_NtGdiStretchDIBitsInternal(void* args) +{ + struct NtGdiStretchDIBitsInternal_params* params = (typeof(params))args; + params->$result = NtGdiStretchDIBitsInternal( params->hdc, params->x_dst, params->y_dst, params->width_dst, params->height_dst, params->x_src, params->y_src, params->width_src, params->height_src, params->bits, params->bmi, params->coloruse, params->rop, params->max_info, params->max_bits, params->xform); + return 0; +} + +static NTSTATUS win32u_NtGdiStrokeAndFillPath(void* args) +{ + struct NtGdiStrokeAndFillPath_params* params = (typeof(params))args; + params->$result = NtGdiStrokeAndFillPath( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiStrokePath(void* args) +{ + struct NtGdiStrokePath_params* params = (typeof(params))args; + params->$result = NtGdiStrokePath( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiTransparentBlt(void* args) +{ + struct NtGdiTransparentBlt_params* params = (typeof(params))args; + params->$result = NtGdiTransparentBlt( params->hdc, params->x_dst, params->y_dst, params->width_dst, params->height_dst, params->hdc_src, params->x_src, params->y_src, params->width_src, params->height_src, params->color); + return 0; +} + +static NTSTATUS win32u_NtGdiUnrealizeObject(void* args) +{ + struct NtGdiUnrealizeObject_params* params = (typeof(params))args; + params->$result = NtGdiUnrealizeObject( params->obj); + return 0; +} + +static NTSTATUS win32u_NtGdiUpdateColors(void* args) +{ + struct NtGdiUpdateColors_params* params = (typeof(params))args; + params->$result = NtGdiUpdateColors( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtGdiWidenPath(void* args) +{ + struct NtGdiWidenPath_params* params = (typeof(params))args; + params->$result = NtGdiWidenPath( params->hdc); + return 0; +} + +static NTSTATUS win32u_NtUserDrawCaptionTemp(void* args) +{ + struct NtUserDrawCaptionTemp_params* params = (typeof(params))args; + params->$result = NtUserDrawCaptionTemp( params->hwnd, params->hdc, params->rect, params->font, params->icon, params->str, params->flags); + return 0; +} + +static NTSTATUS win32u_NtUserDrawMenuBarTemp(void* args) +{ + struct NtUserDrawMenuBarTemp_params* params = (typeof(params))args; + params->$result = NtUserDrawMenuBarTemp( params->hwnd, params->hdc, params->rect, params->handle, params->font); + return 0; +} + +static NTSTATUS win32u_NtUserEndPaint(void* args) +{ + struct NtUserEndPaint_params* params = (typeof(params))args; + params->$result = NtUserEndPaint( params->hwnd, params->ps); + return 0; +} + +static NTSTATUS win32u_NtUserExcludeUpdateRgn(void* args) +{ + struct NtUserExcludeUpdateRgn_params* params = (typeof(params))args; + params->$result = NtUserExcludeUpdateRgn( params->hdc, params->hwnd); + return 0; +} + +static NTSTATUS win32u_NtUserReleaseDC(void* args) +{ + struct NtUserReleaseDC_params* params = (typeof(params))args; + params->$result = NtUserReleaseDC( params->hwnd, params->hdc); + return 0; +} + +static NTSTATUS win32u_NtUserScrollDC(void* args) +{ + struct NtUserScrollDC_params* params = (typeof(params))args; + params->$result = NtUserScrollDC( params->hdc, params->dx, params->dy, params->scroll, params->clip, params->ret_update_rgn, params->update_rect); + return 0; +} + +static NTSTATUS win32u_NtUserSelectPalette(void* args) +{ + struct NtUserSelectPalette_params* params = (typeof(params))args; + params->$result = NtUserSelectPalette( params->hdc, params->hpal, params->bkg); + return 0; +} + +static NTSTATUS win32u_NtUserUpdateLayeredWindow(void* args) +{ + struct NtUserUpdateLayeredWindow_params* params = (typeof(params))args; + params->$result = NtUserUpdateLayeredWindow( params->hwnd, params->hdc_dst, params->pts_dst, params->size, params->hdc_src, params->pts_src, params->key, params->blend, params->flags, params->dirty); + return 0; +} + +static NTSTATUS win32u_SetDIBits(void* args) +{ + struct SetDIBits_params* params = (typeof(params))args; + params->$result = SetDIBits( params->hdc, params->hbitmap, params->startscan, params->lines, params->bits, params->info, params->coloruse); + return 0; +} + +static NTSTATUS win32u___wine_get_brush_bitmap_info(void* args) +{ + struct __wine_get_brush_bitmap_info_params* params = (typeof(params))args; + params->$result = __wine_get_brush_bitmap_info( params->handle, params->info, params->bits, params->usage); + return 0; +} + +static NTSTATUS win32u___wine_get_file_outline_text_metric(void* args) +{ + struct __wine_get_file_outline_text_metric_params* params = (typeof(params))args; + params->$result = __wine_get_file_outline_text_metric( params->path, params->otm); + return 0; +} + +static NTSTATUS win32u___wine_get_icm_profile(void* args) +{ + struct __wine_get_icm_profile_params* params = (typeof(params))args; + params->$result = __wine_get_icm_profile( params->hdc, params->allow_default, params->size, params->filename); + return 0; +} + +static NTSTATUS win32u___wine_send_input(void* args) +{ + struct __wine_send_input_params* params = (typeof(params))args; + params->$result = __wine_send_input( params->hwnd, params->input, params->rawinput); + return 0; +} + +const unixlib_entry_t __wine_unix_call_funcs[] = +{ + &init, + &win32u_NtGdiAbortDoc, + &win32u_NtGdiAbortPath, + &win32u_NtGdiAlphaBlend, + &win32u_NtGdiAngleArc, + &win32u_NtGdiArcInternal, + &win32u_NtGdiBeginPath, + &win32u_NtGdiBitBlt, + &win32u_NtGdiCloseFigure, + &win32u_NtGdiComputeXformCoefficients, + &win32u_NtGdiCreateCompatibleBitmap, + &win32u_NtGdiCreateCompatibleDC, + &win32u_NtGdiCreateDIBitmapInternal, + &win32u_NtGdiCreateMetafileDC, + &win32u_NtGdiDdDDICheckVidPnExclusiveOwnership, + &win32u_NtGdiDdDDICloseAdapter, + &win32u_NtGdiDdDDICreateDCFromMemory, + &win32u_NtGdiDdDDIDestroyDCFromMemory, + &win32u_NtGdiDdDDIDestroyDevice, + &win32u_NtGdiDdDDIEscape, + &win32u_NtGdiDdDDIOpenAdapterFromDeviceName, + &win32u_NtGdiDdDDIOpenAdapterFromLuid, + &win32u_NtGdiDdDDIQueryVideoMemoryInfo, + &win32u_NtGdiDdDDISetVidPnSourceOwner, + &win32u_NtGdiDeleteObjectApp, + &win32u_NtGdiDoPalette, + &win32u_NtGdiEllipse, + &win32u_NtGdiEndDoc, + &win32u_NtGdiEndPage, + &win32u_NtGdiEndPath, + &win32u_NtGdiEnumFonts, + &win32u_NtGdiExcludeClipRect, + &win32u_NtGdiExtEscape, + &win32u_NtGdiExtFloodFill, + &win32u_NtGdiExtSelectClipRgn, + &win32u_NtGdiExtTextOutW, + &win32u_NtGdiFillPath, + &win32u_NtGdiFillRgn, + &win32u_NtGdiFontIsLinked, + &win32u_NtGdiFrameRgn, + &win32u_NtGdiGetAndSetDCDword, + &win32u_NtGdiGetAppClipBox, + &win32u_NtGdiGetBoundsRect, + &win32u_NtGdiGetCharABCWidthsW, + &win32u_NtGdiGetCharWidthInfo, + &win32u_NtGdiGetCharWidthW, + &win32u_NtGdiGetDIBitsInternal, + &win32u_NtGdiGetDeviceCaps, + &win32u_NtGdiGetDeviceGammaRamp, + &win32u_NtGdiGetFontData, + &win32u_NtGdiGetFontUnicodeRanges, + &win32u_NtGdiGetGlyphIndicesW, + &win32u_NtGdiGetGlyphOutline, + &win32u_NtGdiGetKerningPairs, + &win32u_NtGdiGetNearestColor, + &win32u_NtGdiGetOutlineTextMetricsInternalW, + &win32u_NtGdiGetPixel, + &win32u_NtGdiGetRandomRgn, + &win32u_NtGdiGetRasterizerCaps, + &win32u_NtGdiGetRealizationInfo, + &win32u_NtGdiGetTextCharsetInfo, + &win32u_NtGdiGetTextExtentExW, + &win32u_NtGdiGetTextFaceW, + &win32u_NtGdiGetTextMetricsW, + &win32u_NtGdiGradientFill, + &win32u_NtGdiIntersectClipRect, + &win32u_NtGdiInvertRgn, + &win32u_NtGdiLineTo, + &win32u_NtGdiMaskBlt, + &win32u_NtGdiModifyWorldTransform, + &win32u_NtGdiMoveTo, + &win32u_NtGdiOffsetClipRgn, + &win32u_NtGdiOpenDCW, + &win32u_NtGdiPatBlt, + &win32u_NtGdiPlgBlt, + &win32u_NtGdiPolyDraw, + &win32u_NtGdiPolyPolyDraw, + &win32u_NtGdiPtVisible, + &win32u_NtGdiRectVisible, + &win32u_NtGdiRectangle, + &win32u_NtGdiResetDC, + &win32u_NtGdiResizePalette, + &win32u_NtGdiRestoreDC, + &win32u_NtGdiRoundRect, + &win32u_NtGdiScaleViewportExtEx, + &win32u_NtGdiScaleWindowExtEx, + &win32u_NtGdiSelectBitmap, + &win32u_NtGdiSelectBrush, + &win32u_NtGdiSelectClipPath, + &win32u_NtGdiSelectFont, + &win32u_NtGdiSelectPen, + &win32u_NtGdiSetBoundsRect, + &win32u_NtGdiSetDIBitsToDeviceInternal, + &win32u_NtGdiSetDeviceGammaRamp, + &win32u_NtGdiSetLayout, + &win32u_NtGdiSetPixel, + &win32u_NtGdiSetSystemPaletteUse, + &win32u_NtGdiStartDoc, + &win32u_NtGdiStartPage, + &win32u_NtGdiStretchBlt, + &win32u_NtGdiStretchDIBitsInternal, + &win32u_NtGdiStrokeAndFillPath, + &win32u_NtGdiStrokePath, + &win32u_NtGdiTransparentBlt, + &win32u_NtGdiUnrealizeObject, + &win32u_NtGdiUpdateColors, + &win32u_NtGdiWidenPath, + &win32u_NtUserDrawCaptionTemp, + &win32u_NtUserDrawMenuBarTemp, + &win32u_NtUserEndPaint, + &win32u_NtUserExcludeUpdateRgn, + &win32u_NtUserReleaseDC, + &win32u_NtUserScrollDC, + &win32u_NtUserSelectPalette, + &win32u_NtUserUpdateLayeredWindow, + &win32u_SetDIBits, + &win32u___wine_get_brush_bitmap_info, + &win32u___wine_get_file_outline_text_metric, + &win32u___wine_get_icm_profile, + &win32u___wine_send_input, };
+C_ASSERT(ARRAYSIZE(__wine_unix_call_funcs) == unix_count); + #ifdef _WIN64
WINE_DEFAULT_DEBUG_CHANNEL(win32u); @@ -350,8 +1303,126 @@ static NTSTATUS wow64_init( void *args )
const unixlib_entry_t __wine_unix_call_wow64_funcs[] = { - init, - wow64_init, + &init, + &win32u_NtGdiAbortDoc, + &win32u_NtGdiAbortPath, + &win32u_NtGdiAlphaBlend, + &win32u_NtGdiAngleArc, + &win32u_NtGdiArcInternal, + &win32u_NtGdiBeginPath, + &win32u_NtGdiBitBlt, + &win32u_NtGdiCloseFigure, + &win32u_NtGdiComputeXformCoefficients, + &win32u_NtGdiCreateCompatibleBitmap, + &win32u_NtGdiCreateCompatibleDC, + &win32u_NtGdiCreateDIBitmapInternal, + &win32u_NtGdiCreateMetafileDC, + &win32u_NtGdiDdDDICheckVidPnExclusiveOwnership, + &win32u_NtGdiDdDDICloseAdapter, + &win32u_NtGdiDdDDICreateDCFromMemory, + &win32u_NtGdiDdDDIDestroyDCFromMemory, + &win32u_NtGdiDdDDIDestroyDevice, + &win32u_NtGdiDdDDIEscape, + &win32u_NtGdiDdDDIOpenAdapterFromDeviceName, + &win32u_NtGdiDdDDIOpenAdapterFromLuid, + &win32u_NtGdiDdDDIQueryVideoMemoryInfo, + &win32u_NtGdiDdDDISetVidPnSourceOwner, + &win32u_NtGdiDeleteObjectApp, + &win32u_NtGdiDoPalette, + &win32u_NtGdiEllipse, + &win32u_NtGdiEndDoc, + &win32u_NtGdiEndPage, + &win32u_NtGdiEndPath, + &win32u_NtGdiEnumFonts, + &win32u_NtGdiExcludeClipRect, + &win32u_NtGdiExtEscape, + &win32u_NtGdiExtFloodFill, + &win32u_NtGdiExtSelectClipRgn, + &win32u_NtGdiExtTextOutW, + &win32u_NtGdiFillPath, + &win32u_NtGdiFillRgn, + &win32u_NtGdiFontIsLinked, + &win32u_NtGdiFrameRgn, + &win32u_NtGdiGetAndSetDCDword, + &win32u_NtGdiGetAppClipBox, + &win32u_NtGdiGetBoundsRect, + &win32u_NtGdiGetCharABCWidthsW, + &win32u_NtGdiGetCharWidthInfo, + &win32u_NtGdiGetCharWidthW, + &win32u_NtGdiGetDIBitsInternal, + &win32u_NtGdiGetDeviceCaps, + &win32u_NtGdiGetDeviceGammaRamp, + &win32u_NtGdiGetFontData, + &win32u_NtGdiGetFontUnicodeRanges, + &win32u_NtGdiGetGlyphIndicesW, + &win32u_NtGdiGetGlyphOutline, + &win32u_NtGdiGetKerningPairs, + &win32u_NtGdiGetNearestColor, + &win32u_NtGdiGetOutlineTextMetricsInternalW, + &win32u_NtGdiGetPixel, + &win32u_NtGdiGetRandomRgn, + &win32u_NtGdiGetRasterizerCaps, + &win32u_NtGdiGetRealizationInfo, + &win32u_NtGdiGetTextCharsetInfo, + &win32u_NtGdiGetTextExtentExW, + &win32u_NtGdiGetTextFaceW, + &win32u_NtGdiGetTextMetricsW, + &win32u_NtGdiGradientFill, + &win32u_NtGdiIntersectClipRect, + &win32u_NtGdiInvertRgn, + &win32u_NtGdiLineTo, + &win32u_NtGdiMaskBlt, + &win32u_NtGdiModifyWorldTransform, + &win32u_NtGdiMoveTo, + &win32u_NtGdiOffsetClipRgn, + &win32u_NtGdiOpenDCW, + &win32u_NtGdiPatBlt, + &win32u_NtGdiPlgBlt, + &win32u_NtGdiPolyDraw, + &win32u_NtGdiPolyPolyDraw, + &win32u_NtGdiPtVisible, + &win32u_NtGdiRectVisible, + &win32u_NtGdiRectangle, + &win32u_NtGdiResetDC, + &win32u_NtGdiResizePalette, + &win32u_NtGdiRestoreDC, + &win32u_NtGdiRoundRect, + &win32u_NtGdiScaleViewportExtEx, + &win32u_NtGdiScaleWindowExtEx, + &win32u_NtGdiSelectBitmap, + &win32u_NtGdiSelectBrush, + &win32u_NtGdiSelectClipPath, + &win32u_NtGdiSelectFont, + &win32u_NtGdiSelectPen, + &win32u_NtGdiSetBoundsRect, + &win32u_NtGdiSetDIBitsToDeviceInternal, + &win32u_NtGdiSetDeviceGammaRamp, + &win32u_NtGdiSetLayout, + &win32u_NtGdiSetPixel, + &win32u_NtGdiSetSystemPaletteUse, + &win32u_NtGdiStartDoc, + &win32u_NtGdiStartPage, + &win32u_NtGdiStretchBlt, + &win32u_NtGdiStretchDIBitsInternal, + &win32u_NtGdiStrokeAndFillPath, + &win32u_NtGdiStrokePath, + &win32u_NtGdiTransparentBlt, + &win32u_NtGdiUnrealizeObject, + &win32u_NtGdiUpdateColors, + &win32u_NtGdiWidenPath, + &win32u_NtUserDrawCaptionTemp, + &win32u_NtUserDrawMenuBarTemp, + &win32u_NtUserEndPaint, + &win32u_NtUserExcludeUpdateRgn, + &win32u_NtUserReleaseDC, + &win32u_NtUserScrollDC, + &win32u_NtUserSelectPalette, + &win32u_NtUserUpdateLayeredWindow, + &win32u_SetDIBits, + &win32u___wine_get_brush_bitmap_info, + &win32u___wine_get_file_outline_text_metric, + &win32u___wine_get_icm_profile, + &win32u___wine_send_input, };
#endif /* _WIN64 */ diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index 44847829b75..0bcb8b99333 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -32,182 +32,1214 @@ #include "wine/debug.h" #include "wine/server.h"
-struct unix_funcs -{ - /* win32u functions */ - INT (WINAPI *pNtGdiAbortDoc)( HDC hdc ); - BOOL (WINAPI *pNtGdiAbortPath)( HDC hdc ); - BOOL (WINAPI *pNtGdiAlphaBlend)( HDC hdc_dst, int x_dst, int y_dst, int width_dst, int height_dst, - HDC hdc_src, int x_src, int y_src, int width_src, int height_src, - BLENDFUNCTION blend_function, HANDLE xform ); - BOOL (WINAPI *pNtGdiAngleArc)( HDC hdc, INT x, INT y, DWORD radius, FLOAT start_angle, - FLOAT sweep_angle ); - BOOL (WINAPI *pNtGdiArcInternal)( UINT type, HDC hdc, INT left, INT top, INT right, INT bottom, - INT xstart, INT ystart, INT xend, INT yend ); - BOOL (WINAPI *pNtGdiBeginPath)( HDC hdc ); - 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 ); - BOOL (WINAPI *pNtGdiComputeXformCoefficients)( HDC hdc ); - 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, - const void *bits, const BITMAPINFO *data, - UINT coloruse, UINT max_info, UINT max_bits, - ULONG flags, HANDLE xform ); - HDC (WINAPI *pNtGdiCreateMetafileDC)( HDC hdc ); - NTSTATUS (WINAPI *pNtGdiDdDDICheckVidPnExclusiveOwnership)( const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *desc ); - NTSTATUS (WINAPI *pNtGdiDdDDICloseAdapter)( const D3DKMT_CLOSEADAPTER *desc ); - NTSTATUS (WINAPI *pNtGdiDdDDICreateDCFromMemory)( D3DKMT_CREATEDCFROMMEMORY *desc ); - NTSTATUS (WINAPI *pNtGdiDdDDIDestroyDCFromMemory)( const D3DKMT_DESTROYDCFROMMEMORY *desc ); - NTSTATUS (WINAPI *pNtGdiDdDDIDestroyDevice)( const D3DKMT_DESTROYDEVICE *desc ); - NTSTATUS (WINAPI *pNtGdiDdDDIEscape)( const D3DKMT_ESCAPE *desc ); - NTSTATUS (WINAPI *pNtGdiDdDDIOpenAdapterFromDeviceName)( D3DKMT_OPENADAPTERFROMDEVICENAME *desc ); - NTSTATUS (WINAPI *pNtGdiDdDDIOpenAdapterFromLuid)( D3DKMT_OPENADAPTERFROMLUID *desc ); - NTSTATUS (WINAPI *pNtGdiDdDDIQueryVideoMemoryInfo)( D3DKMT_QUERYVIDEOMEMORYINFO *desc ); - NTSTATUS (WINAPI *pNtGdiDdDDISetVidPnSourceOwner)( const D3DKMT_SETVIDPNSOURCEOWNER *desc ); - BOOL (WINAPI *pNtGdiDeleteObjectApp)( HGDIOBJ obj ); - LONG (WINAPI *pNtGdiDoPalette)( HGDIOBJ handle, WORD start, WORD count, void *entries, - DWORD func, BOOL inbound ); - BOOL (WINAPI *pNtGdiEllipse)( HDC hdc, INT left, INT top, INT right, INT bottom ); - INT (WINAPI *pNtGdiEndDoc)(HDC hdc); - BOOL (WINAPI *pNtGdiEndPath)( HDC hdc ); - 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 ); - INT (WINAPI *pNtGdiExcludeClipRect)( HDC hdc, INT left, INT top, INT right, INT bottom ); - INT (WINAPI *pNtGdiExtEscape)( HDC hdc, WCHAR *driver, INT driver_id, INT escape, INT input_size, - const char *input, INT output_size, char *output ); - 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 *pNtGdiExtSelectClipRgn)( HDC hdc, HRGN region, INT mode ); - BOOL (WINAPI *pNtGdiFillPath)( HDC hdc ); - BOOL (WINAPI *pNtGdiFillRgn)( HDC hdc, HRGN hrgn, HBRUSH hbrush ); - BOOL (WINAPI *pNtGdiFontIsLinked)( HDC hdc ); - BOOL (WINAPI *pNtGdiFrameRgn)( HDC hdc, HRGN hrgn, HBRUSH brush, INT width, INT height ); - BOOL (WINAPI *pNtGdiGetAndSetDCDword)( HDC hdc, UINT method, DWORD value, DWORD *result ); - INT (WINAPI *pNtGdiGetAppClipBox)( HDC hdc, RECT *rect ); - UINT (WINAPI *pNtGdiGetBoundsRect)( HDC hdc, RECT *rect, UINT flags ); - BOOL (WINAPI *pNtGdiGetCharABCWidthsW)( HDC hdc, UINT first, UINT last, WCHAR *chars, - ULONG flags, void *buffer ); - 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 ); - INT (WINAPI *pNtGdiGetDIBitsInternal)( HDC hdc, HBITMAP hbitmap, UINT startscan, UINT lines, - void *bits, BITMAPINFO *info, UINT coloruse, - UINT max_bits, UINT max_info ); - INT (WINAPI *pNtGdiGetDeviceCaps)( HDC hdc, INT cap ); - BOOL (WINAPI *pNtGdiGetDeviceGammaRamp)( HDC hdc, void *ptr ); - DWORD (WINAPI *pNtGdiGetFontData)( HDC hdc, DWORD table, DWORD offset, void *buffer, DWORD length ); - DWORD (WINAPI *pNtGdiGetFontUnicodeRanges)( HDC hdc, GLYPHSET *lpgs ); - DWORD (WINAPI *pNtGdiGetGlyphIndicesW)( HDC hdc, const WCHAR *str, INT count, - WORD *indices, DWORD flags ); - DWORD (WINAPI *pNtGdiGetGlyphOutline)( HDC hdc, UINT ch, UINT format, GLYPHMETRICS *metrics, - DWORD size, void *buffer, const MAT2 *mat2, - BOOL ignore_rotation ); - DWORD (WINAPI *pNtGdiGetKerningPairs)( HDC hdc, DWORD count, KERNINGPAIR *kern_pair ); - COLORREF (WINAPI *pNtGdiGetNearestColor)( HDC hdc, COLORREF color ); - UINT (WINAPI *pNtGdiGetOutlineTextMetricsInternalW)( HDC hdc, UINT cbData, - OUTLINETEXTMETRICW *otm, ULONG opts ); - COLORREF (WINAPI *pNtGdiGetPixel)( HDC hdc, INT x, INT y ); - 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 ); - UINT (WINAPI *pNtGdiGetTextCharsetInfo)( HDC hdc, FONTSIGNATURE *fs, DWORD flags ); - BOOL (WINAPI *pNtGdiGetTextExtentExW)( HDC hdc, const WCHAR *str, INT count, INT max_ext, - INT *nfit, INT *dxs, SIZE *size, UINT flags ); - INT (WINAPI *pNtGdiGetTextFaceW)( HDC hdc, INT count, WCHAR *name, BOOL alias_name ); - BOOL (WINAPI *pNtGdiGetTextMetricsW)( HDC hdc, TEXTMETRICW *metrics, ULONG flags ); - BOOL (WINAPI *pNtGdiGradientFill)( HDC hdc, TRIVERTEX *vert_array, ULONG nvert, - void *grad_array, ULONG ngrad, ULONG mode ); - INT (WINAPI *pNtGdiIntersectClipRect)( HDC hdc, INT left, INT top, INT right, INT bottom ); - BOOL (WINAPI *pNtGdiInvertRgn)( HDC hdc, HRGN hrgn ); - BOOL (WINAPI *pNtGdiLineTo)( HDC hdc, INT x, INT y ); - BOOL (WINAPI *pNtGdiMaskBlt)( HDC hdc, INT x_dst, INT y_dst, INT width_dst, INT height_dst, - HDC hdc_src, INT x_src, INT y_src, HBITMAP mask, - INT x_mask, INT y_mask, DWORD rop, DWORD bk_color ); - 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 ); - 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 ); - BOOL (WINAPI *pNtGdiPatBlt)( HDC hdc, INT left, INT top, INT width, INT height, DWORD rop ); - 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, - DWORD bk_color ); - BOOL (WINAPI *pNtGdiPolyDraw)(HDC hdc, const POINT *points, const BYTE *types, DWORD count ); - ULONG (WINAPI *pNtGdiPolyPolyDraw)( HDC hdc, const POINT *points, const ULONG *counts, - DWORD count, UINT function ); - BOOL (WINAPI *pNtGdiPtVisible)( HDC hdc, INT x, INT y ); - BOOL (WINAPI *pNtGdiRectVisible)( HDC hdc, const RECT *rect ); - BOOL (WINAPI *pNtGdiRectangle)( HDC hdc, INT left, INT top, INT right, INT bottom ); - 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 ); - BOOL (WINAPI *pNtGdiRoundRect)( HDC hdc, INT left, INT top, INT right, - INT bottom, INT ell_width, INT ell_height ); - BOOL (WINAPI *pNtGdiScaleViewportExtEx)( HDC hdc, INT x_num, INT x_denom, - INT y_num, INT y_denom, SIZE *size ); - BOOL (WINAPI *pNtGdiScaleWindowExtEx)( HDC hdc, INT x_num, INT x_denom, - INT y_num, INT y_denom, SIZE *size ); - HGDIOBJ (WINAPI *pNtGdiSelectBitmap)( HDC hdc, HGDIOBJ handle ); - HGDIOBJ (WINAPI *pNtGdiSelectBrush)( HDC hdc, HGDIOBJ handle ); - BOOL (WINAPI *pNtGdiSelectClipPath)( HDC hdc, INT mode ); - HGDIOBJ (WINAPI *pNtGdiSelectFont)( HDC hdc, HGDIOBJ handle ); - HGDIOBJ (WINAPI *pNtGdiSelectPen)( HDC hdc, HGDIOBJ handle ); - UINT (WINAPI *pNtGdiSetBoundsRect)( HDC hdc, const RECT *rect, UINT flags ); - 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, - UINT coloruse, UINT max_bits, UINT max_info, - BOOL xform_coords, HANDLE xform ); - BOOL (WINAPI *pNtGdiSetDeviceGammaRamp)( HDC hdc, void *ptr ); - DWORD (WINAPI *pNtGdiSetLayout)( HDC hdc, LONG wox, DWORD layout ); - COLORREF (WINAPI *pNtGdiSetPixel)( HDC hdc, INT x, INT y, COLORREF color ); - UINT (WINAPI *pNtGdiSetSystemPaletteUse)( HDC hdc, UINT use ); - INT (WINAPI *pNtGdiStartDoc)( HDC hdc, const DOCINFOW *doc, BOOL *banding, INT job ); - INT (WINAPI *pNtGdiStartPage)( HDC hdc ); - BOOL (WINAPI *pNtGdiStretchBlt)( HDC hdc, INT x_dst, INT y_dst, INT width_dst, INT height_dst, - HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src, - DWORD rop, COLORREF bk_color ); - INT (WINAPI *pNtGdiStretchDIBitsInternal)( HDC hdc, INT x_dst, INT y_dst, INT width_dst, - INT height_dst, INT x_src, INT y_src, INT width_src, - INT height_src, const void *bits, const BITMAPINFO *bmi, - UINT coloruse, DWORD rop, UINT max_info, UINT max_bits, - HANDLE xform ); - BOOL (WINAPI *pNtGdiStrokeAndFillPath)( HDC hdc ); - BOOL (WINAPI *pNtGdiStrokePath)( HDC hdc ); - BOOL (WINAPI *pNtGdiTransparentBlt)( HDC hdc, int x_dst, int y_dst, int width_dst, int height_dst, - HDC hdc_src, int x_src, int y_src, int width_src, int height_src, - UINT color ); - BOOL (WINAPI *pNtGdiUnrealizeObject)( HGDIOBJ obj ); - BOOL (WINAPI *pNtGdiUpdateColors)( HDC hdc ); - BOOL (WINAPI *pNtGdiWidenPath)( 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 ); - BOOL (WINAPI *pNtUserEndPaint)( HWND hwnd, const PAINTSTRUCT *ps ); - INT (WINAPI *pNtUserExcludeUpdateRgn)( HDC hdc, HWND hwnd ); - INT (WINAPI *pNtUserReleaseDC)( HWND hwnd, HDC hdc ); - BOOL (WINAPI *pNtUserScrollDC)( HDC hdc, INT dx, INT dy, const RECT *scroll, const RECT *clip, - HRGN ret_update_rgn, RECT *update_rect ); - HPALETTE (WINAPI *pNtUserSelectPalette)( HDC hdc, HPALETTE hpal, WORD bkg ); - BOOL (WINAPI *pNtUserUpdateLayeredWindow)( HWND hwnd, HDC hdc_dst, const POINT *pts_dst, - const SIZE *size, HDC hdc_src, const POINT *pts_src, - COLORREF key, const BLENDFUNCTION *blend, - DWORD flags, const RECT *dirty ); - - /* Wine-specific functions */ - INT (WINAPI *pSetDIBits)( HDC hdc, HBITMAP hbitmap, UINT startscan, - UINT lines, const void *bits, const BITMAPINFO *info, - UINT coloruse ); - BOOL (CDECL *get_brush_bitmap_info)( HBRUSH handle, BITMAPINFO *info, void *bits, UINT *usage ); - BOOL (CDECL *get_file_outline_text_metric)( const WCHAR *path, OUTLINETEXTMETRICW *otm ); - BOOL (CDECL *get_icm_profile)( HDC hdc, BOOL allow_default, DWORD *size, WCHAR *filename ); - BOOL (CDECL *wine_send_input)( HWND hwnd, const INPUT *input, const RAWINPUT *rawinput ); +enum unix_call +{ + unix_init, + unix_NtGdiAbortDoc, + unix_NtGdiAbortPath, + unix_NtGdiAlphaBlend, + unix_NtGdiAngleArc, + unix_NtGdiArcInternal, + unix_NtGdiBeginPath, + unix_NtGdiBitBlt, + unix_NtGdiCloseFigure, + unix_NtGdiComputeXformCoefficients, + unix_NtGdiCreateCompatibleBitmap, + unix_NtGdiCreateCompatibleDC, + unix_NtGdiCreateDIBitmapInternal, + unix_NtGdiCreateMetafileDC, + unix_NtGdiDdDDICheckVidPnExclusiveOwnership, + unix_NtGdiDdDDICloseAdapter, + unix_NtGdiDdDDICreateDCFromMemory, + unix_NtGdiDdDDIDestroyDCFromMemory, + unix_NtGdiDdDDIDestroyDevice, + unix_NtGdiDdDDIEscape, + unix_NtGdiDdDDIOpenAdapterFromDeviceName, + unix_NtGdiDdDDIOpenAdapterFromLuid, + unix_NtGdiDdDDIQueryVideoMemoryInfo, + unix_NtGdiDdDDISetVidPnSourceOwner, + unix_NtGdiDeleteObjectApp, + unix_NtGdiDoPalette, + unix_NtGdiEllipse, + unix_NtGdiEndDoc, + unix_NtGdiEndPage, + unix_NtGdiEndPath, + unix_NtGdiEnumFonts, + unix_NtGdiExcludeClipRect, + unix_NtGdiExtEscape, + unix_NtGdiExtFloodFill, + unix_NtGdiExtSelectClipRgn, + unix_NtGdiExtTextOutW, + unix_NtGdiFillPath, + unix_NtGdiFillRgn, + unix_NtGdiFontIsLinked, + unix_NtGdiFrameRgn, + unix_NtGdiGetAndSetDCDword, + unix_NtGdiGetAppClipBox, + unix_NtGdiGetBoundsRect, + unix_NtGdiGetCharABCWidthsW, + unix_NtGdiGetCharWidthInfo, + unix_NtGdiGetCharWidthW, + unix_NtGdiGetDIBitsInternal, + unix_NtGdiGetDeviceCaps, + unix_NtGdiGetDeviceGammaRamp, + unix_NtGdiGetFontData, + unix_NtGdiGetFontUnicodeRanges, + unix_NtGdiGetGlyphIndicesW, + unix_NtGdiGetGlyphOutline, + unix_NtGdiGetKerningPairs, + unix_NtGdiGetNearestColor, + unix_NtGdiGetOutlineTextMetricsInternalW, + unix_NtGdiGetPixel, + unix_NtGdiGetRandomRgn, + unix_NtGdiGetRasterizerCaps, + unix_NtGdiGetRealizationInfo, + unix_NtGdiGetTextCharsetInfo, + unix_NtGdiGetTextExtentExW, + unix_NtGdiGetTextFaceW, + unix_NtGdiGetTextMetricsW, + unix_NtGdiGradientFill, + unix_NtGdiIntersectClipRect, + unix_NtGdiInvertRgn, + unix_NtGdiLineTo, + unix_NtGdiMaskBlt, + unix_NtGdiModifyWorldTransform, + unix_NtGdiMoveTo, + unix_NtGdiOffsetClipRgn, + unix_NtGdiOpenDCW, + unix_NtGdiPatBlt, + unix_NtGdiPlgBlt, + unix_NtGdiPolyDraw, + unix_NtGdiPolyPolyDraw, + unix_NtGdiPtVisible, + unix_NtGdiRectVisible, + unix_NtGdiRectangle, + unix_NtGdiResetDC, + unix_NtGdiResizePalette, + unix_NtGdiRestoreDC, + unix_NtGdiRoundRect, + unix_NtGdiScaleViewportExtEx, + unix_NtGdiScaleWindowExtEx, + unix_NtGdiSelectBitmap, + unix_NtGdiSelectBrush, + unix_NtGdiSelectClipPath, + unix_NtGdiSelectFont, + unix_NtGdiSelectPen, + unix_NtGdiSetBoundsRect, + unix_NtGdiSetDIBitsToDeviceInternal, + unix_NtGdiSetDeviceGammaRamp, + unix_NtGdiSetLayout, + unix_NtGdiSetPixel, + unix_NtGdiSetSystemPaletteUse, + unix_NtGdiStartDoc, + unix_NtGdiStartPage, + unix_NtGdiStretchBlt, + unix_NtGdiStretchDIBitsInternal, + unix_NtGdiStrokeAndFillPath, + unix_NtGdiStrokePath, + unix_NtGdiTransparentBlt, + unix_NtGdiUnrealizeObject, + unix_NtGdiUpdateColors, + unix_NtGdiWidenPath, + unix_NtUserDrawCaptionTemp, + unix_NtUserDrawMenuBarTemp, + unix_NtUserEndPaint, + unix_NtUserExcludeUpdateRgn, + unix_NtUserReleaseDC, + unix_NtUserScrollDC, + unix_NtUserSelectPalette, + unix_NtUserUpdateLayeredWindow, + unix_SetDIBits, + unix___wine_get_brush_bitmap_info, + unix___wine_get_file_outline_text_metric, + unix___wine_get_icm_profile, + unix___wine_send_input, + unix_count, +}; + +#ifdef __i386__ +#define MS_STRUCT __attribute__((ms_struct)) +#else +#define MS_STRUCT +#endif + +struct MS_STRUCT NtGdiAbortDoc_params +{ + HDC hdc; + INT $result; +}; + +struct MS_STRUCT NtGdiAbortPath_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtGdiAlphaBlend_params +{ + HDC hdc_dst; + int x_dst; + int y_dst; + int width_dst; + int height_dst; + HDC hdc_src; + int x_src; + int y_src; + int width_src; + int height_src; + BLENDFUNCTION blend_function; + HANDLE xform; + BOOL $result; +}; + +struct MS_STRUCT NtGdiAngleArc_params +{ + HDC hdc; + INT x; + INT y; + DWORD radius; + FLOAT start_angle; + FLOAT sweep_angle; + BOOL $result; +}; + +struct MS_STRUCT NtGdiArcInternal_params +{ + UINT type; + HDC hdc; + INT left; + INT top; + INT right; + INT bottom; + INT xstart; + INT ystart; + INT xend; + INT yend; + BOOL $result; +}; + +struct MS_STRUCT NtGdiBeginPath_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtGdiBitBlt_params +{ + 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 $result; +}; + +struct MS_STRUCT NtGdiCloseFigure_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtGdiComputeXformCoefficients_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtGdiCreateCompatibleBitmap_params +{ + HDC hdc; + INT width; + INT height; + HBITMAP $result; +}; + +struct MS_STRUCT NtGdiCreateCompatibleDC_params +{ + HDC hdc; + HDC $result; +}; + +struct MS_STRUCT NtGdiCreateDIBitmapInternal_params +{ + HDC hdc; + INT width; + INT height; + DWORD init; + const void *bits; + const BITMAPINFO *data; + UINT coloruse; + UINT max_info; + UINT max_bits; + ULONG flags; + HANDLE xform; + HBITMAP $result; +}; + +struct MS_STRUCT NtGdiCreateMetafileDC_params +{ + HDC hdc; + HDC $result; +}; + +struct MS_STRUCT NtGdiDdDDICheckVidPnExclusiveOwnership_params +{ + const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *desc; + NTSTATUS $result; +}; + +struct MS_STRUCT NtGdiDdDDICloseAdapter_params +{ + const D3DKMT_CLOSEADAPTER *desc; + NTSTATUS $result; +}; + +struct MS_STRUCT NtGdiDdDDICreateDCFromMemory_params +{ + D3DKMT_CREATEDCFROMMEMORY *desc; + NTSTATUS $result; +}; + +struct MS_STRUCT NtGdiDdDDIDestroyDCFromMemory_params +{ + const D3DKMT_DESTROYDCFROMMEMORY *desc; + NTSTATUS $result; +}; + +struct MS_STRUCT NtGdiDdDDIDestroyDevice_params +{ + const D3DKMT_DESTROYDEVICE *desc; + NTSTATUS $result; +}; + +struct MS_STRUCT NtGdiDdDDIEscape_params +{ + const D3DKMT_ESCAPE *desc; + NTSTATUS $result; +}; + +struct MS_STRUCT NtGdiDdDDIOpenAdapterFromDeviceName_params +{ + D3DKMT_OPENADAPTERFROMDEVICENAME *desc; + NTSTATUS $result; +}; + +struct MS_STRUCT NtGdiDdDDIOpenAdapterFromLuid_params +{ + D3DKMT_OPENADAPTERFROMLUID *desc; + NTSTATUS $result; +}; + +struct MS_STRUCT NtGdiDdDDIQueryVideoMemoryInfo_params +{ + D3DKMT_QUERYVIDEOMEMORYINFO *desc; + NTSTATUS $result; +}; + +struct MS_STRUCT NtGdiDdDDISetVidPnSourceOwner_params +{ + const D3DKMT_SETVIDPNSOURCEOWNER *desc; + NTSTATUS $result; +}; + +struct MS_STRUCT NtGdiDeleteObjectApp_params +{ + HGDIOBJ obj; + BOOL $result; +}; + +struct MS_STRUCT NtGdiDoPalette_params +{ + HGDIOBJ handle; + WORD start; + WORD count; + void *entries; + DWORD func; + BOOL inbound; + LONG $result; +}; + +struct MS_STRUCT NtGdiEllipse_params +{ + HDC hdc; + INT left; + INT top; + INT right; + INT bottom; + BOOL $result; +}; + +struct MS_STRUCT NtGdiEndDoc_params +{ + HDC hdc; + INT $result; +}; + +struct MS_STRUCT NtGdiEndPath_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtGdiEndPage_params +{ + HDC hdc; + INT $result; +}; + +struct MS_STRUCT NtGdiEnumFonts_params +{ + HDC hdc; + ULONG type; + ULONG win32_compat; + ULONG face_name_len; + const WCHAR *face_name; + ULONG charset; + ULONG *count; + void *buf; + BOOL $result; +}; + +struct MS_STRUCT NtGdiExcludeClipRect_params +{ + HDC hdc; + INT left; + INT top; + INT right; + INT bottom; + INT $result; +}; + +struct MS_STRUCT NtGdiExtEscape_params +{ + HDC hdc; + WCHAR *driver; + INT driver_id; + INT escape; + INT input_size; + const char *input; + INT output_size; + char *output; + INT $result; +}; + +struct MS_STRUCT NtGdiExtFloodFill_params +{ + HDC hdc; + INT x; + INT y; + COLORREF color; + UINT type; + BOOL $result; +}; + +struct MS_STRUCT NtGdiExtTextOutW_params +{ + HDC hdc; + INT x; + INT y; + UINT flags; + const RECT *rect; + const WCHAR *str; + UINT count; + const INT *dx; + DWORD cp; + BOOL $result; +}; + +struct MS_STRUCT NtGdiExtSelectClipRgn_params +{ + HDC hdc; + HRGN region; + INT mode; + INT $result; +}; + +struct MS_STRUCT NtGdiFillPath_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtGdiFillRgn_params +{ + HDC hdc; + HRGN hrgn; + HBRUSH hbrush; + BOOL $result; +}; + +struct MS_STRUCT NtGdiFontIsLinked_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtGdiFrameRgn_params +{ + HDC hdc; + HRGN hrgn; + HBRUSH brush; + INT width; + INT height; + BOOL $result; +}; + +struct MS_STRUCT NtGdiGetAndSetDCDword_params +{ + HDC hdc; + UINT method; + DWORD value; + DWORD *result; + BOOL $result; +}; + +struct MS_STRUCT NtGdiGetAppClipBox_params +{ + HDC hdc; + RECT *rect; + INT $result; +}; + +struct MS_STRUCT NtGdiGetBoundsRect_params +{ + HDC hdc; + RECT *rect; + UINT flags; + UINT $result; +}; + +struct MS_STRUCT NtGdiGetCharABCWidthsW_params +{ + HDC hdc; + UINT first; + UINT last; + WCHAR *chars; + ULONG flags; + void *buffer; + BOOL $result; +}; + +struct MS_STRUCT NtGdiGetCharWidthW_params +{ + HDC hdc; + UINT first_char; + UINT last_char; + WCHAR *chars; + ULONG flags; + void *buffer; + BOOL $result; +}; + +struct MS_STRUCT NtGdiGetCharWidthInfo_params +{ + HDC hdc; + struct char_width_info *info; + BOOL $result; +}; + +struct MS_STRUCT NtGdiGetDIBitsInternal_params +{ + HDC hdc; + HBITMAP hbitmap; + UINT startscan; + UINT lines; + void *bits; + BITMAPINFO *info; + UINT coloruse; + UINT max_bits; + UINT max_info; + INT $result; +}; + +struct MS_STRUCT NtGdiGetDeviceCaps_params +{ + HDC hdc; + INT cap; + INT $result; +}; + +struct MS_STRUCT NtGdiGetDeviceGammaRamp_params +{ + HDC hdc; + void *ptr; + BOOL $result; +}; + +struct MS_STRUCT NtGdiGetFontData_params +{ + HDC hdc; + DWORD table; + DWORD offset; + void *buffer; + DWORD length; + DWORD $result; +}; + +struct MS_STRUCT NtGdiGetFontUnicodeRanges_params +{ + HDC hdc; + GLYPHSET *lpgs; + DWORD $result; +}; + +struct MS_STRUCT NtGdiGetGlyphIndicesW_params +{ + HDC hdc; + const WCHAR *str; + INT count; + WORD *indices; + DWORD flags; + DWORD $result; +}; + +struct MS_STRUCT NtGdiGetGlyphOutline_params +{ + HDC hdc; + UINT ch; + UINT format; + GLYPHMETRICS *metrics; + DWORD size; + void *buffer; + const MAT2 *mat2; + BOOL ignore_rotation; + DWORD $result; +}; + +struct MS_STRUCT NtGdiGetKerningPairs_params +{ + HDC hdc; + DWORD count; + KERNINGPAIR *kern_pair; + DWORD $result; +}; + +struct MS_STRUCT NtGdiGetNearestColor_params +{ + HDC hdc; + COLORREF color; + COLORREF $result; +}; + +struct MS_STRUCT NtGdiGetOutlineTextMetricsInternalW_params +{ + HDC hdc; + UINT cbData; + OUTLINETEXTMETRICW *otm; + ULONG opts; + UINT $result; +}; + +struct MS_STRUCT NtGdiGetPixel_params +{ + HDC hdc; + INT x; + INT y; + COLORREF $result; +}; + +struct MS_STRUCT NtGdiGetRandomRgn_params +{ + HDC hdc; + HRGN region; + INT code; + INT $result; +}; + +struct MS_STRUCT NtGdiGetRasterizerCaps_params +{ + RASTERIZER_STATUS *status; + UINT size; + BOOL $result; +}; + +struct MS_STRUCT NtGdiGetRealizationInfo_params +{ + HDC hdc; + struct font_realization_info *info; + BOOL $result; +}; + +struct MS_STRUCT NtGdiGetTextCharsetInfo_params +{ + HDC hdc; + FONTSIGNATURE *fs; + DWORD flags; + UINT $result; +}; + +struct MS_STRUCT NtGdiGetTextExtentExW_params +{ + HDC hdc; + const WCHAR *str; + INT count; + INT max_ext; + INT *nfit; + INT *dxs; + SIZE *size; + UINT flags; + BOOL $result; +}; + +struct MS_STRUCT NtGdiGetTextFaceW_params +{ + HDC hdc; + INT count; + WCHAR *name; + BOOL alias_name; + INT $result; +}; + +struct MS_STRUCT NtGdiGetTextMetricsW_params +{ + HDC hdc; + TEXTMETRICW *metrics; + ULONG flags; + BOOL $result; +}; + +struct MS_STRUCT NtGdiGradientFill_params +{ + HDC hdc; + TRIVERTEX *vert_array; + ULONG nvert; + void *grad_array; + ULONG ngrad; + ULONG mode; + BOOL $result; +}; + +struct MS_STRUCT NtGdiIntersectClipRect_params +{ + HDC hdc; + INT left; + INT top; + INT right; + INT bottom; + INT $result; +}; + +struct MS_STRUCT NtGdiInvertRgn_params +{ + HDC hdc; + HRGN hrgn; + BOOL $result; +}; + +struct MS_STRUCT NtGdiLineTo_params +{ + HDC hdc; + INT x; + INT y; + BOOL $result; +}; + +struct MS_STRUCT NtGdiMaskBlt_params +{ + HDC hdc; + INT x_dst; + INT y_dst; + INT width_dst; + INT height_dst; + HDC hdc_src; + INT x_src; + INT y_src; + HBITMAP mask; + INT x_mask; + INT y_mask; + DWORD rop; + DWORD bk_color; + BOOL $result; +}; + +struct MS_STRUCT NtGdiModifyWorldTransform_params +{ + HDC hdc; + const XFORM *xform; + DWORD mode; + BOOL $result; +}; + +struct MS_STRUCT NtGdiMoveTo_params +{ + HDC hdc; + INT x; + INT y; + POINT *pt; + BOOL $result; +}; + +struct MS_STRUCT NtGdiOffsetClipRgn_params +{ + HDC hdc; + INT x; + INT y; + INT $result; +}; + +struct MS_STRUCT NtGdiOpenDCW_params +{ + UNICODE_STRING *device; + const DEVMODEW *devmode; + UNICODE_STRING *output; + ULONG type; + BOOL is_display; + HANDLE hspool; + DRIVER_INFO_2W *driver_info; + void *pdev; + HDC $result; +}; + +struct MS_STRUCT NtGdiPatBlt_params +{ + HDC hdc; + INT left; + INT top; + INT width; + INT height; + DWORD rop; + BOOL $result; +}; + +struct MS_STRUCT NtGdiPlgBlt_params +{ + 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; + DWORD bk_color; + BOOL $result; +}; + +struct MS_STRUCT NtGdiPolyDraw_params +{ + HDC hdc; + const POINT *points; + const BYTE *types; + DWORD count; + BOOL $result; +}; + +struct MS_STRUCT NtGdiPolyPolyDraw_params +{ + HDC hdc; + const POINT *points; + const ULONG *counts; + DWORD count; + UINT function; + ULONG $result; +}; + +struct MS_STRUCT NtGdiPtVisible_params +{ + HDC hdc; + INT x; + INT y; + BOOL $result; +}; + +struct MS_STRUCT NtGdiRectVisible_params +{ + HDC hdc; + const RECT *rect; + BOOL $result; +}; + +struct MS_STRUCT NtGdiRectangle_params +{ + HDC hdc; + INT left; + INT top; + INT right; + INT bottom; + BOOL $result; +}; + +struct MS_STRUCT NtGdiResetDC_params +{ + HDC hdc; + const DEVMODEW *devmode; + BOOL *banding; + DRIVER_INFO_2W *driver_info; + void *dev; + BOOL $result; +}; + +struct MS_STRUCT NtGdiResizePalette_params +{ + HPALETTE palette; + UINT count; + BOOL $result; +}; + +struct MS_STRUCT NtGdiRestoreDC_params +{ + HDC hdc; + INT level; + BOOL $result; +}; + +struct MS_STRUCT NtGdiRoundRect_params +{ + HDC hdc; + INT left; + INT top; + INT right; + INT bottom; + INT ell_width; + INT ell_height; + BOOL $result; +}; + +struct MS_STRUCT NtGdiScaleViewportExtEx_params +{ + HDC hdc; + INT x_num; + INT x_denom; + INT y_num; + INT y_denom; + SIZE *size; + BOOL $result; +}; + +struct MS_STRUCT NtGdiScaleWindowExtEx_params +{ + HDC hdc; + INT x_num; + INT x_denom; + INT y_num; + INT y_denom; + SIZE *size; + BOOL $result; +}; + +struct MS_STRUCT NtGdiSelectBitmap_params +{ + HDC hdc; + HGDIOBJ handle; + HGDIOBJ $result; +}; + +struct MS_STRUCT NtGdiSelectBrush_params +{ + HDC hdc; + HGDIOBJ handle; + HGDIOBJ $result; +}; + +struct MS_STRUCT NtGdiSelectClipPath_params +{ + HDC hdc; + INT mode; + BOOL $result; +}; + +struct MS_STRUCT NtGdiSelectFont_params +{ + HDC hdc; + HGDIOBJ handle; + HGDIOBJ $result; +}; + +struct MS_STRUCT NtGdiSelectPen_params +{ + HDC hdc; + HGDIOBJ handle; + HGDIOBJ $result; +}; + +struct MS_STRUCT NtGdiSetBoundsRect_params +{ + HDC hdc; + const RECT *rect; + UINT flags; + UINT $result; +}; + +struct MS_STRUCT NtGdiSetDIBitsToDeviceInternal_params +{ + 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; + UINT coloruse; + UINT max_bits; + UINT max_info; + BOOL xform_coords; + HANDLE xform; + INT $result; +}; + +struct MS_STRUCT NtGdiSetDeviceGammaRamp_params +{ + HDC hdc; + void *ptr; + BOOL $result; +}; + +struct MS_STRUCT NtGdiSetLayout_params +{ + HDC hdc; + LONG wox; + DWORD layout; + DWORD $result; +}; + +struct MS_STRUCT NtGdiSetPixel_params +{ + HDC hdc; + INT x; + INT y; + COLORREF color; + COLORREF $result; +}; + +struct MS_STRUCT NtGdiSetSystemPaletteUse_params +{ + HDC hdc; + UINT use; + UINT $result; +}; + +struct MS_STRUCT NtGdiStartDoc_params +{ + HDC hdc; + const DOCINFOW *doc; + BOOL *banding; + INT job; + INT $result; +}; + +struct MS_STRUCT NtGdiStartPage_params +{ + HDC hdc; + INT $result; +}; + +struct MS_STRUCT NtGdiStretchBlt_params +{ + HDC hdc; + INT x_dst; + INT y_dst; + INT width_dst; + INT height_dst; + HDC hdc_src; + INT x_src; + INT y_src; + INT width_src; + INT height_src; + DWORD rop; + COLORREF bk_color; + BOOL $result; +}; + +struct MS_STRUCT NtGdiStretchDIBitsInternal_params +{ + HDC hdc; + INT x_dst; + INT y_dst; + INT width_dst; + INT height_dst; + INT x_src; + INT y_src; + INT width_src; + INT height_src; + const void *bits; + const BITMAPINFO *bmi; + UINT coloruse; + DWORD rop; + UINT max_info; + UINT max_bits; + HANDLE xform; + INT $result; +}; + +struct MS_STRUCT NtGdiStrokeAndFillPath_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtGdiStrokePath_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtGdiTransparentBlt_params +{ + HDC hdc; + int x_dst; + int y_dst; + int width_dst; + int height_dst; + HDC hdc_src; + int x_src; + int y_src; + int width_src; + int height_src; + UINT color; + BOOL $result; +}; + +struct MS_STRUCT NtGdiUnrealizeObject_params +{ + HGDIOBJ obj; + BOOL $result; +}; + +struct MS_STRUCT NtGdiUpdateColors_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtGdiWidenPath_params +{ + HDC hdc; + BOOL $result; +}; + +struct MS_STRUCT NtUserDrawCaptionTemp_params +{ + HWND hwnd; + HDC hdc; + const RECT *rect; + HFONT font; + HICON icon; + const WCHAR *str; + UINT flags; + BOOL $result; +}; + +struct MS_STRUCT NtUserDrawMenuBarTemp_params +{ + HWND hwnd; + HDC hdc; + RECT *rect; + HMENU handle; + HFONT font; + DWORD $result; +}; + +struct MS_STRUCT NtUserEndPaint_params +{ + HWND hwnd; + const PAINTSTRUCT *ps; + BOOL $result; +}; + +struct MS_STRUCT NtUserExcludeUpdateRgn_params +{ + HDC hdc; + HWND hwnd; + INT $result; +}; + +struct MS_STRUCT NtUserReleaseDC_params +{ + HWND hwnd; + HDC hdc; + INT $result; +}; + +struct MS_STRUCT NtUserScrollDC_params +{ + HDC hdc; + INT dx; + INT dy; + const RECT *scroll; + const RECT *clip; + HRGN ret_update_rgn; + RECT *update_rect; + BOOL $result; +}; + +struct MS_STRUCT NtUserSelectPalette_params +{ + HDC hdc; + HPALETTE hpal; + WORD bkg; + HPALETTE $result; +}; + +struct MS_STRUCT NtUserUpdateLayeredWindow_params +{ + HWND hwnd; + HDC hdc_dst; + const POINT *pts_dst; + const SIZE *size; + HDC hdc_src; + const POINT *pts_src; + COLORREF key; + const BLENDFUNCTION *blend; + DWORD flags; + const RECT *dirty; + BOOL $result; +}; + +struct MS_STRUCT SetDIBits_params +{ + HDC hdc; + HBITMAP hbitmap; + UINT startscan; + UINT lines; + const void *bits; + const BITMAPINFO *info; + UINT coloruse; + INT $result; +}; + +struct MS_STRUCT __wine_get_brush_bitmap_info_params +{ + HBRUSH handle; + BITMAPINFO *info; + void *bits; + UINT *usage; + BOOL $result; +}; + +struct MS_STRUCT __wine_get_file_outline_text_metric_params +{ + const WCHAR *path; + OUTLINETEXTMETRICW *otm; + BOOL $result; +}; + +struct MS_STRUCT __wine_get_icm_profile_params +{ + HDC hdc; + BOOL allow_default; + DWORD *size; + WCHAR *filename; + BOOL $result; +}; + +struct MS_STRUCT __wine_send_input_params +{ + HWND hwnd; + const INPUT *input; + const RAWINPUT *rawinput; + BOOL $result; };
/* clipboard.c */ @@ -416,7 +1448,6 @@ static inline void release_win_ptr( struct tagWND *ptr ) user_unlock(); }
-extern void wrappers_init( unixlib_handle_t handle ) DECLSPEC_HIDDEN; extern void gdi_init(void) DECLSPEC_HIDDEN; extern NTSTATUS callbacks_init( void *args ) DECLSPEC_HIDDEN; extern void winstation_init(void) DECLSPEC_HIDDEN; diff --git a/dlls/win32u/wrappers.c b/dlls/win32u/wrappers.c index e128705ef37..f035c19ba01 100644 --- a/dlls/win32u/wrappers.c +++ b/dlls/win32u/wrappers.c @@ -22,790 +22,368 @@ #define WIN32_NO_STATUS #include "win32u_private.h"
-static const struct unix_funcs *unix_funcs; +#define WIN32U_CALL(name, ...) \ +{ \ + struct name ##_params params = { __VA_ARGS__ }; \ + WINE_UNIX_CALL(unix_##name, ¶ms); \ + return params.$result; \ +}
INT WINAPI NtGdiAbortDoc( HDC hdc ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiAbortDoc( hdc ); -} +WIN32U_CALL(NtGdiAbortDoc, hdc)
BOOL WINAPI NtGdiAbortPath( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiAbortPath( hdc ); -} +WIN32U_CALL(NtGdiAbortPath, hdc)
-BOOL WINAPI NtGdiAlphaBlend( HDC hdc_dst, int x_dst, int y_dst, int width_dst, int height_dst, - HDC hdc_src, int x_src, int y_src, int width_src, int height_src, - BLENDFUNCTION blend_function, HANDLE xform ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiAlphaBlend( hdc_dst, x_dst, y_dst, width_dst, height_dst, hdc_src, - x_src, y_src, width_src, height_src, blend_function, xform ); -} +BOOL WINAPI NtGdiAlphaBlend( HDC hdc_dst, int x_dst, int y_dst, int width_dst, int height_dst, HDC hdc_src, int x_src, int y_src, int width_src, int height_src, BLENDFUNCTION blend_function, HANDLE xform ) +WIN32U_CALL(NtGdiAlphaBlend, hdc_dst, x_dst, y_dst, width_dst, height_dst, hdc_src, x_src, y_src, width_src, height_src, blend_function, xform)
BOOL WINAPI NtGdiAngleArc( HDC hdc, INT x, INT y, DWORD radius, FLOAT start_angle, FLOAT sweep_angle ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiAngleArc( hdc, x, y, radius, start_angle, sweep_angle ); -} +WIN32U_CALL(NtGdiAngleArc, hdc, x, y, radius, start_angle, sweep_angle)
-BOOL WINAPI NtGdiArcInternal( UINT type, HDC hdc, INT left, INT top, INT right, INT bottom, - INT xstart, INT ystart, INT xend, INT yend ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiArcInternal( type, hdc, left, top, right, bottom, xstart, ystart, xend, yend ); -} +BOOL WINAPI NtGdiArcInternal( UINT type, HDC hdc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend ) +WIN32U_CALL(NtGdiArcInternal, type, hdc, left, top, right, bottom, xstart, ystart, xend, yend)
BOOL WINAPI NtGdiBeginPath( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiBeginPath( hdc ); -} +WIN32U_CALL(NtGdiBeginPath, hdc)
-BOOL WINAPI NtGdiBitBlt( 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 ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiBitBlt( hdc_dst, x_dst, y_dst, width, height, hdc_src, x_src, y_src, - rop, bk_color, fl ); -} +BOOL WINAPI NtGdiBitBlt( 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 ) +WIN32U_CALL(NtGdiBitBlt, hdc_dst, x_dst, y_dst, width, height, hdc_src, x_src, y_src, rop, bk_color, fl)
BOOL WINAPI NtGdiCloseFigure( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiCloseFigure( hdc ); -} +WIN32U_CALL(NtGdiCloseFigure, hdc)
BOOL WINAPI NtGdiComputeXformCoefficients( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiComputeXformCoefficients( hdc ); -} +WIN32U_CALL(NtGdiComputeXformCoefficients, hdc)
HBITMAP WINAPI NtGdiCreateCompatibleBitmap( HDC hdc, INT width, INT height ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiCreateCompatibleBitmap( hdc, width, height ); -} +WIN32U_CALL(NtGdiCreateCompatibleBitmap, hdc, width, height)
HDC WINAPI NtGdiCreateCompatibleDC( HDC hdc ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiCreateCompatibleDC( hdc ); -} +WIN32U_CALL(NtGdiCreateCompatibleDC, hdc)
-HBITMAP WINAPI NtGdiCreateDIBitmapInternal( HDC hdc, INT width, INT height, DWORD init, - const void *bits, const BITMAPINFO *data, - UINT coloruse, UINT max_info, UINT max_bits, - ULONG flags, HANDLE xform ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiCreateDIBitmapInternal( hdc, width, height, init, bits, data, - coloruse, max_info, max_bits, flags, xform ); -} +HBITMAP WINAPI NtGdiCreateDIBitmapInternal( HDC hdc, INT width, INT height, DWORD init, const void *bits, const BITMAPINFO *data, UINT coloruse, UINT max_info, UINT max_bits, ULONG flags, HANDLE xform ) +WIN32U_CALL(NtGdiCreateDIBitmapInternal, hdc, width, height, init, bits, data, coloruse, max_info, max_bits, flags, xform)
HDC WINAPI NtGdiCreateMetafileDC( HDC hdc ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiCreateMetafileDC( hdc ); -} +WIN32U_CALL(NtGdiCreateMetafileDC, hdc) + +NTSTATUS WINAPI NtGdiDdDDICheckVidPnExclusiveOwnership( const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *desc ) +WIN32U_CALL(NtGdiDdDDICheckVidPnExclusiveOwnership, desc) + +NTSTATUS WINAPI NtGdiDdDDICloseAdapter( const D3DKMT_CLOSEADAPTER *desc ) +WIN32U_CALL(NtGdiDdDDICloseAdapter, desc) + +NTSTATUS WINAPI NtGdiDdDDICreateDCFromMemory( D3DKMT_CREATEDCFROMMEMORY *desc ) +WIN32U_CALL(NtGdiDdDDICreateDCFromMemory, desc) + +NTSTATUS WINAPI NtGdiDdDDIDestroyDCFromMemory( const D3DKMT_DESTROYDCFROMMEMORY *desc ) +WIN32U_CALL(NtGdiDdDDIDestroyDCFromMemory, desc) + +NTSTATUS WINAPI NtGdiDdDDIDestroyDevice( const D3DKMT_DESTROYDEVICE *desc ) +WIN32U_CALL(NtGdiDdDDIDestroyDevice, desc) + +NTSTATUS WINAPI NtGdiDdDDIEscape( const D3DKMT_ESCAPE *desc ) +WIN32U_CALL(NtGdiDdDDIEscape, desc) + +NTSTATUS WINAPI NtGdiDdDDIOpenAdapterFromDeviceName( D3DKMT_OPENADAPTERFROMDEVICENAME *desc ) +WIN32U_CALL(NtGdiDdDDIOpenAdapterFromDeviceName, desc) + +NTSTATUS WINAPI NtGdiDdDDIOpenAdapterFromLuid( D3DKMT_OPENADAPTERFROMLUID *desc ) +WIN32U_CALL(NtGdiDdDDIOpenAdapterFromLuid, desc) + +NTSTATUS WINAPI NtGdiDdDDIQueryVideoMemoryInfo( D3DKMT_QUERYVIDEOMEMORYINFO *desc ) +WIN32U_CALL(NtGdiDdDDIQueryVideoMemoryInfo, desc) + +NTSTATUS WINAPI NtGdiDdDDISetVidPnSourceOwner( const D3DKMT_SETVIDPNSOURCEOWNER *desc ) +WIN32U_CALL(NtGdiDdDDISetVidPnSourceOwner, desc)
BOOL WINAPI NtGdiDeleteObjectApp( HGDIOBJ obj ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiDeleteObjectApp( obj ); -} +WIN32U_CALL(NtGdiDeleteObjectApp, obj)
-LONG WINAPI NtGdiDoPalette( HGDIOBJ handle, WORD start, WORD count, void *entries, - DWORD func, BOOL inbound ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiDoPalette( handle, start, count, entries, func, inbound ); -} +LONG WINAPI NtGdiDoPalette( HGDIOBJ handle, WORD start, WORD count, void *entries, DWORD func, BOOL inbound ) +WIN32U_CALL(NtGdiDoPalette, handle, start, count, entries, func, inbound)
BOOL WINAPI NtGdiEllipse( HDC hdc, INT left, INT top, INT right, INT bottom ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiEllipse( hdc, left, top, right, bottom ); -} +WIN32U_CALL(NtGdiEllipse, hdc, left, top, right, bottom)
-INT WINAPI NtGdiEndDoc( HDC hdc ) -{ - if (!unix_funcs) return SP_ERROR; - return unix_funcs->pNtGdiEndDoc( hdc ); -} +INT WINAPI NtGdiEndDoc(HDC hdc) +WIN32U_CALL(NtGdiEndDoc, hdc)
BOOL WINAPI NtGdiEndPath( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiEndPath( hdc ); -} +WIN32U_CALL(NtGdiEndPath, hdc)
INT WINAPI NtGdiEndPage( HDC hdc ) -{ - if (!unix_funcs) return SP_ERROR; - return unix_funcs->pNtGdiEndPage( hdc ); -} +WIN32U_CALL(NtGdiEndPage, hdc)
-BOOL WINAPI NtUserEndPaint( HWND hwnd, const PAINTSTRUCT *ps ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtUserEndPaint( hwnd, ps ); -} - -BOOL WINAPI NtGdiEnumFonts( HDC hdc, ULONG type, ULONG win32_compat, ULONG face_name_len, - const WCHAR *face_name, ULONG charset, ULONG *count, void *buf ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiEnumFonts( hdc, type, win32_compat, face_name_len, face_name, - charset, count, buf ); -} +BOOL WINAPI NtGdiEnumFonts( HDC hdc, ULONG type, ULONG win32_compat, ULONG face_name_len, const WCHAR *face_name, ULONG charset, ULONG *count, void *buf ) +WIN32U_CALL(NtGdiEnumFonts, hdc, type, win32_compat, face_name_len, face_name, charset, count, buf)
INT WINAPI NtGdiExcludeClipRect( HDC hdc, INT left, INT top, INT right, INT bottom ) -{ - if (!unix_funcs) return ERROR; - return unix_funcs->pNtGdiExcludeClipRect( hdc, left, top, right, bottom ); -} +WIN32U_CALL(NtGdiExcludeClipRect, hdc, left, top, right, bottom)
-INT WINAPI NtGdiExtEscape( HDC hdc, WCHAR *driver, INT driver_id, INT escape, INT input_size, - const char *input, INT output_size, char *output ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiExtEscape( hdc, driver, driver_id, escape, input_size, input, - output_size, output ); -} +INT WINAPI NtGdiExtEscape( HDC hdc, WCHAR *driver, INT driver_id, INT escape, INT input_size, const char *input, INT output_size, char *output ) +WIN32U_CALL(NtGdiExtEscape, hdc, driver, driver_id, escape, input_size, input, output_size, output)
BOOL WINAPI NtGdiExtFloodFill( HDC hdc, INT x, INT y, COLORREF color, UINT type ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiExtFloodFill( hdc, x, y, color, type ); -} +WIN32U_CALL(NtGdiExtFloodFill, hdc, x, y, color, type)
-BOOL WINAPI NtGdiExtTextOutW( HDC hdc, INT x, INT y, UINT flags, const RECT *rect, - const WCHAR *str, UINT count, const INT *dx, DWORD cp ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiExtTextOutW( hdc, x, y, flags, rect, str, count, dx, cp ); -} +BOOL WINAPI NtGdiExtTextOutW( HDC hdc, INT x, INT y, UINT flags, const RECT *rect, const WCHAR *str, UINT count, const INT *dx, DWORD cp ) +WIN32U_CALL(NtGdiExtTextOutW, hdc, x, y, flags, rect, str, count, dx, cp)
INT WINAPI NtGdiExtSelectClipRgn( HDC hdc, HRGN region, INT mode ) -{ - if (!unix_funcs) return ERROR; - return unix_funcs->pNtGdiExtSelectClipRgn( hdc, region, mode ); -} +WIN32U_CALL(NtGdiExtSelectClipRgn, hdc, region, mode)
BOOL WINAPI NtGdiFillPath( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiFillPath( hdc ); -} +WIN32U_CALL(NtGdiFillPath, hdc)
BOOL WINAPI NtGdiFillRgn( HDC hdc, HRGN hrgn, HBRUSH hbrush ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiFillRgn( hdc, hrgn, hbrush ); -} +WIN32U_CALL(NtGdiFillRgn, hdc, hrgn, hbrush)
BOOL WINAPI NtGdiFontIsLinked( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiFontIsLinked( hdc ); -} +WIN32U_CALL(NtGdiFontIsLinked, hdc)
BOOL WINAPI NtGdiFrameRgn( HDC hdc, HRGN hrgn, HBRUSH brush, INT width, INT height ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiFrameRgn( hdc, hrgn, brush, width, height ); -} +WIN32U_CALL(NtGdiFrameRgn, hdc, hrgn, brush, width, height)
BOOL WINAPI NtGdiGetAndSetDCDword( HDC hdc, UINT method, DWORD value, DWORD *result ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiGetAndSetDCDword( hdc, method, value, result ); -} +WIN32U_CALL(NtGdiGetAndSetDCDword, hdc, method, value, result)
INT WINAPI NtGdiGetAppClipBox( HDC hdc, RECT *rect ) -{ - if (!unix_funcs) return ERROR; - return unix_funcs->pNtGdiGetAppClipBox( hdc, rect ); -} +WIN32U_CALL(NtGdiGetAppClipBox, hdc, rect)
UINT WINAPI NtGdiGetBoundsRect( HDC hdc, RECT *rect, UINT flags ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiGetBoundsRect( hdc, rect, flags ); -} +WIN32U_CALL(NtGdiGetBoundsRect, hdc, rect, flags)
-BOOL WINAPI NtGdiGetCharABCWidthsW( HDC hdc, UINT first, UINT last, WCHAR *chars, - ULONG flags, void *buffer ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiGetCharABCWidthsW( hdc, first, last, chars, flags, buffer ); -} +BOOL WINAPI NtGdiGetCharABCWidthsW( HDC hdc, UINT first, UINT last, WCHAR *chars, ULONG flags, void *buffer ) +WIN32U_CALL(NtGdiGetCharABCWidthsW, hdc, first, last, chars, flags, buffer)
-BOOL WINAPI NtGdiGetCharWidthW( HDC hdc, UINT first_char, UINT last_char, WCHAR *chars, - ULONG flags, void *buffer ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiGetCharWidthW( hdc, first_char, last_char, chars, flags, buffer ); -} +BOOL WINAPI NtGdiGetCharWidthW( HDC hdc, UINT first_char, UINT last_char, WCHAR *chars, ULONG flags, void *buffer ) +WIN32U_CALL(NtGdiGetCharWidthW, hdc, first_char, last_char, chars, flags, buffer)
BOOL WINAPI NtGdiGetCharWidthInfo( HDC hdc, struct char_width_info *info ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiGetCharWidthInfo( hdc, info ); -} +WIN32U_CALL(NtGdiGetCharWidthInfo, hdc, info)
-INT WINAPI NtGdiGetDIBitsInternal( HDC hdc, HBITMAP hbitmap, UINT startscan, UINT lines, - void *bits, BITMAPINFO *info, UINT coloruse, - UINT max_bits, UINT max_info ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiGetDIBitsInternal( hdc, hbitmap, startscan, lines, bits, info, coloruse, - max_bits, max_info ); -} +INT WINAPI NtGdiGetDIBitsInternal( HDC hdc, HBITMAP hbitmap, UINT startscan, UINT lines, void *bits, BITMAPINFO *info, UINT coloruse, UINT max_bits, UINT max_info ) +WIN32U_CALL(NtGdiGetDIBitsInternal, hdc, hbitmap, startscan, lines, bits, info, coloruse, max_bits, max_info)
INT WINAPI NtGdiGetDeviceCaps( HDC hdc, INT cap ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiGetDeviceCaps( hdc, cap ); -} +WIN32U_CALL(NtGdiGetDeviceCaps, hdc, cap)
BOOL WINAPI NtGdiGetDeviceGammaRamp( HDC hdc, void *ptr ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiGetDeviceGammaRamp( hdc, ptr ); -} +WIN32U_CALL(NtGdiGetDeviceGammaRamp, hdc, ptr)
DWORD WINAPI NtGdiGetFontData( HDC hdc, DWORD table, DWORD offset, void *buffer, DWORD length ) -{ - if (!unix_funcs) return GDI_ERROR; - return unix_funcs->pNtGdiGetFontData( hdc, table, offset, buffer, length ); -} +WIN32U_CALL(NtGdiGetFontData, hdc, table, offset, buffer, length)
DWORD WINAPI NtGdiGetFontUnicodeRanges( HDC hdc, GLYPHSET *lpgs ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiGetFontUnicodeRanges( hdc, lpgs ); -} +WIN32U_CALL(NtGdiGetFontUnicodeRanges, hdc, lpgs)
-DWORD WINAPI NtGdiGetGlyphIndicesW( HDC hdc, const WCHAR *str, INT count, - WORD *indices, DWORD flags ) -{ - if (!unix_funcs) return GDI_ERROR; - return unix_funcs->pNtGdiGetGlyphIndicesW( hdc, str, count, indices, flags ); -} +DWORD WINAPI NtGdiGetGlyphIndicesW( HDC hdc, const WCHAR *str, INT count, WORD *indices, DWORD flags ) +WIN32U_CALL(NtGdiGetGlyphIndicesW, hdc, str, count, indices, flags)
-DWORD WINAPI NtGdiGetGlyphOutline( HDC hdc, UINT ch, UINT format, GLYPHMETRICS *metrics, - DWORD size, void *buffer, const MAT2 *mat2, - BOOL ignore_rotation ) -{ - if (!unix_funcs) return GDI_ERROR; - return unix_funcs->pNtGdiGetGlyphOutline( hdc, ch, format, metrics, size, buffer, mat2, ignore_rotation ); -} +DWORD WINAPI NtGdiGetGlyphOutline( HDC hdc, UINT ch, UINT format, GLYPHMETRICS *metrics, DWORD size, void *buffer, const MAT2 *mat2, BOOL ignore_rotation ) +WIN32U_CALL(NtGdiGetGlyphOutline, hdc, ch, format, metrics, size, buffer, mat2, ignore_rotation)
DWORD WINAPI NtGdiGetKerningPairs( HDC hdc, DWORD count, KERNINGPAIR *kern_pair ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiGetKerningPairs( hdc, count, kern_pair ); -} +WIN32U_CALL(NtGdiGetKerningPairs, hdc, count, kern_pair)
COLORREF WINAPI NtGdiGetNearestColor( HDC hdc, COLORREF color ) -{ - if (!unix_funcs) return CLR_INVALID; - return unix_funcs->pNtGdiGetNearestColor( hdc, color ); -} +WIN32U_CALL(NtGdiGetNearestColor, hdc, color)
-UINT WINAPI NtGdiGetOutlineTextMetricsInternalW( HDC hdc, UINT cbData, - OUTLINETEXTMETRICW *otm, ULONG opts ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiGetOutlineTextMetricsInternalW( hdc, cbData, otm, opts ); -} +UINT WINAPI NtGdiGetOutlineTextMetricsInternalW( HDC hdc, UINT cbData, OUTLINETEXTMETRICW *otm, ULONG opts ) +WIN32U_CALL(NtGdiGetOutlineTextMetricsInternalW, hdc, cbData, otm, opts)
COLORREF WINAPI NtGdiGetPixel( HDC hdc, INT x, INT y ) -{ - if (!unix_funcs) return CLR_INVALID; - return unix_funcs->pNtGdiGetPixel( hdc, x, y ); -} +WIN32U_CALL(NtGdiGetPixel, hdc, x, y)
INT WINAPI NtGdiGetRandomRgn( HDC hdc, HRGN region, INT code ) -{ - if (!unix_funcs) return -1; - return unix_funcs->pNtGdiGetRandomRgn( hdc, region, code ); -} +WIN32U_CALL(NtGdiGetRandomRgn, hdc, region, code)
BOOL WINAPI NtGdiGetRasterizerCaps( RASTERIZER_STATUS *status, UINT size ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiGetRasterizerCaps( status, size ); -} +WIN32U_CALL(NtGdiGetRasterizerCaps, status, size)
BOOL WINAPI NtGdiGetRealizationInfo( HDC hdc, struct font_realization_info *info ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiGetRealizationInfo( hdc, info ); -} +WIN32U_CALL(NtGdiGetRealizationInfo, hdc, info)
UINT WINAPI NtGdiGetTextCharsetInfo( HDC hdc, FONTSIGNATURE *fs, DWORD flags ) -{ - if (!unix_funcs) return DEFAULT_CHARSET; - return unix_funcs->pNtGdiGetTextCharsetInfo( hdc, fs, flags ); -} +WIN32U_CALL(NtGdiGetTextCharsetInfo, hdc, fs, flags)
-BOOL WINAPI NtGdiGetTextExtentExW( HDC hdc, const WCHAR *str, INT count, INT max_ext, - INT *nfit, INT *dxs, SIZE *size, UINT flags ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiGetTextExtentExW( hdc, str, count, max_ext, nfit, dxs, size, flags ); -} +BOOL WINAPI NtGdiGetTextExtentExW( HDC hdc, const WCHAR *str, INT count, INT max_ext, INT *nfit, INT *dxs, SIZE *size, UINT flags ) +WIN32U_CALL(NtGdiGetTextExtentExW, hdc, str, count, max_ext, nfit, dxs, size, flags)
INT WINAPI NtGdiGetTextFaceW( HDC hdc, INT count, WCHAR *name, BOOL alias_name ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiGetTextFaceW( hdc, count, name, alias_name ); -} +WIN32U_CALL(NtGdiGetTextFaceW, hdc, count, name, alias_name)
BOOL WINAPI NtGdiGetTextMetricsW( HDC hdc, TEXTMETRICW *metrics, ULONG flags ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiGetTextMetricsW( hdc, metrics, flags ); -} +WIN32U_CALL(NtGdiGetTextMetricsW, hdc, metrics, flags)
-BOOL WINAPI NtGdiGradientFill( HDC hdc, TRIVERTEX *vert_array, ULONG nvert, - void *grad_array, ULONG ngrad, ULONG mode ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiGradientFill( hdc, vert_array, nvert, grad_array, ngrad, mode ); -} +BOOL WINAPI NtGdiGradientFill( HDC hdc, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode ) +WIN32U_CALL(NtGdiGradientFill, hdc, vert_array, nvert, grad_array, ngrad, mode)
INT WINAPI NtGdiIntersectClipRect( HDC hdc, INT left, INT top, INT right, INT bottom ) -{ - if (!unix_funcs) return ERROR; - return unix_funcs->pNtGdiIntersectClipRect( hdc, left, top, right, bottom ); -} +WIN32U_CALL(NtGdiIntersectClipRect, hdc, left, top, right, bottom)
BOOL WINAPI NtGdiInvertRgn( HDC hdc, HRGN hrgn ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiInvertRgn( hdc, hrgn ); -} +WIN32U_CALL(NtGdiInvertRgn, hdc, hrgn)
BOOL WINAPI NtGdiLineTo( HDC hdc, INT x, INT y ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiLineTo( hdc, x, y ); -} +WIN32U_CALL(NtGdiLineTo, hdc, x, y)
-BOOL WINAPI NtGdiMaskBlt( HDC hdc, INT x_dst, INT y_dst, INT width_dst, INT height_dst, - HDC hdc_src, INT x_src, INT y_src, HBITMAP mask, - INT x_mask, INT y_mask, DWORD rop, DWORD bk_color ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiMaskBlt( hdc, x_dst, y_dst, width_dst, height_dst, hdc_src, - x_src, y_src, mask, x_mask, y_mask, rop, bk_color ); -} +BOOL WINAPI NtGdiMaskBlt( HDC hdc, INT x_dst, INT y_dst, INT width_dst, INT height_dst, HDC hdc_src, INT x_src, INT y_src, HBITMAP mask, INT x_mask, INT y_mask, DWORD rop, DWORD bk_color ) +WIN32U_CALL(NtGdiMaskBlt, hdc, x_dst, y_dst, width_dst, height_dst, hdc_src, x_src, y_src, mask, x_mask, y_mask, rop, bk_color)
BOOL WINAPI NtGdiModifyWorldTransform( HDC hdc, const XFORM *xform, DWORD mode ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiModifyWorldTransform( hdc, xform, mode ); -} +WIN32U_CALL(NtGdiModifyWorldTransform, hdc, xform, mode)
BOOL WINAPI NtGdiMoveTo( HDC hdc, INT x, INT y, POINT *pt ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiMoveTo( hdc, x, y, pt ); -} +WIN32U_CALL(NtGdiMoveTo, hdc, x, y, pt)
INT WINAPI NtGdiOffsetClipRgn( HDC hdc, INT x, INT y ) -{ - if (!unix_funcs) return ERROR; - return unix_funcs->pNtGdiOffsetClipRgn( hdc, x, y ); -} +WIN32U_CALL(NtGdiOffsetClipRgn, hdc, 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 ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiOpenDCW( device, devmode, output, type, is_display, - hspool, driver_info, pdev ); -} +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 ) +WIN32U_CALL(NtGdiOpenDCW, device, devmode, output, type, is_display, hspool, driver_info, pdev)
BOOL WINAPI NtGdiPatBlt( HDC hdc, INT left, INT top, INT width, INT height, DWORD rop ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiPatBlt( hdc, left, top, width, height, rop ); -} +WIN32U_CALL(NtGdiPatBlt, hdc, left, top, width, height, rop)
-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, - DWORD bk_color ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiPlgBlt( hdc, point, hdc_src, x_src, y_src, width, height, mask, - x_mask, y_mask, bk_color ); -} +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, DWORD bk_color ) +WIN32U_CALL(NtGdiPlgBlt, hdc, point, hdc_src, x_src, y_src, width, height, mask, x_mask, y_mask, bk_color)
-BOOL WINAPI NtGdiPolyDraw( HDC hdc, const POINT *points, const BYTE *types, DWORD count ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiPolyDraw( hdc, points, types, count ); -} +BOOL WINAPI NtGdiPolyDraw(HDC hdc, const POINT *points, const BYTE *types, DWORD count ) +WIN32U_CALL(NtGdiPolyDraw, hdc, points, types, count)
-ULONG WINAPI NtGdiPolyPolyDraw( HDC hdc, const POINT *points, const ULONG *counts, - DWORD count, UINT function ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiPolyPolyDraw( hdc, points, counts, count, function ); -} +ULONG WINAPI NtGdiPolyPolyDraw( HDC hdc, const POINT *points, const ULONG *counts, DWORD count, UINT function ) +WIN32U_CALL(NtGdiPolyPolyDraw, hdc, points, counts, count, function)
BOOL WINAPI NtGdiPtVisible( HDC hdc, INT x, INT y ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiPtVisible( hdc, x, y ); -} +WIN32U_CALL(NtGdiPtVisible, hdc, x, y)
BOOL WINAPI NtGdiRectVisible( HDC hdc, const RECT *rect ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiRectVisible( hdc, rect ); -} +WIN32U_CALL(NtGdiRectVisible, hdc, rect)
BOOL WINAPI NtGdiRectangle( HDC hdc, INT left, INT top, INT right, INT bottom ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiRectangle( hdc, left, top, right, bottom ); -} +WIN32U_CALL(NtGdiRectangle, hdc, left, top, right, bottom)
-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 NtGdiResetDC( HDC hdc, const DEVMODEW *devmode, BOOL *banding, DRIVER_INFO_2W *driver_info, void *dev ) +WIN32U_CALL(NtGdiResetDC, hdc, devmode, banding, driver_info, dev)
BOOL WINAPI NtGdiResizePalette( HPALETTE palette, UINT count ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiResizePalette( palette, count ); -} +WIN32U_CALL(NtGdiResizePalette, palette, count)
BOOL WINAPI NtGdiRestoreDC( HDC hdc, INT level ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiRestoreDC( hdc, level ); -} +WIN32U_CALL(NtGdiRestoreDC, hdc, level)
-BOOL WINAPI NtGdiRoundRect( HDC hdc, INT left, INT top, INT right, - INT bottom, INT ell_width, INT ell_height ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiRoundRect( hdc, left, top, right, bottom, ell_width, ell_height ); -} +BOOL WINAPI NtGdiRoundRect( HDC hdc, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height ) +WIN32U_CALL(NtGdiRoundRect, hdc, left, top, right, bottom, ell_width, ell_height)
-BOOL WINAPI NtGdiScaleViewportExtEx( HDC hdc, INT x_num, INT x_denom, - INT y_num, INT y_denom, SIZE *size ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiScaleViewportExtEx( hdc, x_num, x_denom, y_num, y_denom, size ); -} +BOOL WINAPI NtGdiScaleViewportExtEx( HDC hdc, INT x_num, INT x_denom, INT y_num, INT y_denom, SIZE *size ) +WIN32U_CALL(NtGdiScaleViewportExtEx, hdc, x_num, x_denom, y_num, y_denom, size)
-BOOL WINAPI NtGdiScaleWindowExtEx( HDC hdc, INT x_num, INT x_denom, - INT y_num, INT y_denom, SIZE *size ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiScaleWindowExtEx( hdc, x_num, x_denom, y_num, y_denom, size ); -} +BOOL WINAPI NtGdiScaleWindowExtEx( HDC hdc, INT x_num, INT x_denom, INT y_num, INT y_denom, SIZE *size ) +WIN32U_CALL(NtGdiScaleWindowExtEx, hdc, x_num, x_denom, y_num, y_denom, size)
HGDIOBJ WINAPI NtGdiSelectBitmap( HDC hdc, HGDIOBJ handle ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiSelectBitmap( hdc, handle ); -} +WIN32U_CALL(NtGdiSelectBitmap, hdc, handle)
HGDIOBJ WINAPI NtGdiSelectBrush( HDC hdc, HGDIOBJ handle ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiSelectBrush( hdc, handle ); -} +WIN32U_CALL(NtGdiSelectBrush, hdc, handle)
BOOL WINAPI NtGdiSelectClipPath( HDC hdc, INT mode ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiSelectClipPath( hdc, mode ); -} +WIN32U_CALL(NtGdiSelectClipPath, hdc, mode)
HGDIOBJ WINAPI NtGdiSelectFont( HDC hdc, HGDIOBJ handle ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiSelectFont( hdc, handle ); -} +WIN32U_CALL(NtGdiSelectFont, hdc, handle)
HGDIOBJ WINAPI NtGdiSelectPen( HDC hdc, HGDIOBJ handle ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiSelectPen( hdc, handle ); -} +WIN32U_CALL(NtGdiSelectPen, hdc, handle)
UINT WINAPI NtGdiSetBoundsRect( HDC hdc, const RECT *rect, UINT flags ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiSetBoundsRect( hdc, rect, flags ); -} +WIN32U_CALL(NtGdiSetBoundsRect, hdc, rect, flags)
-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, - UINT coloruse, UINT max_bits, UINT max_info, - BOOL xform_coords, HANDLE xform ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiSetDIBitsToDeviceInternal( hdc, x_dst, y_dst, cx, cy, x_src, y_src, - startscan, lines, bits, bmi, coloruse, - max_bits, max_info, xform_coords, xform ); -} +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, UINT coloruse, UINT max_bits, UINT max_info, BOOL xform_coords, HANDLE xform ) +WIN32U_CALL(NtGdiSetDIBitsToDeviceInternal, hdc, x_dst, y_dst, cx, cy, x_src, y_src, startscan, lines, bits, bmi, coloruse, max_bits, max_info, xform_coords, xform)
BOOL WINAPI NtGdiSetDeviceGammaRamp( HDC hdc, void *ptr ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiSetDeviceGammaRamp( hdc, ptr ); -} +WIN32U_CALL(NtGdiSetDeviceGammaRamp, hdc, ptr)
DWORD WINAPI NtGdiSetLayout( HDC hdc, LONG wox, DWORD layout ) -{ - if (!unix_funcs) return GDI_ERROR; - return unix_funcs->pNtGdiSetLayout( hdc, wox, layout ); -} +WIN32U_CALL(NtGdiSetLayout, hdc, wox, layout)
COLORREF WINAPI NtGdiSetPixel( HDC hdc, INT x, INT y, COLORREF color ) -{ - if (!unix_funcs) return CLR_INVALID; - return unix_funcs->pNtGdiSetPixel( hdc, x, y, color ); -} +WIN32U_CALL(NtGdiSetPixel, hdc, x, y, color)
UINT WINAPI NtGdiSetSystemPaletteUse( HDC hdc, UINT use ) -{ - if (!unix_funcs) return SYSPAL_ERROR; - return unix_funcs->pNtGdiSetSystemPaletteUse( hdc, use ); -} +WIN32U_CALL(NtGdiSetSystemPaletteUse, hdc, use)
INT WINAPI NtGdiStartDoc( HDC hdc, const DOCINFOW *doc, BOOL *banding, INT job ) -{ - if (!unix_funcs) return SP_ERROR; - return unix_funcs->pNtGdiStartDoc( hdc, doc, banding, job ); -} +WIN32U_CALL(NtGdiStartDoc, hdc, doc, banding, job)
INT WINAPI NtGdiStartPage( HDC hdc ) -{ - if (!unix_funcs) return SP_ERROR; - return unix_funcs->pNtGdiStartPage( hdc ); -} +WIN32U_CALL(NtGdiStartPage, hdc)
-BOOL WINAPI NtGdiStretchBlt( HDC hdc, INT x_dst, INT y_dst, INT width_dst, INT height_dst, - HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src, - DWORD rop, COLORREF bk_color ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiStretchBlt( hdc, x_dst, y_dst, width_dst, height_dst, hdc_src, - x_src, y_src, width_src, height_src, rop, bk_color ); -} +BOOL WINAPI NtGdiStretchBlt( HDC hdc, INT x_dst, INT y_dst, INT width_dst, INT height_dst, HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src, DWORD rop, COLORREF bk_color ) +WIN32U_CALL(NtGdiStretchBlt, hdc, x_dst, y_dst, width_dst, height_dst, hdc_src, x_src, y_src, width_src, height_src, rop, bk_color)
-INT WINAPI NtGdiStretchDIBitsInternal( HDC hdc, INT x_dst, INT y_dst, INT width_dst, - INT height_dst, INT x_src, INT y_src, INT width_src, - INT height_src, const void *bits, const BITMAPINFO *bmi, - UINT coloruse, DWORD rop, UINT max_info, UINT max_bits, - HANDLE xform ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtGdiStretchDIBitsInternal( hdc, x_dst, y_dst, width_dst, height_dst, - x_src, y_src, width_src, height_src, bits, bmi, - coloruse, rop, max_info, max_bits, xform ); -} +INT WINAPI NtGdiStretchDIBitsInternal( HDC hdc, INT x_dst, INT y_dst, INT width_dst, INT height_dst, INT x_src, INT y_src, INT width_src, INT height_src, const void *bits, const BITMAPINFO *bmi, UINT coloruse, DWORD rop, UINT max_info, UINT max_bits, HANDLE xform ) +WIN32U_CALL(NtGdiStretchDIBitsInternal, hdc, x_dst, y_dst, width_dst, height_dst, x_src, y_src, width_src, height_src, bits, bmi, coloruse, rop, max_info, max_bits, xform)
BOOL WINAPI NtGdiStrokeAndFillPath( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiStrokeAndFillPath( hdc ); -} +WIN32U_CALL(NtGdiStrokeAndFillPath, hdc)
BOOL WINAPI NtGdiStrokePath( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiStrokePath( hdc ); -} +WIN32U_CALL(NtGdiStrokePath, hdc)
-BOOL WINAPI NtGdiTransparentBlt( HDC hdc, int x_dst, int y_dst, int width_dst, int height_dst, - HDC hdc_src, int x_src, int y_src, int width_src, int height_src, - UINT color ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiTransparentBlt( hdc, x_dst, y_dst, width_dst, height_dst, hdc_src, - x_src, y_src, width_src, height_src, color ); -} +BOOL WINAPI NtGdiTransparentBlt( HDC hdc, int x_dst, int y_dst, int width_dst, int height_dst, HDC hdc_src, int x_src, int y_src, int width_src, int height_src, UINT color ) +WIN32U_CALL(NtGdiTransparentBlt, hdc, x_dst, y_dst, width_dst, height_dst, hdc_src, x_src, y_src, width_src, height_src, color)
BOOL WINAPI NtGdiUnrealizeObject( HGDIOBJ obj ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiUnrealizeObject( obj ); -} +WIN32U_CALL(NtGdiUnrealizeObject, obj)
BOOL WINAPI NtGdiUpdateColors( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiUpdateColors( hdc ); -} +WIN32U_CALL(NtGdiUpdateColors, hdc)
BOOL WINAPI NtGdiWidenPath( HDC hdc ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtGdiWidenPath( hdc ); -} - -NTSTATUS WINAPI NtGdiDdDDICheckVidPnExclusiveOwnership( const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *desc ) -{ - if (!unix_funcs) return STATUS_NOT_SUPPORTED; - return unix_funcs->pNtGdiDdDDICheckVidPnExclusiveOwnership( desc ); -} - -NTSTATUS WINAPI NtGdiDdDDICloseAdapter( const D3DKMT_CLOSEADAPTER *desc ) -{ - if (!unix_funcs) return STATUS_NOT_SUPPORTED; - return unix_funcs->pNtGdiDdDDICloseAdapter( desc ); -} - -NTSTATUS WINAPI NtGdiDdDDICreateDCFromMemory( D3DKMT_CREATEDCFROMMEMORY *desc ) -{ - if (!unix_funcs) return STATUS_NOT_SUPPORTED; - return unix_funcs->pNtGdiDdDDICreateDCFromMemory( desc ); -} - -NTSTATUS WINAPI NtGdiDdDDIDestroyDCFromMemory( const D3DKMT_DESTROYDCFROMMEMORY *desc ) -{ - if (!unix_funcs) return STATUS_NOT_SUPPORTED; - return unix_funcs->pNtGdiDdDDIDestroyDCFromMemory( desc ); -} - -NTSTATUS WINAPI NtGdiDdDDIDestroyDevice( const D3DKMT_DESTROYDEVICE *desc ) -{ - if (!unix_funcs) return STATUS_NOT_SUPPORTED; - return unix_funcs->pNtGdiDdDDIDestroyDevice( desc ); -} - -NTSTATUS WINAPI NtGdiDdDDIEscape( const D3DKMT_ESCAPE *desc ) -{ - if (!unix_funcs) return STATUS_NOT_SUPPORTED; - return unix_funcs->pNtGdiDdDDIEscape( desc ); -} - -NTSTATUS WINAPI NtGdiDdDDIOpenAdapterFromDeviceName( D3DKMT_OPENADAPTERFROMDEVICENAME *desc ) -{ - if (!unix_funcs) return STATUS_NOT_SUPPORTED; - return unix_funcs->pNtGdiDdDDIOpenAdapterFromDeviceName( desc ); -} - -NTSTATUS WINAPI NtGdiDdDDIOpenAdapterFromLuid( D3DKMT_OPENADAPTERFROMLUID *desc ) -{ - if (!unix_funcs) return STATUS_NOT_SUPPORTED; - return unix_funcs->pNtGdiDdDDIOpenAdapterFromLuid( desc ); -} - -NTSTATUS WINAPI NtGdiDdDDIQueryVideoMemoryInfo( D3DKMT_QUERYVIDEOMEMORYINFO *desc ) -{ - if (!unix_funcs) return STATUS_NOT_SUPPORTED; - return unix_funcs->pNtGdiDdDDIQueryVideoMemoryInfo( desc ); -} - -NTSTATUS WINAPI NtGdiDdDDISetVidPnSourceOwner( const D3DKMT_SETVIDPNSOURCEOWNER *desc ) -{ - if (!unix_funcs) return STATUS_NOT_SUPPORTED; - return unix_funcs->pNtGdiDdDDISetVidPnSourceOwner( desc ); -} +WIN32U_CALL(NtGdiWidenPath, hdc)
-BOOL WINAPI NtUserDrawCaptionTemp( HWND hwnd, HDC hdc, const RECT *rect, HFONT font, - HICON icon, const WCHAR *str, UINT flags ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtUserDrawCaptionTemp( hwnd, hdc, rect, font, icon, str, flags ); -} +BOOL WINAPI NtUserDrawCaptionTemp( HWND hwnd, HDC hdc, const RECT *rect, HFONT font, HICON icon, const WCHAR *str, UINT flags ) +WIN32U_CALL(NtUserDrawCaptionTemp, hwnd, hdc, rect, font, icon, str, flags)
DWORD WINAPI NtUserDrawMenuBarTemp( HWND hwnd, HDC hdc, RECT *rect, HMENU handle, HFONT font ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtUserDrawMenuBarTemp( hwnd, hdc, rect, handle, font ); -} +WIN32U_CALL(NtUserDrawMenuBarTemp, hwnd, hdc, rect, handle, font) + +BOOL WINAPI NtUserEndPaint( HWND hwnd, const PAINTSTRUCT *ps ) +WIN32U_CALL(NtUserEndPaint, hwnd, ps)
INT WINAPI NtUserExcludeUpdateRgn( HDC hdc, HWND hwnd ) -{ - if (!unix_funcs) return ERROR; - return unix_funcs->pNtUserExcludeUpdateRgn( hdc, hwnd ); -} +WIN32U_CALL(NtUserExcludeUpdateRgn, hdc, hwnd)
INT WINAPI NtUserReleaseDC( HWND hwnd, HDC hdc ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtUserReleaseDC( hwnd, hdc ); -} +WIN32U_CALL(NtUserReleaseDC, hwnd, hdc)
-BOOL WINAPI NtUserScrollDC( HDC hdc, INT dx, INT dy, const RECT *scroll, const RECT *clip, - HRGN ret_update_rgn, RECT *update_rect ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtUserScrollDC( hdc, dx, dy, scroll, clip, ret_update_rgn, update_rect ); -} +BOOL WINAPI NtUserScrollDC( HDC hdc, INT dx, INT dy, const RECT *scroll, const RECT *clip, HRGN ret_update_rgn, RECT *update_rect ) +WIN32U_CALL(NtUserScrollDC, hdc, dx, dy, scroll, clip, ret_update_rgn, update_rect)
HPALETTE WINAPI NtUserSelectPalette( HDC hdc, HPALETTE hpal, WORD bkg ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtUserSelectPalette( hdc, hpal, bkg ); -} +WIN32U_CALL(NtUserSelectPalette, hdc, hpal, bkg)
-BOOL WINAPI NtUserUpdateLayeredWindow( HWND hwnd, HDC hdc_dst, const POINT *pts_dst, const SIZE *size, - HDC hdc_src, const POINT *pts_src, COLORREF key, - const BLENDFUNCTION *blend, DWORD flags, const RECT *dirty ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtUserUpdateLayeredWindow( hwnd, hdc_dst, pts_dst, size, hdc_src, pts_src, - key, blend, flags, dirty ); -} +BOOL WINAPI NtUserUpdateLayeredWindow( HWND hwnd, HDC hdc_dst, const POINT *pts_dst, const SIZE *size, HDC hdc_src, const POINT *pts_src, COLORREF key, const BLENDFUNCTION *blend, DWORD flags, const RECT *dirty ) +WIN32U_CALL(NtUserUpdateLayeredWindow, hwnd, hdc_dst, pts_dst, size, hdc_src, pts_src, key, blend, flags, dirty)
-INT WINAPI SetDIBits( HDC hdc, HBITMAP hbitmap, UINT startscan, - UINT lines, const void *bits, const BITMAPINFO *info, - UINT coloruse ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pSetDIBits( hdc, hbitmap, startscan, lines, bits, info, coloruse ); -} - -BOOL CDECL __wine_get_icm_profile( HDC hdc, BOOL allow_default, DWORD *size, WCHAR *filename ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->get_icm_profile( hdc, allow_default, size, filename ); -} +INT WINAPI SetDIBits( HDC hdc, HBITMAP hbitmap, UINT startscan, UINT lines, const void *bits, const BITMAPINFO *info, UINT coloruse ) +WIN32U_CALL(SetDIBits, hdc, hbitmap, startscan, lines, bits, info, coloruse)
BOOL CDECL __wine_get_brush_bitmap_info( HBRUSH handle, BITMAPINFO *info, void *bits, UINT *usage ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->get_brush_bitmap_info( handle, info, bits, usage ); -} +WIN32U_CALL(__wine_get_brush_bitmap_info, handle, info, bits, usage)
BOOL CDECL __wine_get_file_outline_text_metric( const WCHAR *path, OUTLINETEXTMETRICW *otm ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->get_file_outline_text_metric( path, otm ); -} +WIN32U_CALL(__wine_get_file_outline_text_metric, path, otm) + +BOOL CDECL __wine_get_icm_profile( HDC hdc, BOOL allow_default, DWORD *size, WCHAR *filename ) +WIN32U_CALL(__wine_get_icm_profile, hdc, allow_default, size, filename)
BOOL CDECL __wine_send_input( HWND hwnd, const INPUT *input, const RAWINPUT *rawinput ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->wine_send_input( hwnd, input, rawinput ); -} +WIN32U_CALL(__wine_send_input, hwnd, input, rawinput)
-extern void wrappers_init( unixlib_handle_t handle ) -{ - const void *args; - if (!__wine_unix_call( handle, 1, &args )) unix_funcs = args; -} +#undef WIN32U_CALL \ No newline at end of file