win32u: Return UINT from NtUserGetWindowDpiAwarenessContext.

This commit is contained in:
Rémi Bernon 2024-05-23 15:43:01 +02:00 committed by Alexandre Julliard
parent bcb33fd859
commit b6223da118
7 changed files with 30 additions and 35 deletions

View file

@ -612,7 +612,7 @@ BOOL WINAPI IsWindowUnicode( HWND hwnd )
*/
DPI_AWARENESS_CONTEXT WINAPI GetWindowDpiAwarenessContext( HWND hwnd )
{
return NtUserGetWindowDpiAwarenessContext( hwnd );
return LongToHandle( NtUserGetWindowDpiAwarenessContext( hwnd ) );
}

View file

@ -804,7 +804,7 @@ static void make_dc_dirty( struct dce *dce )
*/
void invalidate_dce( WND *win, const RECT *extra_rect )
{
DPI_AWARENESS_CONTEXT context;
UINT context;
RECT window_rect;
struct dce *dce;
@ -1173,7 +1173,7 @@ static HRGN send_ncpaint( HWND hwnd, HWND *child, UINT *flags )
if (whole_rgn)
{
DPI_AWARENESS_CONTEXT context;
UINT context;
RECT client, window, update;
INT type;
@ -1527,9 +1527,8 @@ BOOL WINAPI NtUserValidateRect( HWND hwnd, const RECT *rect )
*/
INT WINAPI NtUserGetUpdateRgn( HWND hwnd, HRGN hrgn, BOOL erase )
{
DPI_AWARENESS_CONTEXT context;
INT retval = ERROR;
UINT flags = UPDATE_NOCHILDREN;
UINT flags = UPDATE_NOCHILDREN, context;
HRGN update_rgn;
context = set_thread_dpi_awareness_context( get_window_dpi_awareness_context( hwnd ));
@ -1593,7 +1592,7 @@ INT WINAPI NtUserExcludeUpdateRgn( HDC hdc, HWND hwnd )
if (ret != ERROR)
{
DPI_AWARENESS_CONTEXT context;
UINT context;
POINT pt;
context = set_thread_dpi_awareness_context( get_window_dpi_awareness_context( hwnd ));

View file

@ -379,7 +379,7 @@ static BOOL init_win_proc_params( struct win_proc_params *params, HWND hwnd, UIN
params->lparam = lparam;
params->ansi = params->ansi_dst = ansi;
params->mapping = WMCHAR_MAP_CALLWINDOWPROC;
params->dpi_awareness = get_window_dpi_awareness_context( params->hwnd );
params->dpi_awareness = ULongToHandle( get_window_dpi_awareness_context( params->hwnd ) );
get_winproc_params( params, TRUE );
return TRUE;
}
@ -410,7 +410,7 @@ static BOOL init_window_call_params( struct win_proc_params *params, HWND hwnd,
params->lparam = lParam;
params->ansi = ansi;
params->mapping = mapping;
params->dpi_awareness = get_window_dpi_awareness_context( params->hwnd );
params->dpi_awareness = ULongToHandle( get_window_dpi_awareness_context( params->hwnd ) );
get_winproc_params( params, !is_dialog );
return TRUE;
}
@ -2673,14 +2673,14 @@ static BOOL process_hardware_message( MSG *msg, UINT hw_id, const struct hardwar
HWND hwnd_filter, UINT first, UINT last, BOOL remove )
{
struct ntuser_thread_info *thread_info = NtUserGetThreadInfo();
DPI_AWARENESS_CONTEXT context;
UINT context;
BOOL ret = FALSE;
thread_info->msg_source.deviceType = msg_data->source.device;
thread_info->msg_source.originId = msg_data->source.origin;
/* hardware messages are always in physical coords */
context = set_thread_dpi_awareness_context( (DPI_AWARENESS_CONTEXT)NTUSER_DPI_PER_MONITOR_AWARE );
context = set_thread_dpi_awareness_context( NTUSER_DPI_PER_MONITOR_AWARE );
if (msg->message == WM_INPUT || msg->message == WM_INPUT_DEVICE_CHANGE)
ret = process_rawinput_message( msg, hw_id, msg_data );

View file

@ -2199,10 +2199,10 @@ UINT get_system_dpi(void)
}
/* see SetThreadDpiAwarenessContext, keep in sync with user32 */
DPI_AWARENESS_CONTEXT set_thread_dpi_awareness_context( DPI_AWARENESS_CONTEXT context )
UINT set_thread_dpi_awareness_context( UINT context )
{
struct ntuser_thread_info *info = NtUserGetThreadInfo();
DPI_AWARENESS prev, val = get_awareness_from_dpi_awareness_context( context );
DPI_AWARENESS prev, val = get_awareness_from_dpi_awareness_context( ULongToHandle( context ) );
if (val == DPI_AWARENESS_INVALID)
{
@ -2215,10 +2215,10 @@ DPI_AWARENESS_CONTEXT set_thread_dpi_awareness_context( DPI_AWARENESS_CONTEXT co
prev |= 0x80000010; /* restore to process default */
}
if (((ULONG_PTR)context & ~(ULONG_PTR)0x33) == 0x80000000) info->dpi_awareness = 0;
else if (context == DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 || context == (DPI_AWARENESS_CONTEXT)0x22)
else if (context == HandleToUlong( DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 ) || context == 0x22)
info->dpi_awareness = 0x22;
else info->dpi_awareness = val | 0x10;
return ULongToHandle( prev );
return prev;
}
/**********************************************************************
@ -6435,7 +6435,7 @@ ULONG_PTR WINAPI NtUserCallOneParam( ULONG_PTR arg, ULONG code )
return set_keyboard_auto_repeat( arg );
case NtUserCallOneParam_SetThreadDpiAwarenessContext:
return (ULONG_PTR)set_thread_dpi_awareness_context( (DPI_AWARENESS_CONTEXT)arg );
return set_thread_dpi_awareness_context( arg );
/* temporary exports */
case NtUserGetDeskPattern:

View file

@ -175,7 +175,7 @@ extern HPEN get_sys_color_pen( unsigned int index );
extern UINT get_system_dpi(void);
extern int get_system_metrics( int index );
extern UINT get_thread_dpi(void);
extern DPI_AWARENESS_CONTEXT set_thread_dpi_awareness_context( DPI_AWARENESS_CONTEXT context );
extern UINT set_thread_dpi_awareness_context( UINT context );
extern DPI_AWARENESS get_thread_dpi_awareness(void);
extern RECT get_virtual_screen_rect( UINT dpi );
extern BOOL is_exiting_thread( DWORD tid );
@ -222,7 +222,7 @@ extern UINT get_dpi_for_window( HWND hwnd );
extern HWND get_full_window_handle( HWND hwnd );
extern HWND get_parent( HWND hwnd );
extern HWND get_hwnd_message_parent(void);
extern DPI_AWARENESS_CONTEXT get_window_dpi_awareness_context( HWND hwnd );
extern UINT get_window_dpi_awareness_context( HWND hwnd );
extern MINMAXINFO get_min_max_info( HWND hwnd );
extern DWORD get_window_context_help_id( HWND hwnd );
extern HWND get_window_relative( HWND hwnd, UINT rel );

View file

@ -390,7 +390,7 @@ HWND get_parent( HWND hwnd )
HWND WINAPI NtUserSetParent( HWND hwnd, HWND parent )
{
RECT window_rect, old_screen_rect, new_screen_rect;
DPI_AWARENESS_CONTEXT context;
UINT context;
WINDOWPOS winpos;
HWND full_handle;
HWND old_parent = 0;
@ -856,9 +856,9 @@ BOOL is_window_enabled( HWND hwnd )
}
/* see GetWindowDpiAwarenessContext */
DPI_AWARENESS_CONTEXT get_window_dpi_awareness_context( HWND hwnd )
UINT get_window_dpi_awareness_context( HWND hwnd )
{
DPI_AWARENESS_CONTEXT ret = 0;
UINT ret = 0;
WND *win;
if (!(win = get_win_ptr( hwnd )))
@ -866,10 +866,10 @@ DPI_AWARENESS_CONTEXT get_window_dpi_awareness_context( HWND hwnd )
RtlSetLastWin32Error( ERROR_INVALID_WINDOW_HANDLE );
return 0;
}
if (win == WND_DESKTOP) return DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE;
if (win == WND_DESKTOP) return NTUSER_DPI_PER_MONITOR_AWARE;
if (win != WND_OTHER_PROCESS)
{
ret = ULongToHandle( win->dpi_awareness | 0x10 );
ret = MAKE_NTUSER_DPI_CONTEXT( win->dpi_awareness, 1, 0, 0 );
release_win_ptr( win );
}
else
@ -877,7 +877,7 @@ DPI_AWARENESS_CONTEXT get_window_dpi_awareness_context( HWND hwnd )
SERVER_START_REQ( get_window_info )
{
req->handle = wine_server_user_handle( hwnd );
if (!wine_server_call_err( req )) ret = ULongToHandle( reply->awareness | 0x10 );
if (!wine_server_call_err( req )) ret = MAKE_NTUSER_DPI_CONTEXT( reply->awareness, 1, 0, 0 );
}
SERVER_END_REQ;
}
@ -3383,9 +3383,8 @@ done:
BOOL set_window_pos( WINDOWPOS *winpos, int parent_x, int parent_y )
{
RECT old_window_rect, old_client_rect, new_window_rect, new_client_rect, valid_rects[2];
UINT orig_flags;
UINT orig_flags, context;
BOOL ret = FALSE;
DPI_AWARENESS_CONTEXT context;
orig_flags = winpos->flags;
@ -3837,7 +3836,7 @@ MINMAXINFO get_min_max_info( HWND hwnd )
{
LONG style = get_window_long( hwnd, GWL_STYLE );
LONG exstyle = get_window_long( hwnd, GWL_EXSTYLE );
DPI_AWARENESS_CONTEXT context;
UINT context;
RECT rc_work, rc_primary;
LONG adjusted_style;
MINMAXINFO minmax;
@ -4218,7 +4217,7 @@ static UINT arrange_iconic_windows( HWND parent )
*/
void update_window_state( HWND hwnd )
{
DPI_AWARENESS_CONTEXT context;
UINT context;
RECT window_rect, client_rect, valid_rects[2];
if (!is_current_thread_window( hwnd ))
@ -4245,12 +4244,11 @@ static BOOL show_window( HWND hwnd, INT cmd )
{
WND *win;
HWND parent;
DPI_AWARENESS_CONTEXT context;
LONG style = get_window_long( hwnd, GWL_STYLE );
BOOL was_visible = (style & WS_VISIBLE) != 0;
BOOL show_flag = TRUE;
RECT newPos = {0, 0, 0, 0};
UINT new_swp, swp = 0;
UINT new_swp, swp = 0, context;
TRACE( "hwnd=%p, cmd=%d, was_visible %d\n", hwnd, cmd, was_visible );
@ -5089,8 +5087,7 @@ HWND WINAPI NtUserCreateWindowEx( DWORD ex_style, UNICODE_STRING *class_name,
HWND parent, HMENU menu, HINSTANCE instance, void *params,
DWORD flags, HINSTANCE client_instance, DWORD unk, BOOL ansi )
{
UINT win_dpi, thread_dpi = get_thread_dpi();
DPI_AWARENESS_CONTEXT context;
UINT win_dpi, thread_dpi = get_thread_dpi(), context;
CBT_CREATEWNDW cbtc;
HWND hwnd, owner = 0;
CREATESTRUCTW cs;
@ -5446,7 +5443,7 @@ ULONG_PTR WINAPI NtUserCallHwnd( HWND hwnd, DWORD code )
return get_window_context_help_id( hwnd );
case NtUserCallHwnd_GetWindowDpiAwarenessContext:
return (ULONG_PTR)get_window_dpi_awareness_context( hwnd );
return get_window_dpi_awareness_context( hwnd );
case NtUserCallHwnd_GetWindowInputContext:
return HandleToUlong( get_window_input_context( hwnd ));

View file

@ -1164,10 +1164,9 @@ static inline HWND NtUserGetParent( HWND hwnd )
return UlongToHandle( NtUserCallHwnd( hwnd, NtUserCallHwnd_GetParent ));
}
static inline DPI_AWARENESS_CONTEXT NtUserGetWindowDpiAwarenessContext( HWND hwnd )
static inline UINT NtUserGetWindowDpiAwarenessContext( HWND hwnd )
{
return (DPI_AWARENESS_CONTEXT)NtUserCallHwnd( hwnd,
NtUserCallHwnd_GetWindowDpiAwarenessContext );
return NtUserCallHwnd( hwnd, NtUserCallHwnd_GetWindowDpiAwarenessContext );
}
static inline HIMC NtUserGetWindowInputContext( HWND hwnd )