maintainers: Update the Direct3D section.
[wine.git] / dlls / winex11.drv / unixlib.h
blob9be7c18cd12e7cb680c8a3de7d18ef6416987057
1 /*
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
19 #include "ntuser.h"
20 #include "wine/unixlib.h"
22 enum x11drv_funcs
24 unix_clipboard_message,
25 unix_create_desktop,
26 unix_init,
27 unix_systray_clear,
28 unix_systray_dock,
29 unix_systray_hide,
30 unix_systray_init,
31 unix_tablet_attach_queue,
32 unix_tablet_get_packet,
33 unix_tablet_info,
34 unix_tablet_load_info,
35 unix_xim_preedit_state,
36 unix_xim_reset,
37 unix_funcs_count,
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
47 HWND hwnd;
48 UINT msg;
49 WPARAM wparam;
50 LPARAM lparam;
53 /* x11drv_create_desktop params */
54 struct create_desktop_params
56 UINT width;
57 UINT height;
60 /* x11drv_init params */
61 struct init_params
63 NTSTATUS (WINAPI *pNtWaitForMultipleObjects)(ULONG,const HANDLE*,BOOLEAN,BOOLEAN,const LARGE_INTEGER*);
64 WNDPROC foreign_window_proc;
65 BOOL show_systray;
66 NTSTATUS (CDECL *unix_call)( enum x11drv_funcs code, void *params );
69 struct systray_dock_params
71 UINT64 event_handle;
72 void *icon;
73 int cx;
74 int cy;
75 BOOL *layered;
78 enum system_modules
80 system_module_user32,
81 system_module_comctl32,
82 system_module_ole32,
83 system_module_riched20,
84 system_module_none = 0xffff,
87 /* x11drv_tablet_info params */
88 struct tablet_info_params
90 UINT category;
91 UINT index;
92 void *output;
95 /* x11drv_xim_preedit_state params */
96 struct xim_preedit_state_params
98 HWND hwnd;
99 BOOL open;
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,
113 client_func_last
116 C_ASSERT( client_func_last <= NtUserDriverCallbackLast + 1 );
118 /* simplified interface for client callbacks requiring only a single UINT parameter */
119 enum client_callback
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,
129 client_load_icon,
130 client_funcs_count
133 /* x11drv_callback params */
134 struct client_callback_params
136 UINT id;
137 UINT arg;
140 /* x11drv_dnd_enter_event and x11drv_dnd_post_drop params */
141 struct format_entry
143 UINT format;
144 UINT size;
145 char data[1];
148 /* x11drv_dnd_position_event params */
149 struct dnd_position_event_params
151 HWND hwnd;
152 POINT point;
153 DWORD effect;
156 struct systray_change_owner_params
158 UINT64 event_handle;