VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/VBoxClient/vbox-gtk.h

Last change on this file was 101688, checked in by vboxsync, 6 months ago

Additions: X11/Wayland: Fix scm, bugref:10194.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 11.9 KB
Line 
1/* $Id: vbox-gtk.h 101688 2023-10-31 12:52:55Z vboxsync $ */
2/** @file
3 * Guest Additions - Definitions from Gtk 3.24.38 and Glib 2.17 libraries.
4 */
5
6/*
7 * Copyright (C) 2006-2023 Oracle and/or its affiliates.
8 *
9 * This file is part of VirtualBox base platform packages, as
10 * available from https://www.virtualbox.org.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation, in version 3 of the
15 * License.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, see <https://www.gnu.org/licenses>.
24 *
25 * SPDX-License-Identifier: GPL-3.0-only
26 */
27
28#ifndef GA_INCLUDED_SRC_x11_VBoxClient_vbox_gtk_h
29#define GA_INCLUDED_SRC_x11_VBoxClient_vbox_gtk_h
30#ifndef RT_WITHOUT_PRAGMA_ONCE
31# pragma once
32#endif
33
34extern "C"
35{
36
37
38/**
39 * Gtk definitions.
40 */
41
42
43#ifndef FALSE
44#define FALSE (0)
45#endif
46
47#ifndef TRUE
48#define TRUE (!FALSE)
49#endif
50
51#define G_SOURCE_REMOVE FALSE
52
53#define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u))
54#define _GDK_MAKE_ATOM(val) ((GdkAtom)GUINT_TO_POINTER(val))
55
56#define GDK_NONE _GDK_MAKE_ATOM (0)
57
58#define GDK_SELECTION_CLIPBOARD _GDK_MAKE_ATOM (69)
59
60#define _G_TYPE_CIC(ip, gt, ct) ((ct*) (void *) ip)
61#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) (_G_TYPE_CIC ((instance), (g_type), c_type))
62
63#define G_CALLBACK(f) ((GCallback) (f))
64#define g_signal_connect(instance, detailed_signal, c_handler, data) \
65 g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
66
67#define g_signal_connect_after(instance, detailed_signal, c_handler, data) \
68 g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, G_CONNECT_AFTER)
69
70#define GTK_TYPE_WINDOW (gtk_window_get_type ())
71#define GTK_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_WINDOW, GtkWindow))
72
73#define GTK_TYPE_CONTAINER (gtk_container_get_type ())
74#define GTK_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CONTAINER, GtkContainer))
75
76#define GTK_TYPE_BOX (gtk_box_get_type ())
77#define GTK_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BOX, GtkBox))
78
79#define GTK_TYPE_WIDGET (gtk_widget_get_type ())
80#define GTK_WIDGET(widget) (G_TYPE_CHECK_INSTANCE_CAST ((widget), GTK_TYPE_WIDGET, GtkWidget))
81
82#define G_TYPE_APPLICATION (g_application_get_type ())
83#define G_APPLICATION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_APPLICATION, GApplication))
84
85typedef enum
86{
87 G_APPLICATION_FLAGS_NONE = 0,
88 G_APPLICATION_DEFAULT_FLAGS = 0,
89 G_APPLICATION_IS_SERVICE = (1 << 0),
90 G_APPLICATION_IS_LAUNCHER = (1 << 1),
91
92 G_APPLICATION_HANDLES_OPEN = (1 << 2),
93 G_APPLICATION_HANDLES_COMMAND_LINE = (1 << 3),
94 G_APPLICATION_SEND_ENVIRONMENT = (1 << 4),
95
96 G_APPLICATION_NON_UNIQUE = (1 << 5),
97
98 G_APPLICATION_CAN_OVERRIDE_APP_ID = (1 << 6),
99 G_APPLICATION_ALLOW_REPLACEMENT = (1 << 7),
100 G_APPLICATION_REPLACE = (1 << 8)
101} GApplicationFlags;
102
103typedef enum
104{
105 GTK_WINDOW_TOPLEVEL,
106 GTK_WINDOW_POPUP
107} GtkWindowType;
108
109typedef enum
110{
111 GDK_NOTHING = -1,
112 GDK_DELETE = 0,
113 GDK_DESTROY = 1,
114 GDK_EXPOSE = 2,
115 GDK_MOTION_NOTIFY = 3,
116 GDK_BUTTON_PRESS = 4,
117 GDK_2BUTTON_PRESS = 5,
118 GDK_DOUBLE_BUTTON_PRESS = GDK_2BUTTON_PRESS,
119 GDK_3BUTTON_PRESS = 6,
120 GDK_TRIPLE_BUTTON_PRESS = GDK_3BUTTON_PRESS,
121 GDK_BUTTON_RELEASE = 7,
122 GDK_KEY_PRESS = 8,
123 GDK_KEY_RELEASE = 9,
124 GDK_ENTER_NOTIFY = 10,
125 GDK_LEAVE_NOTIFY = 11,
126 GDK_FOCUS_CHANGE = 12,
127 GDK_CONFIGURE = 13,
128 GDK_MAP = 14,
129 GDK_UNMAP = 15,
130 GDK_PROPERTY_NOTIFY = 16,
131 GDK_SELECTION_CLEAR = 17,
132 GDK_SELECTION_REQUEST = 18,
133 GDK_SELECTION_NOTIFY = 19,
134 GDK_PROXIMITY_IN = 20,
135 GDK_PROXIMITY_OUT = 21,
136 GDK_DRAG_ENTER = 22,
137 GDK_DRAG_LEAVE = 23,
138 GDK_DRAG_MOTION = 24,
139 GDK_DRAG_STATUS = 25,
140 GDK_DROP_START = 26,
141 GDK_DROP_FINISHED = 27,
142 GDK_CLIENT_EVENT = 28,
143 GDK_VISIBILITY_NOTIFY = 29,
144 GDK_SCROLL = 31,
145 GDK_WINDOW_STATE = 32,
146 GDK_SETTING = 33,
147 GDK_OWNER_CHANGE = 34,
148 GDK_GRAB_BROKEN = 35,
149 GDK_DAMAGE = 36,
150 GDK_TOUCH_BEGIN = 37,
151 GDK_TOUCH_UPDATE = 38,
152 GDK_TOUCH_END = 39,
153 GDK_TOUCH_CANCEL = 40,
154 GDK_TOUCHPAD_SWIPE = 41,
155 GDK_TOUCHPAD_PINCH = 42,
156 GDK_PAD_BUTTON_PRESS = 43,
157 GDK_PAD_BUTTON_RELEASE = 44,
158 GDK_PAD_RING = 45,
159 GDK_PAD_STRIP = 46,
160 GDK_PAD_GROUP_MODE = 47,
161 GDK_EVENT_LAST /* helper variable for decls */
162} GdkEventType;
163
164typedef enum
165{
166 GDK_WINDOW_STATE_WITHDRAWN = 1 << 0,
167 GDK_WINDOW_STATE_ICONIFIED = 1 << 1,
168 GDK_WINDOW_STATE_MAXIMIZED = 1 << 2,
169 GDK_WINDOW_STATE_STICKY = 1 << 3,
170 GDK_WINDOW_STATE_FULLSCREEN = 1 << 4,
171 GDK_WINDOW_STATE_ABOVE = 1 << 5,
172 GDK_WINDOW_STATE_BELOW = 1 << 6,
173 GDK_WINDOW_STATE_FOCUSED = 1 << 7,
174 GDK_WINDOW_STATE_TILED = 1 << 8,
175 GDK_WINDOW_STATE_TOP_TILED = 1 << 9,
176 GDK_WINDOW_STATE_TOP_RESIZABLE = 1 << 10,
177 GDK_WINDOW_STATE_RIGHT_TILED = 1 << 11,
178 GDK_WINDOW_STATE_RIGHT_RESIZABLE = 1 << 12,
179 GDK_WINDOW_STATE_BOTTOM_TILED = 1 << 13,
180 GDK_WINDOW_STATE_BOTTOM_RESIZABLE = 1 << 14,
181 GDK_WINDOW_STATE_LEFT_TILED = 1 << 15,
182 GDK_WINDOW_STATE_LEFT_RESIZABLE = 1 << 16
183} GdkWindowState;
184
185typedef enum
186{
187 GTK_ORIENTATION_HORIZONTAL,
188 GTK_ORIENTATION_VERTICAL
189} GtkOrientation;
190
191typedef enum
192{
193 G_CONNECT_DEFAULT = 0,
194 G_CONNECT_AFTER = 1 << 0,
195 G_CONNECT_SWAPPED = 1 << 1
196} GConnectFlags;
197
198typedef enum
199{
200 GTK_DIR_TAB_FORWARD,
201 GTK_DIR_TAB_BACKWARD,
202 GTK_DIR_UP,
203 GTK_DIR_DOWN,
204 GTK_DIR_LEFT,
205 GTK_DIR_RIGHT
206} GtkDirectionType;
207
208typedef struct _GdkWindow GdkWindow;
209typedef char gint8;
210
211struct _GdkEventWindowState
212{
213 GdkEventType type;
214 GdkWindow *window;
215 gint8 send_event;
216 GdkWindowState changed_mask;
217 GdkWindowState new_window_state;
218};
219
220typedef struct _GList GList;
221typedef struct _GdkAtom *GdkAtom;
222typedef struct _GtkTargetList GtkTargetList;
223typedef struct _GtkTargetEntry GtkTargetEntry;
224typedef struct _GtkClipboard GtkClipboard;
225typedef struct _GtkSelectionData GtkSelectionData;
226typedef struct _GtkWindow GtkWindow;
227typedef struct _GClosure GClosure;
228typedef struct _GdkEventWindowState GdkEventWindowState;
229typedef struct _GtkContainer GtkContainer;
230typedef struct _GtkBox GtkBox;
231typedef struct _GtkButton GtkButton;
232typedef struct _GtkApplication GtkApplication;
233typedef struct _GApplication GApplication;
234typedef union _GdkEvent GdkEvent;
235
236typedef struct _GtkWidget GtkWidget;
237typedef int gint;
238typedef gint gboolean;
239typedef char gchar;
240typedef unsigned char guchar;
241typedef unsigned int guint;
242typedef unsigned long gulong;
243typedef void* gpointer;
244typedef double gdouble;
245typedef gulong GType;
246
247typedef gboolean (*GSourceFunc) (gpointer user_data);
248typedef void (*GtkClipboardGetFunc) (GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, gpointer user_data_or_owner);
249typedef void (*GtkClipboardClearFunc)(GtkClipboard *clipboard, gpointer user_data_or_owner);
250typedef void (*GCallback) (void);
251typedef void (*GClosureNotify) (gpointer data, GClosure *closure);
252typedef void (*GtkClipboardReceivedFunc) (GtkClipboard *clipboard, GtkSelectionData *selection_data, gpointer data);
253
254
255extern GdkAtom gdk_atom_intern(const gchar *atom_name, gboolean only_if_exists);
256extern gchar* gdk_atom_name(GdkAtom atom);
257
258extern guint gdk_threads_add_timeout(guint interval, GSourceFunc function, gpointer data);
259
260extern GtkApplication *gtk_application_new(const gchar *application_id, GApplicationFlags flags);
261extern GtkWidget *gtk_application_window_new(GtkApplication *application);
262
263extern GType gtk_box_get_type(void);
264extern GtkWidget* gtk_box_new(GtkOrientation orientation, gint spacing);
265extern void gtk_box_pack_start(GtkBox* box, GtkWidget* child, gboolean expand, gboolean fill,
266 guint padding);
267extern GtkWidget* gtk_button_new(void);
268
269extern GtkClipboard *gtk_clipboard_get(GdkAtom selection);
270extern void gtk_clipboard_request_contents(GtkClipboard *clipboard, GdkAtom target,
271 GtkClipboardReceivedFunc callback, gpointer user_data);
272extern gboolean gtk_clipboard_set_with_data(GtkClipboard* clipboard, const GtkTargetEntry* targets,
273 guint n_targets, GtkClipboardGetFunc get_func,
274 GtkClipboardClearFunc clear_func, gpointer user_data);
275extern void gtk_clipboard_store(GtkClipboard* clipboard);
276extern gboolean gtk_clipboard_wait_for_targets(GtkClipboard *clipboard, GdkAtom **targets, gint *n_targets);
277extern void gtk_container_add(GtkContainer* container, GtkWidget* widget);
278extern GType gtk_container_get_type(void);
279
280extern void gtk_init(int *argc, char ***argv);
281extern void gtk_main(void);
282extern void gtk_main_quit(void);
283
284extern guchar *gtk_selection_data_get_data(const GtkSelectionData* selection_data);
285extern GdkAtom gtk_selection_data_get_data_type(const GtkSelectionData *selection_data);
286extern const guchar *gtk_selection_data_get_data_with_length(const GtkSelectionData *selection_data, gint *length);
287extern GdkAtom gtk_selection_data_get_target(const GtkSelectionData* selection_data);
288extern void gtk_selection_data_set(GtkSelectionData* selection_data, GdkAtom type, gint format, const guchar* data, gint length);
289
290extern void gtk_target_list_add(GtkTargetList *list, GdkAtom target, guint flags, guint info);
291extern GtkTargetList *gtk_target_list_new(const GtkTargetEntry *targets, guint ntargets);
292extern void gtk_target_list_unref(GtkTargetList *list);
293
294extern void gtk_target_table_free(GtkTargetEntry* targets, gint n_targets);
295extern GtkTargetEntry *gtk_target_table_new_from_list(GtkTargetList* list, gint* n_targets);
296
297extern void gtk_widget_destroy(GtkWidget* widget);
298extern GType gtk_widget_get_type(void);
299extern void gtk_widget_set_opacity(GtkWidget* widget, double opacity);
300extern void gtk_widget_show_all(GtkWidget* widget);
301
302extern GType gtk_window_get_type(void);
303extern void gtk_window_iconify(GtkWindow* window);
304extern void gtk_window_present(GtkWindow* window);
305extern void gtk_window_resize(GtkWindow* window, gint width, gint height);
306extern void gtk_window_set_default_size(GtkWindow* window, gint width, gint height);
307
308
309/**
310 * Glib definitions.
311 */
312
313
314extern GType g_application_get_type(void);
315extern gulong g_signal_connect_data(gpointer instance, const gchar *detailed_signal,
316 GCallback c_handler, gpointer data,
317 GClosureNotify destroy_data, GConnectFlags connect_flags);
318extern void g_free(gpointer mem);
319
320extern int g_application_run(GApplication *application, int argc, char **argv);
321extern GApplication *g_application_get_default(void);
322extern void g_application_quit(GApplication *application);
323extern void g_object_unref(gpointer object);
324
325} /* extern "C" */
326
327#endif /* !GA_INCLUDED_SRC_x11_VBoxClient_vbox_gtk_h */
328
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use