wow32: Use spec file imports.
[wine.git] / dlls / winex11.drv / unixlib.h
blobcc9f0184afdb478b3d50d4e31dfcd1f1cbb3a9c8
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_init,
25 unix_systray_clear,
26 unix_systray_dock,
27 unix_systray_hide,
28 unix_systray_init,
29 unix_tablet_attach_queue,
30 unix_tablet_get_packet,
31 unix_tablet_info,
32 unix_tablet_load_info,
33 unix_funcs_count,
36 #define X11DRV_CALL(func, params) WINE_UNIX_CALL( unix_ ## func, params )
38 /* x11drv_init params */
39 struct init_params
41 WNDPROC foreign_window_proc;
42 BOOL *show_systray;
45 struct systray_dock_params
47 UINT64 event_handle;
48 void *icon;
49 int cx;
50 int cy;
51 BOOL *layered;
54 /* x11drv_tablet_info params */
55 struct tablet_info_params
57 UINT category;
58 UINT index;
59 void *output;
62 /* x11drv_xim_preedit_state params */
63 struct xim_preedit_state_params
65 HWND hwnd;
66 BOOL open;
69 /* driver client callbacks exposed with KernelCallbackTable interface */
70 enum x11drv_client_funcs
72 client_func_callback = NtUserDriverCallbackFirst,
73 client_func_dnd_enter_event,
74 client_func_dnd_position_event,
75 client_func_dnd_post_drop,
76 client_func_systray_change_owner,
77 client_func_last
80 C_ASSERT( client_func_last <= NtUserDriverCallbackLast + 1 );
82 /* simplified interface for client callbacks requiring only a single UINT parameter */
83 enum client_callback
85 client_dnd_drop_event,
86 client_dnd_leave_event,
87 client_funcs_count
90 /* x11drv_callback params */
91 struct client_callback_params
93 UINT id;
94 UINT arg;
97 /* x11drv_dnd_enter_event and x11drv_dnd_post_drop params */
98 struct format_entry
100 UINT format;
101 UINT size;
102 char data[1];
105 /* x11drv_dnd_position_event params */
106 struct dnd_position_event_params
108 ULONG hwnd;
109 POINT point;
110 DWORD effect;
113 struct systray_change_owner_params
115 UINT64 event_handle;