1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-08 03:45:57 +00:00

win32u: Move NtUserPrintWindow implementation from user32.

This commit is contained in:
Jacek Caban 2022-11-28 21:43:10 +01:00 committed by Alexandre Julliard
parent ae984f630b
commit 6b2da0bab9
8 changed files with 25 additions and 17 deletions

View File

@ -62,18 +62,3 @@ BOOL WINAPI ScrollWindow( HWND hwnd, INT dx, INT dy,
UINT flags = SW_INVALIDATE | SW_ERASE | (rect ? 0 : SW_SCROLLCHILDREN) | SW_NODCCACHE;
return NtUserScrollWindowEx( hwnd, dx, dy, rect, clipRect, 0, NULL, flags );
}
/************************************************************************
* PrintWindow (USER32.@)
*
*/
BOOL WINAPI PrintWindow(HWND hwnd, HDC hdcBlt, UINT nFlags)
{
UINT flags = PRF_CHILDREN | PRF_ERASEBKGND | PRF_OWNED | PRF_CLIENT;
if(!(nFlags & PW_CLIENTONLY))
{
flags |= PRF_NONCLIENT;
}
SendMessageW(hwnd, WM_PRINT, (WPARAM)hdcBlt, flags);
return TRUE;
}

View File

@ -576,7 +576,7 @@
@ stdcall PostQuitMessage(long)
@ stdcall PostThreadMessageA(long long long long)
@ stdcall PostThreadMessageW(long long long long) NtUserPostThreadMessage
@ stdcall PrintWindow(long long long)
@ stdcall PrintWindow(long long long) NtUserPrintWindow
@ stdcall PrivateExtractIconExA(str long ptr ptr long)
@ stdcall PrivateExtractIconExW(wstr long ptr ptr long)
@ stdcall PrivateExtractIconsA (str long long long ptr ptr long long)

View File

@ -1858,3 +1858,14 @@ INT WINAPI NtUserScrollWindowEx( HWND hwnd, INT dx, INT dy, const RECT *rect,
return retval;
}
/************************************************************************
* NtUserPrintWindow (win32u.@)
*/
BOOL WINAPI NtUserPrintWindow( HWND hwnd, HDC hdc, UINT flags )
{
UINT prf_flags = PRF_CHILDREN | PRF_ERASEBKGND | PRF_OWNED | PRF_CLIENT;
if (!(flags & PW_CLIENTONLY)) prf_flags |= PRF_NONCLIENT;
send_message( hwnd, WM_PRINT, (WPARAM)hdc, prf_flags );
return TRUE;
}

View File

@ -237,6 +237,7 @@ static void * const syscalls[] =
NtUserPerMonitorDPIPhysicalToLogicalPoint,
NtUserPostMessage,
NtUserPostThreadMessage,
NtUserPrintWindow,
NtUserQueryInputContext,
NtUserRedrawWindow,
NtUserRegisterClassExWOW,

View File

@ -1105,7 +1105,7 @@
@ stub NtUserPostKeyboardInputMessage
@ stdcall -syscall NtUserPostMessage(long long long long)
@ stdcall -syscall NtUserPostThreadMessage(long long long long)
@ stub NtUserPrintWindow
@ stdcall -syscall NtUserPrintWindow(long long long)
@ stub NtUserProcessConnect
@ stub NtUserProcessInkFeedbackCommand
@ stub NtUserPromoteMouseInPointer

View File

@ -223,6 +223,7 @@
SYSCALL_ENTRY( NtUserPerMonitorDPIPhysicalToLogicalPoint ) \
SYSCALL_ENTRY( NtUserPostMessage ) \
SYSCALL_ENTRY( NtUserPostThreadMessage ) \
SYSCALL_ENTRY( NtUserPrintWindow ) \
SYSCALL_ENTRY( NtUserQueryInputContext ) \
SYSCALL_ENTRY( NtUserRedrawWindow ) \
SYSCALL_ENTRY( NtUserRegisterClassExWOW ) \

View File

@ -3184,6 +3184,15 @@ NTSTATUS WINAPI wow64_NtUserPostThreadMessage( UINT *args )
return NtUserPostThreadMessage( thread, msg, wparam, lparam );
}
NTSTATUS WINAPI wow64_NtUserPrintWindow( UINT *args )
{
HWND hwnd = get_handle( &args );
HDC hdc = get_handle( &args );
UINT flags = get_ulong( &args );
return NtUserPrintWindow( hwnd, hdc, flags );
}
NTSTATUS WINAPI wow64_NtUserQueryInputContext( UINT *args )
{
HIMC handle = get_handle( &args );

View File

@ -810,6 +810,7 @@ BOOL WINAPI NtUserPeekMessage( MSG *msg_out, HWND hwnd, UINT first, UINT last
BOOL WINAPI NtUserPerMonitorDPIPhysicalToLogicalPoint( HWND hwnd, POINT *pt );
BOOL WINAPI NtUserPostMessage( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam );
BOOL WINAPI NtUserPostThreadMessage( DWORD thread, UINT msg, WPARAM wparam, LPARAM lparam );
BOOL WINAPI NtUserPrintWindow( HWND hwnd, HDC hdc, UINT flags );
UINT_PTR WINAPI NtUserQueryInputContext( HIMC handle, UINT attr );
BOOL WINAPI NtUserRedrawWindow( HWND hwnd, const RECT *rect, HRGN hrgn, UINT flags );
ATOM WINAPI NtUserRegisterClassExWOW( const WNDCLASSEXW *wc, UNICODE_STRING *name, UNICODE_STRING *version,