winemac: Use unixlib interface for query_drag_drop.
[wine.git] / dlls / winemac.drv / unixlib.h
bloba858b29baaa4bd10e40376ed5d75ecd2758c6368
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 macdrv_funcs
24 unix_ime_clear,
25 unix_ime_process_text_input,
26 unix_ime_using_input_method,
27 unix_init,
28 unix_notify_icon,
29 unix_funcs_count
32 /* FIXME: Use __wine_unix_call when the rest of the stack is ready */
33 extern NTSTATUS unix_call(enum macdrv_funcs code, void *params) DECLSPEC_HIDDEN;
34 #define MACDRV_CALL(func, params) unix_call( unix_ ## func, params )
36 /* macdrv_ime_process_text_input params */
37 struct process_text_input_params
39 UINT vkey;
40 UINT scan;
41 UINT repeat;
42 const BYTE *key_state;
43 void *himc;
44 int *done;
47 /* macdrv_init params */
48 struct localized_string
50 UINT id;
51 UINT len;
52 const WCHAR *str;
55 struct init_params
57 struct localized_string *strings;
60 /* macdrv_notify_icon params */
61 struct notify_icon_params
63 DWORD msg;
64 struct _NOTIFYICONDATAW *data;
67 /* driver client callbacks exposed with KernelCallbackTable interface */
68 enum macdrv_client_funcs
70 client_func_dnd_query_drop = NtUserDriverCallbackFirst,
71 client_func_dnd_query_exited,
72 client_func_ime_query_char_rect,
73 client_func_ime_set_text,
74 client_func_last
77 /* macdrv_dnd_query_drop params */
78 struct dnd_query_drop_params
80 HWND hwnd;
81 UINT32 effect;
82 INT32 x;
83 INT32 y;
84 UINT64 handle;
87 /* macdrv_dnd_query_exited params */
88 struct dnd_query_exited_params
90 HWND hwnd;
93 /* macdrv_ime_query_char_rect result */
94 struct ime_query_char_rect_result
96 RECT rect;
97 UINT32 location;
98 UINT32 length;
101 /* macdrv_ime_query_char_rect params */
102 struct ime_query_char_rect_params
104 HWND hwnd;
105 void *data;
106 UINT32 location;
107 UINT32 length;
108 struct ime_query_char_rect_result *result; /* FIXME: Use NtCallbackReturn instead */
111 /* macdrv_ime_set_text params */
112 struct ime_set_text_params
114 HWND hwnd;
115 void *data;
116 UINT32 cursor_pos;
117 UINT32 complete;
118 WCHAR text[1];
121 C_ASSERT(client_func_last <= NtUserDriverCallbackLast + 1);