mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 19:00:08 +00:00
eedbec2066
The current way of exposing GDK API that should be considered internal to GTK+ is to append a 'libgtk_only' suffix to the function name; this is not really safe. GLib has been using a slightly different approach: a private table of function pointers, and a macro that allows accessing the desired symbol inside that vtable. We can copy the approach, and deprecate the 'libgtk_only' symbols in lieu of outright removal. https://bugzilla.gnome.org/show_bug.cgi?id=739781
36 lines
1.2 KiB
C
36 lines
1.2 KiB
C
#ifndef __GDK__PRIVATE_H__
|
|
#define __GDK__PRIVATE_H__
|
|
|
|
#include <gdk/gdk.h>
|
|
|
|
#define GDK_PRIVATE_CALL(symbol) (gdk__private__ ()->symbol)
|
|
|
|
GdkDisplay * gdk_display_open_default (void);
|
|
|
|
gboolean gdk_device_grab_info (GdkDisplay *display,
|
|
GdkDevice *device,
|
|
GdkWindow **grab_window,
|
|
gboolean *owner_events);
|
|
|
|
void gdk_add_option_entries (GOptionGroup *group);
|
|
|
|
void gdk_pre_parse (void);
|
|
|
|
typedef struct {
|
|
/* add all private functions here, initialize them in gdk-private.c */
|
|
gboolean (* gdk_device_grab_info) (GdkDisplay *display,
|
|
GdkDevice *device,
|
|
GdkWindow **grab_window,
|
|
gboolean *owner_events);
|
|
|
|
GdkDisplay *(* gdk_display_open_default) (void);
|
|
|
|
void (* gdk_add_option_entries) (GOptionGroup *group);
|
|
void (* gdk_pre_parse) (void);
|
|
} GdkPrivateVTable;
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
GdkPrivateVTable * gdk__private__ (void);
|
|
|
|
#endif /* __GDK__PRIVATE_H__ */
|