mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-14 21:15:49 +00:00
win32u: Move menu tracking implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
parent
41184e9de9
commit
b9d8a842f0
|
@ -113,7 +113,6 @@ extern HBRUSH DEFWND_ControlColor( HDC hDC, UINT ctlType ) DECLSPEC_HIDDEN;
|
||||||
extern BOOL update_wallpaper( const WCHAR *wallpaper, const WCHAR *pattern ) DECLSPEC_HIDDEN;
|
extern BOOL update_wallpaper( const WCHAR *wallpaper, const WCHAR *pattern ) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/* menu controls */
|
/* menu controls */
|
||||||
extern HWND MENU_IsMenuActive(void) DECLSPEC_HIDDEN;
|
|
||||||
extern void MENU_TrackMouseMenuBar( HWND hwnd, INT ht, POINT pt ) DECLSPEC_HIDDEN;
|
extern void MENU_TrackMouseMenuBar( HWND hwnd, INT ht, POINT pt ) DECLSPEC_HIDDEN;
|
||||||
extern void MENU_TrackKbdMenuBar( HWND hwnd, UINT wParam, WCHAR wChar ) DECLSPEC_HIDDEN;
|
extern void MENU_TrackKbdMenuBar( HWND hwnd, UINT wParam, WCHAR wChar ) DECLSPEC_HIDDEN;
|
||||||
extern void MENU_EndMenu(HWND) DECLSPEC_HIDDEN;
|
extern void MENU_EndMenu(HWND) DECLSPEC_HIDDEN;
|
||||||
|
@ -126,8 +125,6 @@ extern LRESULT NC_HandleNCMouseLeave( HWND hwnd ) DECLSPEC_HIDDEN;
|
||||||
extern LRESULT NC_HandleNCLButtonDblClk( HWND hwnd, WPARAM wParam, LPARAM lParam) DECLSPEC_HIDDEN;
|
extern LRESULT NC_HandleNCLButtonDblClk( HWND hwnd, WPARAM wParam, LPARAM lParam) DECLSPEC_HIDDEN;
|
||||||
extern LRESULT NC_HandleSysCommand( HWND hwnd, WPARAM wParam, LPARAM lParam ) DECLSPEC_HIDDEN;
|
extern LRESULT NC_HandleSysCommand( HWND hwnd, WPARAM wParam, LPARAM lParam ) DECLSPEC_HIDDEN;
|
||||||
extern LRESULT NC_HandleSetCursor( HWND hwnd, WPARAM wParam, LPARAM lParam ) DECLSPEC_HIDDEN;
|
extern LRESULT NC_HandleSetCursor( HWND hwnd, WPARAM wParam, LPARAM lParam ) DECLSPEC_HIDDEN;
|
||||||
extern BOOL NC_DrawSysButton( HWND hwnd, HDC hdc, BOOL down ) DECLSPEC_HIDDEN;
|
|
||||||
extern void NC_GetSysPopupPos( HWND hwnd, RECT* rect ) DECLSPEC_HIDDEN;
|
|
||||||
|
|
||||||
/* scrollbar */
|
/* scrollbar */
|
||||||
|
|
||||||
|
|
|
@ -359,8 +359,7 @@ static LRESULT DEFWND_DefWinProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPa
|
||||||
|
|
||||||
case WM_CANCELMODE:
|
case WM_CANCELMODE:
|
||||||
iMenuSysKey = 0;
|
iMenuSysKey = 0;
|
||||||
MENU_EndMenu( hwnd );
|
NtUserMessageCall( hwnd, msg, wParam, lParam, 0, NtUserDefWindowProc, FALSE );
|
||||||
if (GetCapture() == hwnd) ReleaseCapture();
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_VKEYTOITEM:
|
case WM_VKEYTOITEM:
|
||||||
|
|
|
@ -86,16 +86,6 @@ static HKL get_locale_kbd_layout(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
|
||||||
* set_capture_window
|
|
||||||
*/
|
|
||||||
BOOL set_capture_window( HWND hwnd, UINT gui_flags, HWND *prev_ret )
|
|
||||||
{
|
|
||||||
/* FIXME: move callers to win32u or use NtUserSetCapture */
|
|
||||||
return NtUserCallHwndParam( hwnd, gui_flags, NtUserSetCaptureWindow );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* keybd_event (USER32.@)
|
* keybd_event (USER32.@)
|
||||||
*/
|
*/
|
||||||
|
|
2880
dlls/user32/menu.c
2880
dlls/user32/menu.c
File diff suppressed because it is too large
Load diff
|
@ -595,35 +595,6 @@ LRESULT NC_HandleNCMouseLeave(HWND hwnd)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
*
|
|
||||||
* NC_DrawSysButton
|
|
||||||
*
|
|
||||||
* Draws the system icon.
|
|
||||||
*
|
|
||||||
*****************************************************************************/
|
|
||||||
BOOL NC_DrawSysButton (HWND hwnd, HDC hdc, BOOL down)
|
|
||||||
{
|
|
||||||
HICON hIcon = NC_IconForWindow( hwnd );
|
|
||||||
|
|
||||||
if (hIcon)
|
|
||||||
{
|
|
||||||
RECT rect;
|
|
||||||
POINT pt;
|
|
||||||
DWORD style = GetWindowLongW( hwnd, GWL_STYLE );
|
|
||||||
DWORD ex_style = GetWindowLongW( hwnd, GWL_EXSTYLE );
|
|
||||||
|
|
||||||
NC_GetInsideRect( hwnd, COORDS_WINDOW, &rect, style, ex_style );
|
|
||||||
pt.x = rect.left + 2;
|
|
||||||
pt.y = rect.top + (GetSystemMetrics(SM_CYCAPTION) - GetSystemMetrics(SM_CYSMICON)) / 2;
|
|
||||||
NtUserDrawIconEx( hdc, pt.x, pt.y, hIcon,
|
|
||||||
GetSystemMetrics(SM_CXSMICON),
|
|
||||||
GetSystemMetrics(SM_CYSMICON), 0, 0, DI_NORMAL );
|
|
||||||
}
|
|
||||||
return (hIcon != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* NC_HandleSetCursor
|
* NC_HandleSetCursor
|
||||||
*
|
*
|
||||||
|
@ -675,23 +646,6 @@ LRESULT NC_HandleSetCursor( HWND hwnd, WPARAM wParam, LPARAM lParam )
|
||||||
return (LRESULT)NtUserSetCursor( LoadCursorA( 0, (LPSTR)IDC_ARROW ) );
|
return (LRESULT)NtUserSetCursor( LoadCursorA( 0, (LPSTR)IDC_ARROW ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* NC_GetSysPopupPos
|
|
||||||
*/
|
|
||||||
void NC_GetSysPopupPos( HWND hwnd, RECT* rect )
|
|
||||||
{
|
|
||||||
if (IsIconic(hwnd)) GetWindowRect( hwnd, rect );
|
|
||||||
else
|
|
||||||
{
|
|
||||||
DWORD style = GetWindowLongW( hwnd, GWL_STYLE );
|
|
||||||
DWORD ex_style = GetWindowLongW( hwnd, GWL_EXSTYLE );
|
|
||||||
|
|
||||||
NC_GetInsideRect( hwnd, COORDS_CLIENT, rect, style, ex_style );
|
|
||||||
rect->right = rect->left + GetSystemMetrics(SM_CYCAPTION) - 1;
|
|
||||||
rect->bottom = rect->top + GetSystemMetrics(SM_CYCAPTION) - 1;
|
|
||||||
MapWindowPoints( hwnd, 0, (POINT *)rect, 2 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
@ -795,19 +749,6 @@ LRESULT NC_HandleSysCommand( HWND hwnd, WPARAM wParam, LPARAM lParam )
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SC_MOUSEMENU:
|
|
||||||
{
|
|
||||||
POINT pt;
|
|
||||||
pt.x = (short)LOWORD(lParam);
|
|
||||||
pt.y = (short)HIWORD(lParam);
|
|
||||||
MENU_TrackMouseMenuBar( hwnd, wParam & 0x000F, pt );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SC_KEYMENU:
|
|
||||||
MENU_TrackKbdMenuBar( hwnd, wParam, (WCHAR)lParam );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SC_TASKLIST:
|
case SC_TASKLIST:
|
||||||
WinExec( "taskman.exe", SW_SHOWNORMAL );
|
WinExec( "taskman.exe", SW_SHOWNORMAL );
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -210,7 +210,7 @@
|
||||||
@ stdcall EnableWindow(long long)
|
@ stdcall EnableWindow(long long)
|
||||||
@ stdcall EndDeferWindowPos(long)
|
@ stdcall EndDeferWindowPos(long)
|
||||||
@ stdcall EndDialog(long long)
|
@ stdcall EndDialog(long long)
|
||||||
@ stdcall EndMenu()
|
@ stdcall EndMenu() NtUserEndMenu
|
||||||
@ stdcall EndPaint(long ptr) NtUserEndPaint
|
@ stdcall EndPaint(long ptr) NtUserEndPaint
|
||||||
@ stub EndTask
|
@ stub EndTask
|
||||||
# @ stub EnterReaderModeHelper
|
# @ stub EnterReaderModeHelper
|
||||||
|
@ -328,7 +328,7 @@
|
||||||
@ stdcall GetLayeredWindowAttributes(long ptr ptr ptr) NtUserGetLayeredWindowAttributes
|
@ stdcall GetLayeredWindowAttributes(long ptr ptr ptr) NtUserGetLayeredWindowAttributes
|
||||||
@ stdcall GetListBoxInfo(long)
|
@ stdcall GetListBoxInfo(long)
|
||||||
@ stdcall GetMenu(long)
|
@ stdcall GetMenu(long)
|
||||||
@ stdcall GetMenuBarInfo(long long long ptr)
|
@ stdcall GetMenuBarInfo(long long long ptr) NtUserGetMenuBarInfo
|
||||||
@ stdcall GetMenuCheckMarkDimensions()
|
@ stdcall GetMenuCheckMarkDimensions()
|
||||||
@ stdcall GetMenuContextHelpId(long)
|
@ stdcall GetMenuContextHelpId(long)
|
||||||
@ stdcall GetMenuDefaultItem(long long long)
|
@ stdcall GetMenuDefaultItem(long long long)
|
||||||
|
@ -426,7 +426,7 @@
|
||||||
@ stdcall GrayStringW(long long ptr long long long long long long)
|
@ stdcall GrayStringW(long long ptr long long long long long long)
|
||||||
# @ stub HasSystemSleepStarted
|
# @ stub HasSystemSleepStarted
|
||||||
@ stdcall HideCaret(long) NtUserHideCaret
|
@ stdcall HideCaret(long) NtUserHideCaret
|
||||||
@ stdcall HiliteMenuItem(long long long long)
|
@ stdcall HiliteMenuItem(long long long long) NtUserHiliteMenuItem
|
||||||
# @ stub IMPGetIMEA
|
# @ stub IMPGetIMEA
|
||||||
# @ stub IMPGetIMEW
|
# @ stub IMPGetIMEW
|
||||||
# @ stub IMPQueryIMEA
|
# @ stub IMPQueryIMEA
|
||||||
|
@ -764,7 +764,7 @@
|
||||||
@ stdcall ToUnicodeEx(long long ptr ptr long long long) NtUserToUnicodeEx
|
@ stdcall ToUnicodeEx(long long ptr ptr long long long) NtUserToUnicodeEx
|
||||||
@ stdcall TrackMouseEvent(ptr) NtUserTrackMouseEvent
|
@ stdcall TrackMouseEvent(ptr) NtUserTrackMouseEvent
|
||||||
@ stdcall TrackPopupMenu(long long long long long long ptr)
|
@ stdcall TrackPopupMenu(long long long long long long ptr)
|
||||||
@ stdcall TrackPopupMenuEx(long long long long long ptr)
|
@ stdcall TrackPopupMenuEx(long long long long long ptr) NtUserTrackPopupMenuEx
|
||||||
@ stdcall TranslateAccelerator(long long ptr) TranslateAcceleratorA
|
@ stdcall TranslateAccelerator(long long ptr) TranslateAcceleratorA
|
||||||
@ stdcall TranslateAcceleratorA(long long ptr)
|
@ stdcall TranslateAcceleratorA(long long ptr)
|
||||||
@ stdcall TranslateAcceleratorW(long long ptr) NtUserTranslateAccelerator
|
@ stdcall TranslateAcceleratorW(long long ptr) NtUserTranslateAccelerator
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#include "user_private.h"
|
#include "user_private.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
#include "wine/exception.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(graphics);
|
WINE_DEFAULT_DEBUG_CHANNEL(graphics);
|
||||||
WINE_DECLARE_DEBUG_CHANNEL(message);
|
WINE_DECLARE_DEBUG_CHANNEL(message);
|
||||||
|
@ -139,16 +140,26 @@ static void CDECL free_win_ptr( WND *win )
|
||||||
HeapFree( GetProcessHeap(), 0, win->pScroll );
|
HeapFree( GetProcessHeap(), 0, win->pScroll );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static NTSTATUS try_finally( NTSTATUS (CDECL *func)( void *), void *arg,
|
||||||
|
void (CALLBACK *finally_func)( BOOL ))
|
||||||
|
{
|
||||||
|
NTSTATUS status;
|
||||||
|
__TRY
|
||||||
|
{
|
||||||
|
status = func( arg );
|
||||||
|
}
|
||||||
|
__FINALLY( finally_func );
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct user_callbacks user_funcs =
|
static const struct user_callbacks user_funcs =
|
||||||
{
|
{
|
||||||
EndMenu,
|
|
||||||
ImmProcessKey,
|
ImmProcessKey,
|
||||||
ImmTranslateMessage,
|
ImmTranslateMessage,
|
||||||
NtWaitForMultipleObjects,
|
NtWaitForMultipleObjects,
|
||||||
SCROLL_DrawNCScrollBar,
|
SCROLL_DrawNCScrollBar,
|
||||||
free_win_ptr,
|
free_win_ptr,
|
||||||
MENU_GetSysMenu,
|
MENU_GetSysMenu,
|
||||||
MENU_IsMenuActive,
|
|
||||||
notify_ime,
|
notify_ime,
|
||||||
post_dde_message,
|
post_dde_message,
|
||||||
process_rawinput_message,
|
process_rawinput_message,
|
||||||
|
@ -157,6 +168,7 @@ static const struct user_callbacks user_funcs =
|
||||||
unpack_dde_message,
|
unpack_dde_message,
|
||||||
register_imm,
|
register_imm,
|
||||||
unregister_imm,
|
unregister_imm,
|
||||||
|
try_finally,
|
||||||
};
|
};
|
||||||
|
|
||||||
static NTSTATUS WINAPI User32CopyImage( const struct copy_image_params *params, ULONG size )
|
static NTSTATUS WINAPI User32CopyImage( const struct copy_image_params *params, ULONG size )
|
||||||
|
|
|
@ -86,7 +86,6 @@ extern void free_cached_data( UINT format, HANDLE handle ) DECLSPEC_HIDDEN;
|
||||||
extern HANDLE render_synthesized_format( UINT format, UINT from ) DECLSPEC_HIDDEN;
|
extern HANDLE render_synthesized_format( UINT format, UINT from ) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
extern void CLIPBOARD_ReleaseOwner( HWND hwnd ) DECLSPEC_HIDDEN;
|
extern void CLIPBOARD_ReleaseOwner( HWND hwnd ) DECLSPEC_HIDDEN;
|
||||||
extern BOOL set_capture_window( HWND hwnd, UINT gui_flags, HWND *prev_ret ) DECLSPEC_HIDDEN;
|
|
||||||
extern HDC get_display_dc(void) DECLSPEC_HIDDEN;
|
extern HDC get_display_dc(void) DECLSPEC_HIDDEN;
|
||||||
extern void release_display_dc( HDC hdc ) DECLSPEC_HIDDEN;
|
extern void release_display_dc( HDC hdc ) DECLSPEC_HIDDEN;
|
||||||
extern void wait_graphics_driver_ready(void) DECLSPEC_HIDDEN;
|
extern void wait_graphics_driver_ready(void) DECLSPEC_HIDDEN;
|
||||||
|
|
|
@ -850,6 +850,14 @@ static LRESULT handle_sys_command( HWND hwnd, WPARAM wparam, LPARAM lparam )
|
||||||
NtUserShowWindow( hwnd, SW_MAXIMIZE );
|
NtUserShowWindow( hwnd, SW_MAXIMIZE );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SC_MOUSEMENU:
|
||||||
|
track_mouse_menu_bar( hwnd, wparam & 0x000F, (short)LOWORD(lparam), (short)HIWORD(lparam) );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SC_KEYMENU:
|
||||||
|
track_keyboard_menu_bar( hwnd, wparam, lparam );
|
||||||
|
break;
|
||||||
|
|
||||||
case SC_RESTORE:
|
case SC_RESTORE:
|
||||||
if (is_iconic( hwnd )) show_owned_popups( hwnd, TRUE );
|
if (is_iconic( hwnd )) show_owned_popups( hwnd, TRUE );
|
||||||
NtUserShowWindow( hwnd, SW_RESTORE );
|
NtUserShowWindow( hwnd, SW_RESTORE );
|
||||||
|
@ -893,6 +901,21 @@ static void get_inside_rect( HWND hwnd, enum coords_relative relative, RECT *rec
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void get_sys_popup_pos( HWND hwnd, RECT *rect )
|
||||||
|
{
|
||||||
|
if (is_iconic(hwnd)) get_window_rect( hwnd, rect, get_thread_dpi() );
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DWORD style = get_window_long( hwnd, GWL_STYLE );
|
||||||
|
DWORD ex_style = get_window_long( hwnd, GWL_EXSTYLE );
|
||||||
|
|
||||||
|
get_inside_rect( hwnd, COORDS_CLIENT, rect, style, ex_style );
|
||||||
|
rect->right = rect->left + get_system_metrics( SM_CYCAPTION ) - 1;
|
||||||
|
rect->bottom = rect->top + get_system_metrics( SM_CYCAPTION ) - 1;
|
||||||
|
map_window_points( hwnd, 0, (POINT *)rect, 2, get_thread_dpi() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Draw a window frame inside the given rectangle, and update the rectangle. */
|
/* Draw a window frame inside the given rectangle, and update the rectangle. */
|
||||||
static void draw_nc_frame( HDC hdc, RECT *rect, BOOL active, DWORD style, DWORD ex_style )
|
static void draw_nc_frame( HDC hdc, RECT *rect, BOOL active, DWORD style, DWORD ex_style )
|
||||||
{
|
{
|
||||||
|
@ -1621,7 +1644,7 @@ static void handle_nc_calc_size( HWND hwnd, WPARAM wparam, RECT *win_rect )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static LRESULT handle_nc_hit_test( HWND hwnd, POINT pt )
|
LRESULT handle_nc_hit_test( HWND hwnd, POINT pt )
|
||||||
{
|
{
|
||||||
RECT rect, client_rect;
|
RECT rect, client_rect;
|
||||||
DWORD style, ex_style;
|
DWORD style, ex_style;
|
||||||
|
@ -2129,6 +2152,11 @@ LRESULT default_window_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam,
|
||||||
case WM_GETDLGCODE:
|
case WM_GETDLGCODE:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WM_CANCELMODE:
|
||||||
|
end_menu( hwnd );
|
||||||
|
if (get_capture() == hwnd) release_capture();
|
||||||
|
break;
|
||||||
|
|
||||||
case WM_SETTEXT:
|
case WM_SETTEXT:
|
||||||
result = set_window_text( hwnd, (void *)lparam, ansi );
|
result = set_window_text( hwnd, (void *)lparam, ansi );
|
||||||
if (result && (get_window_long( hwnd, GWL_STYLE ) & WS_CAPTION) == WS_CAPTION)
|
if (result && (get_window_long( hwnd, GWL_STYLE ) & WS_CAPTION) == WS_CAPTION)
|
||||||
|
|
|
@ -1179,6 +1179,7 @@ static struct unix_funcs unix_funcs =
|
||||||
NtUserGetIconInfo,
|
NtUserGetIconInfo,
|
||||||
NtUserGetKeyNameText,
|
NtUserGetKeyNameText,
|
||||||
NtUserGetKeyboardLayoutList,
|
NtUserGetKeyboardLayoutList,
|
||||||
|
NtUserGetMenuBarInfo,
|
||||||
NtUserGetMessage,
|
NtUserGetMessage,
|
||||||
NtUserGetPriorityClipboardFormat,
|
NtUserGetPriorityClipboardFormat,
|
||||||
NtUserGetQueueStatus,
|
NtUserGetQueueStatus,
|
||||||
|
@ -1188,6 +1189,7 @@ static struct unix_funcs unix_funcs =
|
||||||
NtUserGetUpdatedClipboardFormats,
|
NtUserGetUpdatedClipboardFormats,
|
||||||
NtUserGetWindowPlacement,
|
NtUserGetWindowPlacement,
|
||||||
NtUserHideCaret,
|
NtUserHideCaret,
|
||||||
|
NtUserHiliteMenuItem,
|
||||||
NtUserInternalGetWindowIcon,
|
NtUserInternalGetWindowIcon,
|
||||||
NtUserInvalidateRect,
|
NtUserInvalidateRect,
|
||||||
NtUserInvalidateRgn,
|
NtUserInvalidateRgn,
|
||||||
|
@ -1239,6 +1241,7 @@ static struct unix_funcs unix_funcs =
|
||||||
NtUserSystemParametersInfoForDpi,
|
NtUserSystemParametersInfoForDpi,
|
||||||
NtUserToUnicodeEx,
|
NtUserToUnicodeEx,
|
||||||
NtUserTrackMouseEvent,
|
NtUserTrackMouseEvent,
|
||||||
|
NtUserTrackPopupMenuEx,
|
||||||
NtUserTranslateAccelerator,
|
NtUserTranslateAccelerator,
|
||||||
NtUserTranslateMessage,
|
NtUserTranslateMessage,
|
||||||
NtUserUnregisterClass,
|
NtUserUnregisterClass,
|
||||||
|
|
1816
dlls/win32u/menu.c
1816
dlls/win32u/menu.c
File diff suppressed because it is too large
Load diff
|
@ -32,14 +32,12 @@ struct hardware_msg_data;
|
||||||
|
|
||||||
struct user_callbacks
|
struct user_callbacks
|
||||||
{
|
{
|
||||||
BOOL (WINAPI *pEndMenu)(void);
|
|
||||||
BOOL (WINAPI *pImmProcessKey)(HWND, HKL, UINT, LPARAM, DWORD);
|
BOOL (WINAPI *pImmProcessKey)(HWND, HKL, UINT, LPARAM, DWORD);
|
||||||
BOOL (WINAPI *pImmTranslateMessage)(HWND, UINT, WPARAM, LPARAM);
|
BOOL (WINAPI *pImmTranslateMessage)(HWND, UINT, WPARAM, LPARAM);
|
||||||
NTSTATUS (WINAPI *pNtWaitForMultipleObjects)(ULONG,const HANDLE*,BOOLEAN,BOOLEAN,const LARGE_INTEGER*);
|
NTSTATUS (WINAPI *pNtWaitForMultipleObjects)(ULONG,const HANDLE*,BOOLEAN,BOOLEAN,const LARGE_INTEGER*);
|
||||||
void (CDECL *draw_nc_scrollbar)( HWND hwnd, HDC hdc, BOOL draw_horizontal, BOOL draw_vertical );
|
void (CDECL *draw_nc_scrollbar)( HWND hwnd, HDC hdc, BOOL draw_horizontal, BOOL draw_vertical );
|
||||||
void (CDECL *free_win_ptr)( struct tagWND *win );
|
void (CDECL *free_win_ptr)( struct tagWND *win );
|
||||||
HMENU (CDECL *get_sys_menu)( HWND hwnd, HMENU popup );
|
HMENU (CDECL *get_sys_menu)( HWND hwnd, HMENU popup );
|
||||||
HWND (CDECL *is_menu_active)(void);
|
|
||||||
void (CDECL *notify_ime)( HWND hwnd, UINT param );
|
void (CDECL *notify_ime)( HWND hwnd, UINT param );
|
||||||
BOOL (CDECL *post_dde_message)( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, DWORD dest_tid,
|
BOOL (CDECL *post_dde_message)( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, DWORD dest_tid,
|
||||||
DWORD type );
|
DWORD type );
|
||||||
|
@ -50,6 +48,8 @@ struct user_callbacks
|
||||||
void **buffer, size_t size );
|
void **buffer, size_t size );
|
||||||
BOOL (WINAPI *register_imm)( HWND hwnd );
|
BOOL (WINAPI *register_imm)( HWND hwnd );
|
||||||
void (WINAPI *unregister_imm)( HWND hwnd );
|
void (WINAPI *unregister_imm)( HWND hwnd );
|
||||||
|
NTSTATUS (CDECL *try_finally)( NTSTATUS (CDECL *func)( void *), void *arg,
|
||||||
|
void (CALLBACK *finally_func)( BOOL ));
|
||||||
};
|
};
|
||||||
|
|
||||||
#define WM_SYSTIMER 0x0118
|
#define WM_SYSTIMER 0x0118
|
||||||
|
|
|
@ -114,6 +114,7 @@ static void * const syscalls[] =
|
||||||
NtUserCreateWindowStation,
|
NtUserCreateWindowStation,
|
||||||
NtUserDeleteMenu,
|
NtUserDeleteMenu,
|
||||||
NtUserDestroyAcceleratorTable,
|
NtUserDestroyAcceleratorTable,
|
||||||
|
NtUserEndMenu,
|
||||||
NtUserFindExistingCursorIcon,
|
NtUserFindExistingCursorIcon,
|
||||||
NtUserFindWindowEx,
|
NtUserFindWindowEx,
|
||||||
NtUserGetAncestor,
|
NtUserGetAncestor,
|
||||||
|
|
|
@ -4663,7 +4663,7 @@ ULONG WINAPI NtUserGetProcessDpiAwarenessContext( HANDLE process )
|
||||||
return dpi_awareness;
|
return dpi_awareness;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL message_beep( UINT i )
|
BOOL message_beep( UINT i )
|
||||||
{
|
{
|
||||||
BOOL active = TRUE;
|
BOOL active = TRUE;
|
||||||
NtUserSystemParametersInfo( SPI_GETBEEP, 0, &active, FALSE );
|
NtUserSystemParametersInfo( SPI_GETBEEP, 0, &active, FALSE );
|
||||||
|
|
|
@ -873,7 +873,7 @@
|
||||||
@ stub NtUserEnableWindowGroupPolicy
|
@ stub NtUserEnableWindowGroupPolicy
|
||||||
@ stub NtUserEnableWindowResizeOptimization
|
@ stub NtUserEnableWindowResizeOptimization
|
||||||
@ stdcall NtUserEndDeferWindowPosEx(long long)
|
@ stdcall NtUserEndDeferWindowPosEx(long long)
|
||||||
@ stub NtUserEndMenu
|
@ stdcall -syscall NtUserEndMenu()
|
||||||
@ stdcall NtUserEndPaint(long ptr)
|
@ stdcall NtUserEndPaint(long ptr)
|
||||||
@ stdcall NtUserEnumDisplayDevices(ptr long ptr long)
|
@ stdcall NtUserEnumDisplayDevices(ptr long ptr long)
|
||||||
@ stdcall NtUserEnumDisplayMonitors(long ptr ptr long)
|
@ stdcall NtUserEnumDisplayMonitors(long ptr ptr long)
|
||||||
|
@ -952,7 +952,7 @@
|
||||||
@ stdcall -syscall NtUserGetKeyboardState(ptr)
|
@ stdcall -syscall NtUserGetKeyboardState(ptr)
|
||||||
@ stdcall -syscall NtUserGetLayeredWindowAttributes(long ptr ptr ptr)
|
@ stdcall -syscall NtUserGetLayeredWindowAttributes(long ptr ptr ptr)
|
||||||
@ stub NtUserGetListBoxInfo
|
@ stub NtUserGetListBoxInfo
|
||||||
@ stub NtUserGetMenuBarInfo
|
@ stdcall NtUserGetMenuBarInfo(long long long ptr)
|
||||||
@ stub NtUserGetMenuIndex
|
@ stub NtUserGetMenuIndex
|
||||||
@ stdcall -syscall NtUserGetMenuItemRect(long long long ptr)
|
@ stdcall -syscall NtUserGetMenuItemRect(long long long ptr)
|
||||||
@ stdcall NtUserGetMessage(ptr long long long)
|
@ stdcall NtUserGetMessage(ptr long long long)
|
||||||
|
@ -1022,7 +1022,7 @@
|
||||||
@ stub NtUserHardErrorControl
|
@ stub NtUserHardErrorControl
|
||||||
@ stdcall NtUserHideCaret(long)
|
@ stdcall NtUserHideCaret(long)
|
||||||
@ stub NtUserHidePointerContactVisualization
|
@ stub NtUserHidePointerContactVisualization
|
||||||
@ stub NtUserHiliteMenuItem
|
@ stdcall NtUserHiliteMenuItem(long long long long)
|
||||||
@ stub NtUserHungWindowFromGhostWindow
|
@ stub NtUserHungWindowFromGhostWindow
|
||||||
@ stub NtUserHwndQueryRedirectionInfo
|
@ stub NtUserHwndQueryRedirectionInfo
|
||||||
@ stub NtUserHwndSetRedirectionInfo
|
@ stub NtUserHwndSetRedirectionInfo
|
||||||
|
@ -1278,7 +1278,7 @@
|
||||||
@ stdcall -syscall NtUserThunkedMenuItemInfo(long long long long ptr ptr)
|
@ stdcall -syscall NtUserThunkedMenuItemInfo(long long long long ptr ptr)
|
||||||
@ stdcall NtUserToUnicodeEx(long long ptr ptr long long long)
|
@ stdcall NtUserToUnicodeEx(long long ptr ptr long long long)
|
||||||
@ stdcall NtUserTrackMouseEvent(ptr)
|
@ stdcall NtUserTrackMouseEvent(ptr)
|
||||||
@ stub NtUserTrackPopupMenuEx
|
@ stdcall NtUserTrackPopupMenuEx(long long long long long ptr)
|
||||||
@ stub NtUserTransformPoint
|
@ stub NtUserTransformPoint
|
||||||
@ stub NtUserTransformRect
|
@ stub NtUserTransformRect
|
||||||
@ stdcall NtUserTranslateAccelerator(long long ptr)
|
@ stdcall NtUserTranslateAccelerator(long long ptr)
|
||||||
|
|
|
@ -241,6 +241,7 @@ struct unix_funcs
|
||||||
UNICODE_STRING *res_name, DWORD *bpp, LONG unk );
|
UNICODE_STRING *res_name, DWORD *bpp, LONG unk );
|
||||||
INT (WINAPI *pNtUserGetKeyNameText)( LONG lparam, WCHAR *buffer, INT size );
|
INT (WINAPI *pNtUserGetKeyNameText)( LONG lparam, WCHAR *buffer, INT size );
|
||||||
UINT (WINAPI *pNtUserGetKeyboardLayoutList)( INT size, HKL *layouts );
|
UINT (WINAPI *pNtUserGetKeyboardLayoutList)( INT size, HKL *layouts );
|
||||||
|
BOOL (WINAPI *pNtUserGetMenuBarInfo)( HWND hwnd, LONG id, LONG item, MENUBARINFO *info );
|
||||||
BOOL (WINAPI *pNtUserGetMessage)( MSG *msg, HWND hwnd, UINT first, UINT last );
|
BOOL (WINAPI *pNtUserGetMessage)( MSG *msg, HWND hwnd, UINT first, UINT last );
|
||||||
INT (WINAPI *pNtUserGetPriorityClipboardFormat)( UINT *list, INT count );
|
INT (WINAPI *pNtUserGetPriorityClipboardFormat)( UINT *list, INT count );
|
||||||
DWORD (WINAPI *pNtUserGetQueueStatus)( UINT flags );
|
DWORD (WINAPI *pNtUserGetQueueStatus)( UINT flags );
|
||||||
|
@ -250,6 +251,7 @@ struct unix_funcs
|
||||||
BOOL (WINAPI *pNtUserGetUpdatedClipboardFormats)( UINT *formats, UINT size, UINT *out_size );
|
BOOL (WINAPI *pNtUserGetUpdatedClipboardFormats)( UINT *formats, UINT size, UINT *out_size );
|
||||||
BOOL (WINAPI *pNtUserGetWindowPlacement)( HWND hwnd, WINDOWPLACEMENT *placement );
|
BOOL (WINAPI *pNtUserGetWindowPlacement)( HWND hwnd, WINDOWPLACEMENT *placement );
|
||||||
BOOL (WINAPI *pNtUserHideCaret)( HWND hwnd );
|
BOOL (WINAPI *pNtUserHideCaret)( HWND hwnd );
|
||||||
|
BOOL (WINAPI *pNtUserHiliteMenuItem)( HWND hwnd, HMENU handle, UINT item, UINT hilite );
|
||||||
HICON (WINAPI *pNtUserInternalGetWindowIcon)( HWND hwnd, UINT type );
|
HICON (WINAPI *pNtUserInternalGetWindowIcon)( HWND hwnd, UINT type );
|
||||||
BOOL (WINAPI *pNtUserInvalidateRect)( HWND hwnd, const RECT *rect, BOOL erase );
|
BOOL (WINAPI *pNtUserInvalidateRect)( HWND hwnd, const RECT *rect, BOOL erase );
|
||||||
BOOL (WINAPI *pNtUserInvalidateRgn)( HWND hwnd, HRGN hrgn, BOOL erase );
|
BOOL (WINAPI *pNtUserInvalidateRgn)( HWND hwnd, HRGN hrgn, BOOL erase );
|
||||||
|
@ -313,6 +315,8 @@ struct unix_funcs
|
||||||
INT (WINAPI *pNtUserToUnicodeEx)( UINT virt, UINT scan, const BYTE *state,
|
INT (WINAPI *pNtUserToUnicodeEx)( UINT virt, UINT scan, const BYTE *state,
|
||||||
WCHAR *str, int size, UINT flags, HKL layout );
|
WCHAR *str, int size, UINT flags, HKL layout );
|
||||||
BOOL (WINAPI *pNtUserTrackMouseEvent)( TRACKMOUSEEVENT *info );
|
BOOL (WINAPI *pNtUserTrackMouseEvent)( TRACKMOUSEEVENT *info );
|
||||||
|
BOOL (WINAPI *pNtUserTrackPopupMenuEx)( HMENU handle, UINT flags, INT x, INT y, HWND hwnd,
|
||||||
|
TPMPARAMS *params );
|
||||||
INT (WINAPI *pNtUserTranslateAccelerator)( HWND hwnd, HACCEL accel, MSG *msg );
|
INT (WINAPI *pNtUserTranslateAccelerator)( HWND hwnd, HACCEL accel, MSG *msg );
|
||||||
BOOL (WINAPI *pNtUserTranslateMessage)( const MSG *msg, UINT flags );
|
BOOL (WINAPI *pNtUserTranslateMessage)( const MSG *msg, UINT flags );
|
||||||
BOOL (WINAPI *pNtUserUnregisterClass)( UNICODE_STRING *name, HINSTANCE instance,
|
BOOL (WINAPI *pNtUserUnregisterClass)( UNICODE_STRING *name, HINSTANCE instance,
|
||||||
|
@ -373,6 +377,8 @@ extern BOOL draw_frame_menu( HDC dc, RECT *r, UINT flags ) DECLSPEC_HIDDEN;
|
||||||
extern BOOL draw_nc_sys_button( HWND hwnd, HDC hdc, BOOL down ) DECLSPEC_HIDDEN;
|
extern BOOL draw_nc_sys_button( HWND hwnd, HDC hdc, BOOL down ) DECLSPEC_HIDDEN;
|
||||||
extern BOOL draw_rect_edge( HDC hdc, RECT *rc, UINT uType, UINT uFlags, UINT width ) DECLSPEC_HIDDEN;
|
extern BOOL draw_rect_edge( HDC hdc, RECT *rc, UINT uType, UINT uFlags, UINT width ) DECLSPEC_HIDDEN;
|
||||||
extern void fill_rect( HDC dc, const RECT *rect, HBRUSH hbrush ) DECLSPEC_HIDDEN;
|
extern void fill_rect( HDC dc, const RECT *rect, HBRUSH hbrush ) DECLSPEC_HIDDEN;
|
||||||
|
extern void get_sys_popup_pos( HWND hwnd, RECT *rect ) DECLSPEC_HIDDEN;
|
||||||
|
extern LRESULT handle_nc_hit_test( HWND hwnd, POINT pt ) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/* hook.c */
|
/* hook.c */
|
||||||
extern LRESULT call_current_hook( HHOOK hhook, INT code, WPARAM wparam, LPARAM lparam ) DECLSPEC_HIDDEN;
|
extern LRESULT call_current_hook( HHOOK hhook, INT code, WPARAM wparam, LPARAM lparam ) DECLSPEC_HIDDEN;
|
||||||
|
@ -398,6 +404,8 @@ extern void update_mouse_tracking_info( HWND hwnd ) DECLSPEC_HIDDEN;
|
||||||
/* menu.c */
|
/* menu.c */
|
||||||
extern HMENU create_menu( BOOL is_popup ) DECLSPEC_HIDDEN;
|
extern HMENU create_menu( BOOL is_popup ) DECLSPEC_HIDDEN;
|
||||||
extern BOOL draw_menu_bar( HWND hwnd ) DECLSPEC_HIDDEN;
|
extern BOOL draw_menu_bar( HWND hwnd ) DECLSPEC_HIDDEN;
|
||||||
|
extern UINT draw_nc_menu_bar( HDC hdc, RECT *rect, HWND hwnd ) DECLSPEC_HIDDEN;
|
||||||
|
extern void end_menu( HWND hwnd ) DECLSPEC_HIDDEN;
|
||||||
extern HMENU get_menu( HWND hwnd ) DECLSPEC_HIDDEN;
|
extern HMENU get_menu( HWND hwnd ) DECLSPEC_HIDDEN;
|
||||||
extern UINT get_menu_bar_height( HWND hwnd, UINT width, INT org_x, INT org_y ) DECLSPEC_HIDDEN;
|
extern UINT get_menu_bar_height( HWND hwnd, UINT width, INT org_x, INT org_y ) DECLSPEC_HIDDEN;
|
||||||
extern BOOL get_menu_info( HMENU handle, MENUINFO *info ) DECLSPEC_HIDDEN;
|
extern BOOL get_menu_info( HMENU handle, MENUINFO *info ) DECLSPEC_HIDDEN;
|
||||||
|
@ -408,6 +416,8 @@ extern HWND is_menu_active(void) DECLSPEC_HIDDEN;
|
||||||
extern LRESULT popup_menu_window_proc( HWND hwnd, UINT message, WPARAM wparam,
|
extern LRESULT popup_menu_window_proc( HWND hwnd, UINT message, WPARAM wparam,
|
||||||
LPARAM lparam ) DECLSPEC_HIDDEN;
|
LPARAM lparam ) DECLSPEC_HIDDEN;
|
||||||
extern BOOL set_window_menu( HWND hwnd, HMENU handle ) DECLSPEC_HIDDEN;
|
extern BOOL set_window_menu( HWND hwnd, HMENU handle ) DECLSPEC_HIDDEN;
|
||||||
|
extern void track_keyboard_menu_bar( HWND hwnd, UINT wparam, WCHAR ch ) DECLSPEC_HIDDEN;
|
||||||
|
extern void track_mouse_menu_bar( HWND hwnd, INT ht, int x, int y ) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/* message.c */
|
/* message.c */
|
||||||
extern LRESULT dispatch_message( const MSG *msg, BOOL ansi ) DECLSPEC_HIDDEN;
|
extern LRESULT dispatch_message( const MSG *msg, BOOL ansi ) DECLSPEC_HIDDEN;
|
||||||
|
@ -444,6 +454,7 @@ extern RECT get_virtual_screen_rect( UINT dpi ) DECLSPEC_HIDDEN;
|
||||||
extern BOOL is_exiting_thread( DWORD tid ) DECLSPEC_HIDDEN;
|
extern BOOL is_exiting_thread( DWORD tid ) DECLSPEC_HIDDEN;
|
||||||
extern POINT map_dpi_point( POINT pt, UINT dpi_from, UINT dpi_to ) DECLSPEC_HIDDEN;
|
extern POINT map_dpi_point( POINT pt, UINT dpi_from, UINT dpi_to ) DECLSPEC_HIDDEN;
|
||||||
extern RECT map_dpi_rect( RECT rect, UINT dpi_from, UINT dpi_to ) DECLSPEC_HIDDEN;
|
extern RECT map_dpi_rect( RECT rect, UINT dpi_from, UINT dpi_to ) DECLSPEC_HIDDEN;
|
||||||
|
extern BOOL message_beep( UINT i ) DECLSPEC_HIDDEN;
|
||||||
extern POINT point_phys_to_win_dpi( HWND hwnd, POINT pt ) DECLSPEC_HIDDEN;
|
extern POINT point_phys_to_win_dpi( HWND hwnd, POINT pt ) DECLSPEC_HIDDEN;
|
||||||
extern POINT point_thread_to_win_dpi( HWND hwnd, POINT pt ) DECLSPEC_HIDDEN;
|
extern POINT point_thread_to_win_dpi( HWND hwnd, POINT pt ) DECLSPEC_HIDDEN;
|
||||||
extern RECT rect_thread_to_win_dpi( HWND hwnd, RECT rect ) DECLSPEC_HIDDEN;
|
extern RECT rect_thread_to_win_dpi( HWND hwnd, RECT rect ) DECLSPEC_HIDDEN;
|
||||||
|
|
|
@ -4759,8 +4759,7 @@ BOOL WINAPI NtUserDestroyWindow( HWND hwnd )
|
||||||
|
|
||||||
if (call_hooks( WH_CBT, HCBT_DESTROYWND, (WPARAM)hwnd, 0, TRUE )) return FALSE;
|
if (call_hooks( WH_CBT, HCBT_DESTROYWND, (WPARAM)hwnd, 0, TRUE )) return FALSE;
|
||||||
|
|
||||||
if (user_callbacks && is_menu_active() == hwnd)
|
if (is_menu_active() == hwnd) NtUserEndMenu();
|
||||||
user_callbacks->pEndMenu();
|
|
||||||
|
|
||||||
is_child = (get_window_long( hwnd, GWL_STYLE ) & WS_CHILD) != 0;
|
is_child = (get_window_long( hwnd, GWL_STYLE ) & WS_CHILD) != 0;
|
||||||
|
|
||||||
|
@ -5505,9 +5504,6 @@ ULONG_PTR WINAPI NtUserCallHwndParam( HWND hwnd, DWORD_PTR param, DWORD code )
|
||||||
case NtUserIsWindowDrawable:
|
case NtUserIsWindowDrawable:
|
||||||
return is_window_drawable( hwnd, param );
|
return is_window_drawable( hwnd, param );
|
||||||
|
|
||||||
case NtUserSetCaptureWindow:
|
|
||||||
return set_capture_window( hwnd, param, NULL );
|
|
||||||
|
|
||||||
case NtUserSetWindowStyle:
|
case NtUserSetWindowStyle:
|
||||||
{
|
{
|
||||||
STYLESTRUCT *style = (void *)param;
|
STYLESTRUCT *style = (void *)param;
|
||||||
|
|
|
@ -981,6 +981,12 @@ INT WINAPI NtUserGetKeyNameText( LONG lparam, WCHAR *buffer, INT size )
|
||||||
return unix_funcs->pNtUserGetKeyNameText( lparam, buffer, size );
|
return unix_funcs->pNtUserGetKeyNameText( lparam, buffer, size );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL WINAPI NtUserGetMenuBarInfo( HWND hwnd, LONG id, LONG item, MENUBARINFO *info )
|
||||||
|
{
|
||||||
|
if (!unix_funcs) return 0;
|
||||||
|
return unix_funcs->pNtUserGetMenuBarInfo( hwnd, id, item, info );
|
||||||
|
}
|
||||||
|
|
||||||
BOOL WINAPI NtUserGetMessage( MSG *msg, HWND hwnd, UINT first, UINT last )
|
BOOL WINAPI NtUserGetMessage( MSG *msg, HWND hwnd, UINT first, UINT last )
|
||||||
{
|
{
|
||||||
if (!unix_funcs) return FALSE;
|
if (!unix_funcs) return FALSE;
|
||||||
|
@ -1011,6 +1017,12 @@ BOOL WINAPI NtUserHideCaret( HWND hwnd )
|
||||||
return unix_funcs->pNtUserHideCaret( hwnd );
|
return unix_funcs->pNtUserHideCaret( hwnd );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL WINAPI NtUserHiliteMenuItem( HWND hwnd, HMENU handle, UINT item, UINT hilite )
|
||||||
|
{
|
||||||
|
if (!unix_funcs) return FALSE;
|
||||||
|
return unix_funcs->pNtUserHiliteMenuItem( hwnd, handle, item, hilite );
|
||||||
|
}
|
||||||
|
|
||||||
BOOL WINAPI NtUserMoveWindow( HWND hwnd, INT x, INT y, INT cx, INT cy, BOOL repaint )
|
BOOL WINAPI NtUserMoveWindow( HWND hwnd, INT x, INT y, INT cx, INT cy, BOOL repaint )
|
||||||
{
|
{
|
||||||
if (!unix_funcs) return 0;
|
if (!unix_funcs) return 0;
|
||||||
|
@ -1352,6 +1364,13 @@ BOOL WINAPI NtUserTrackMouseEvent( TRACKMOUSEEVENT *info )
|
||||||
return unix_funcs->pNtUserTrackMouseEvent( info );
|
return unix_funcs->pNtUserTrackMouseEvent( info );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL WINAPI NtUserTrackPopupMenuEx( HMENU handle, UINT flags, INT x, INT y, HWND hwnd,
|
||||||
|
TPMPARAMS *params )
|
||||||
|
{
|
||||||
|
if (!unix_funcs) return FALSE;
|
||||||
|
return unix_funcs->pNtUserTrackPopupMenuEx( handle, flags, x, y, hwnd, params );
|
||||||
|
}
|
||||||
|
|
||||||
INT WINAPI NtUserTranslateAccelerator( HWND hwnd, HACCEL accel, MSG *msg )
|
INT WINAPI NtUserTranslateAccelerator( HWND hwnd, HACCEL accel, MSG *msg )
|
||||||
{
|
{
|
||||||
if (!unix_funcs) return 0;
|
if (!unix_funcs) return 0;
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
SYSCALL_ENTRY( NtUserCreateWindowStation ) \
|
SYSCALL_ENTRY( NtUserCreateWindowStation ) \
|
||||||
SYSCALL_ENTRY( NtUserDeleteMenu ) \
|
SYSCALL_ENTRY( NtUserDeleteMenu ) \
|
||||||
SYSCALL_ENTRY( NtUserDestroyAcceleratorTable ) \
|
SYSCALL_ENTRY( NtUserDestroyAcceleratorTable ) \
|
||||||
|
SYSCALL_ENTRY( NtUserEndMenu ) \
|
||||||
SYSCALL_ENTRY( NtUserFindExistingCursorIcon ) \
|
SYSCALL_ENTRY( NtUserFindExistingCursorIcon ) \
|
||||||
SYSCALL_ENTRY( NtUserFindWindowEx ) \
|
SYSCALL_ENTRY( NtUserFindWindowEx ) \
|
||||||
SYSCALL_ENTRY( NtUserGetAncestor ) \
|
SYSCALL_ENTRY( NtUserGetAncestor ) \
|
||||||
|
|
|
@ -726,6 +726,11 @@ NTSTATUS WINAPI wow64_NtUserDeleteMenu( UINT *args )
|
||||||
return NtUserDeleteMenu( menu, id, flags );
|
return NtUserDeleteMenu( menu, id, flags );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NTSTATUS WINAPI wow64_NtUserEndMenu( UINT *args )
|
||||||
|
{
|
||||||
|
return NtUserEndMenu();
|
||||||
|
}
|
||||||
|
|
||||||
NTSTATUS WINAPI wow64_NtUserGetMenuItemRect( UINT *args )
|
NTSTATUS WINAPI wow64_NtUserGetMenuItemRect( UINT *args )
|
||||||
{
|
{
|
||||||
HWND hwnd = get_handle( &args );
|
HWND hwnd = get_handle( &args );
|
||||||
|
|
|
@ -544,6 +544,7 @@ DWORD WINAPI NtUserDrawMenuBarTemp( HWND hwnd, HDC hdc, RECT *rect, HMENU hand
|
||||||
BOOL WINAPI NtUserEmptyClipboard(void);
|
BOOL WINAPI NtUserEmptyClipboard(void);
|
||||||
BOOL WINAPI NtUserEnableMenuItem( HMENU handle, UINT id, UINT flags );
|
BOOL WINAPI NtUserEnableMenuItem( HMENU handle, UINT id, UINT flags );
|
||||||
BOOL WINAPI NtUserEndDeferWindowPosEx( HDWP hdwp, BOOL async );
|
BOOL WINAPI NtUserEndDeferWindowPosEx( HDWP hdwp, BOOL async );
|
||||||
|
BOOL WINAPI NtUserEndMenu(void);
|
||||||
BOOL WINAPI NtUserEndPaint( HWND hwnd, const PAINTSTRUCT *ps );
|
BOOL WINAPI NtUserEndPaint( HWND hwnd, const PAINTSTRUCT *ps );
|
||||||
NTSTATUS WINAPI NtUserEnumDisplayDevices( UNICODE_STRING *device, DWORD index,
|
NTSTATUS WINAPI NtUserEnumDisplayDevices( UNICODE_STRING *device, DWORD index,
|
||||||
DISPLAY_DEVICEW *info, DWORD flags );
|
DISPLAY_DEVICEW *info, DWORD flags );
|
||||||
|
@ -590,6 +591,7 @@ UINT WINAPI NtUserGetKeyboardLayoutList( INT size, HKL *layouts );
|
||||||
BOOL WINAPI NtUserGetKeyboardLayoutName( WCHAR *name );
|
BOOL WINAPI NtUserGetKeyboardLayoutName( WCHAR *name );
|
||||||
BOOL WINAPI NtUserGetKeyboardState( BYTE *state );
|
BOOL WINAPI NtUserGetKeyboardState( BYTE *state );
|
||||||
BOOL WINAPI NtUserGetLayeredWindowAttributes( HWND hwnd, COLORREF *key, BYTE *alpha, DWORD *flags );
|
BOOL WINAPI NtUserGetLayeredWindowAttributes( HWND hwnd, COLORREF *key, BYTE *alpha, DWORD *flags );
|
||||||
|
BOOL WINAPI NtUserGetMenuBarInfo( HWND hwnd, LONG id, LONG item, MENUBARINFO *info );
|
||||||
BOOL WINAPI NtUserGetMenuItemRect( HWND hwnd, HMENU menu, UINT item, RECT *rect );
|
BOOL WINAPI NtUserGetMenuItemRect( HWND hwnd, HMENU menu, UINT item, RECT *rect );
|
||||||
BOOL WINAPI NtUserGetMessage( MSG *msg, HWND hwnd, UINT first, UINT last );
|
BOOL WINAPI NtUserGetMessage( MSG *msg, HWND hwnd, UINT first, UINT last );
|
||||||
int WINAPI NtUserGetMouseMovePointsEx( UINT size, MOUSEMOVEPOINT *ptin, MOUSEMOVEPOINT *ptout,
|
int WINAPI NtUserGetMouseMovePointsEx( UINT size, MOUSEMOVEPOINT *ptin, MOUSEMOVEPOINT *ptout,
|
||||||
|
@ -611,6 +613,7 @@ BOOL WINAPI NtUserGetUpdateRect( HWND hwnd, RECT *rect, BOOL erase );
|
||||||
BOOL WINAPI NtUserGetWindowPlacement( HWND hwnd, WINDOWPLACEMENT *placement );
|
BOOL WINAPI NtUserGetWindowPlacement( HWND hwnd, WINDOWPLACEMENT *placement );
|
||||||
int WINAPI NtUserGetWindowRgnEx( HWND hwnd, HRGN hrgn, UINT unk );
|
int WINAPI NtUserGetWindowRgnEx( HWND hwnd, HRGN hrgn, UINT unk );
|
||||||
BOOL WINAPI NtUserHideCaret( HWND hwnd );
|
BOOL WINAPI NtUserHideCaret( HWND hwnd );
|
||||||
|
BOOL WINAPI NtUserHiliteMenuItem( HWND hwnd, HMENU handle, UINT item, UINT hilite );
|
||||||
NTSTATUS WINAPI NtUserInitializeClientPfnArrays( const struct user_client_procs *client_procsA,
|
NTSTATUS WINAPI NtUserInitializeClientPfnArrays( const struct user_client_procs *client_procsA,
|
||||||
const struct user_client_procs *client_procsW,
|
const struct user_client_procs *client_procsW,
|
||||||
const void *client_workers, HINSTANCE user_module );
|
const void *client_workers, HINSTANCE user_module );
|
||||||
|
@ -703,6 +706,7 @@ UINT WINAPI NtUserThunkedMenuItemInfo( HMENU menu, UINT pos, UINT flags, UINT
|
||||||
INT WINAPI NtUserToUnicodeEx( UINT virt, UINT scan, const BYTE *state,
|
INT WINAPI NtUserToUnicodeEx( UINT virt, UINT scan, const BYTE *state,
|
||||||
WCHAR *str, int size, UINT flags, HKL layout );
|
WCHAR *str, int size, UINT flags, HKL layout );
|
||||||
BOOL WINAPI NtUserTrackMouseEvent( TRACKMOUSEEVENT *info );
|
BOOL WINAPI NtUserTrackMouseEvent( TRACKMOUSEEVENT *info );
|
||||||
|
BOOL WINAPI NtUserTrackPopupMenuEx( HMENU handle, UINT flags, INT x, INT y, HWND hwnd, TPMPARAMS *params );
|
||||||
INT WINAPI NtUserTranslateAccelerator( HWND hwnd, HACCEL accel, MSG *msg );
|
INT WINAPI NtUserTranslateAccelerator( HWND hwnd, HACCEL accel, MSG *msg );
|
||||||
BOOL WINAPI NtUserTranslateMessage( const MSG *msg, UINT flags );
|
BOOL WINAPI NtUserTranslateMessage( const MSG *msg, UINT flags );
|
||||||
BOOL WINAPI NtUserUnhookWinEvent( HWINEVENTHOOK hEventHook );
|
BOOL WINAPI NtUserUnhookWinEvent( HWINEVENTHOOK hEventHook );
|
||||||
|
@ -1078,7 +1082,6 @@ enum
|
||||||
NtUserCallHwndParam_ShowOwnedPopups,
|
NtUserCallHwndParam_ShowOwnedPopups,
|
||||||
/* temporary exports */
|
/* temporary exports */
|
||||||
NtUserIsWindowDrawable,
|
NtUserIsWindowDrawable,
|
||||||
NtUserSetCaptureWindow,
|
|
||||||
NtUserSetWindowStyle,
|
NtUserSetWindowStyle,
|
||||||
NtUserSpyGetMsgName,
|
NtUserSpyGetMsgName,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue