2 * Copyright 2022 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #include "wine/unixlib.h"
24 unix_clipboard_message
,
31 unix_tablet_attach_queue
,
32 unix_tablet_get_packet
,
34 unix_tablet_load_info
,
35 unix_xim_preedit_state
,
40 /* FIXME: Use __wine_unix_call when the rest of the stack is ready */
41 extern NTSTATUS (CDECL
*x11drv_unix_call
)( enum x11drv_funcs code
, void *params
) DECLSPEC_HIDDEN
;
42 #define X11DRV_CALL(func, params) x11drv_unix_call( unix_ ## func, params )
44 /* x11drv_clipboard_message params */
45 struct clipboard_message_params
53 /* x11drv_create_desktop params */
54 struct create_desktop_params
60 /* x11drv_init params */
63 NTSTATUS (WINAPI
*pNtWaitForMultipleObjects
)(ULONG
,const HANDLE
*,BOOLEAN
,BOOLEAN
,const LARGE_INTEGER
*);
64 WNDPROC foreign_window_proc
;
66 NTSTATUS (CDECL
*unix_call
)( enum x11drv_funcs code
, void *params
);
69 struct systray_dock_params
81 system_module_comctl32
,
83 system_module_riched20
,
84 system_module_none
= 0xffff,
87 /* x11drv_tablet_info params */
88 struct tablet_info_params
95 /* x11drv_xim_preedit_state params */
96 struct xim_preedit_state_params
102 /* driver client callbacks exposed with KernelCallbackTable interface */
103 enum x11drv_client_funcs
105 client_func_callback
= NtUserDriverCallbackFirst
,
106 client_func_dnd_enter_event
,
107 client_func_dnd_position_event
,
108 client_func_dnd_post_drop
,
109 client_func_ime_set_composition_string
,
110 client_func_ime_set_result
,
111 client_func_is_system_module
,
112 client_func_systray_change_owner
,
116 C_ASSERT( client_func_last
<= NtUserDriverCallbackLast
+ 1 );
118 /* simplified interface for client callbacks requiring only a single UINT parameter */
121 client_clipboard_init
,
122 client_dnd_drop_event
,
123 client_dnd_leave_event
,
124 client_ime_get_cursor_pos
,
125 client_ime_set_composition_status
,
126 client_ime_set_cursor_pos
,
127 client_ime_set_open_status
,
128 client_ime_update_association
,
133 /* x11drv_callback params */
134 struct client_callback_params
140 /* x11drv_dnd_enter_event and x11drv_dnd_post_drop params */
148 /* x11drv_dnd_position_event params */
149 struct dnd_position_event_params
156 struct systray_change_owner_params