828 lines
26 KiB
C
828 lines
26 KiB
C
#ifndef GTK_IMPORTS_H
|
|
#define GTK_IMPORTS_H
|
|
|
|
#include <stdlib.h>
|
|
|
|
/*************************************************************************************
|
|
* boiler plate code to initialize Gtk functions etc.
|
|
*************************************************************************************/
|
|
|
|
void loadGtkFunctions(void (*loader)(const char *, void **, void *), void *user_data);
|
|
|
|
/*************************************************************************************
|
|
* Gtk Functions to load from shared library
|
|
*************************************************************************************/
|
|
|
|
#ifdef GTK_DECLARE_FUNCS
|
|
#define EXTERN
|
|
#ifndef NULL
|
|
#define NULL 0
|
|
#endif
|
|
#define DECL(ret, f, arg1) EXTERN ret (*f) arg1 = NULL;
|
|
#else
|
|
#ifdef GTK_LOAD_FUNCS
|
|
#define DECL(ret, f, arg1) loader(#f, (void **) &f, user_data);
|
|
#else
|
|
#define EXTERN extern
|
|
#define DECL(ret, f, arg1) EXTERN ret (*f) arg1;
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef GTK_IMPORTS_TYPES
|
|
#define GTK_IMPORTS_TYPES
|
|
|
|
typedef void GtkWidget;
|
|
typedef void GtkWindow;
|
|
typedef void GtkApplication;
|
|
typedef void GApplication;
|
|
typedef void GObject;
|
|
typedef void *GCallback;
|
|
typedef void *gpointer;
|
|
typedef void GClosure;
|
|
typedef void (*GClosureNotify) (gpointer data, GClosure *closure);
|
|
typedef void GtkStatusIcon;
|
|
typedef void GtkMenuShell;
|
|
typedef GtkMenuShell GtkMenu;
|
|
typedef void GtkMenuItem;
|
|
typedef void GdkEvent;
|
|
typedef void GtkTextBuffer;
|
|
typedef void GtkTextView;
|
|
typedef void GtkTextTagTable;
|
|
typedef void GtkContainer;
|
|
typedef void GtkLabel;
|
|
typedef void GtkHeaderBar;
|
|
typedef void GdkWindow;
|
|
typedef void GdkDevice;
|
|
typedef void GtkImage;
|
|
typedef void GdkPixbuf;
|
|
typedef void GError;
|
|
typedef void GtkStyleContext;
|
|
typedef void GtkCssProvider;
|
|
typedef void GtkStyleProvider;
|
|
typedef void GtkWidgetPath;
|
|
typedef void GtkAdjustment;
|
|
typedef void GtkFrame;
|
|
typedef void GtkEventBox;
|
|
typedef void GdkCursor;
|
|
typedef void GdkDisplay;
|
|
typedef void GtkEntry;
|
|
typedef void GtkDialog;
|
|
typedef void GTimer;
|
|
typedef void GtkComboBoxText;
|
|
typedef void GtkComboBox;
|
|
typedef void GtkGrid;
|
|
typedef void GtkColorButton;
|
|
typedef void GtkColorChooser;
|
|
typedef void GtkSpinButton;
|
|
typedef void GdkMonitor;
|
|
typedef void GdkScreen;
|
|
typedef void GtkAboutDialog;
|
|
|
|
typedef int gboolean;
|
|
typedef int gint;
|
|
typedef char gchar;
|
|
typedef long glong;
|
|
typedef unsigned long gulong;
|
|
typedef unsigned int guint32;
|
|
typedef unsigned int guint;
|
|
typedef long long gint64;
|
|
typedef unsigned long long guint64;
|
|
typedef float gfloat;
|
|
typedef double gdouble;
|
|
typedef char gint8;
|
|
typedef unsigned char guint8;
|
|
typedef short gint16;
|
|
typedef unsigned short guint16;
|
|
typedef size_t gssize;
|
|
|
|
typedef enum {
|
|
GTK_WINDOW_TOPLEVEL = 0,
|
|
GTK_WINDOW_POPUP = 1
|
|
} GtkWindowType;
|
|
|
|
typedef enum {
|
|
G_APPLICATION_FLAGS_NONE = 0,
|
|
G_APPLICATION_DEFAULT_FLAGS = 0,
|
|
G_APPLICATION_IS_SERVICE = 1,
|
|
G_APPLICATION_IS_LAUNCHER = 2,
|
|
G_APPLICATION_HANDLES_OPEN = 4,
|
|
G_APPLICATION_HANDLES_COMMAND_LINE = 8,
|
|
G_APPLICATION_SEND_ENVIRONMENT = 16,
|
|
G_APPLICATION_NON_UNIQUE = 32,
|
|
G_APPLICATION_CAN_OVERRIDE_APP_ID = 64,
|
|
G_APPLICATION_ALLOW_REPLACEMENT = 128,
|
|
G_APPLICATION_REPLACE = 256
|
|
} GApplicationFlags;
|
|
|
|
typedef enum {
|
|
G_CONNECT_DEFAULT = 0,
|
|
G_CONNECT_AFTER = 1,
|
|
G_CONNECT_SWAPPED = 2
|
|
} GConnectFlags;
|
|
|
|
typedef enum {
|
|
GDK_GRAVITY_NORTH_WEST = 1,
|
|
GDK_GRAVITY_NORTH,
|
|
GDK_GRAVITY_NORTH_EAST,
|
|
GDK_GRAVITY_WEST,
|
|
GDK_GRAVITY_CENTER,
|
|
GDK_GRAVITY_EAST,
|
|
GDK_GRAVITY_SOUTH_WEST,
|
|
GDK_GRAVITY_SOUTH,
|
|
GDK_GRAVITY_SOUTH_EAST,
|
|
GDK_GRAVITY_STATIC
|
|
} GdkGravity;
|
|
|
|
typedef enum {
|
|
GTK_ORIENTATION_HORIZONTAL = 0,
|
|
GTK_ORIENTATION_VERTICAL = 1
|
|
} GtkOrientation;
|
|
|
|
typedef enum {
|
|
PANGO_ELLIPSIZE_NONE = 0,
|
|
PANGO_ELLIPSIZE_START = 1,
|
|
PANGO_ELLIPSIZE_MIDDLE = 2,
|
|
PANGO_ELLIPSIZE_END = 3
|
|
} PangoEllipsizeMode;
|
|
|
|
typedef struct _GdkRectangle {
|
|
int x;
|
|
int y;
|
|
int width;
|
|
int height;
|
|
} GdkRectangle;
|
|
|
|
typedef struct _GdkRectangle GtkAllocation;
|
|
|
|
#define G_VALUE_INIT { 0, { { 0 } } }
|
|
|
|
typedef void *GType;
|
|
|
|
typedef struct _GValue
|
|
{
|
|
/*< private >*/
|
|
GType g_type;
|
|
|
|
/* public for GTypeValueTable methods */
|
|
union {
|
|
gint v_int;
|
|
guint v_uint;
|
|
glong v_long;
|
|
gulong v_ulong;
|
|
gint64 v_int64;
|
|
guint64 v_uint64;
|
|
gfloat v_float;
|
|
gdouble v_double;
|
|
gpointer v_pointer;
|
|
} data[2];
|
|
} GValue;
|
|
|
|
typedef struct _GtkTextIter {
|
|
/* GtkTextIter is an opaque datatype; ignore all these fields.
|
|
* Initialize the iter with gtk_text_buffer_get_iter_*
|
|
* functions
|
|
*/
|
|
/*< private >*/
|
|
gpointer dummy1;
|
|
gpointer dummy2;
|
|
gint dummy3;
|
|
gint dummy4;
|
|
gint dummy5;
|
|
gint dummy6;
|
|
gint dummy7;
|
|
gint dummy8;
|
|
gpointer dummy9;
|
|
gpointer dummy10;
|
|
gint dummy11;
|
|
gint dummy12;
|
|
/* padding */
|
|
gint dummy13;
|
|
gpointer dummy14;
|
|
} GtkTextIter;
|
|
|
|
typedef enum
|
|
{
|
|
GDK_NOTHING = -1,
|
|
GDK_DELETE = 0,
|
|
GDK_DESTROY = 1,
|
|
GDK_EXPOSE = 2,
|
|
GDK_MOTION_NOTIFY = 3,
|
|
GDK_BUTTON_PRESS = 4,
|
|
GDK_2BUTTON_PRESS = 5,
|
|
GDK_DOUBLE_BUTTON_PRESS = GDK_2BUTTON_PRESS,
|
|
GDK_3BUTTON_PRESS = 6,
|
|
GDK_TRIPLE_BUTTON_PRESS = GDK_3BUTTON_PRESS,
|
|
GDK_BUTTON_RELEASE = 7,
|
|
GDK_KEY_PRESS = 8,
|
|
GDK_KEY_RELEASE = 9,
|
|
GDK_ENTER_NOTIFY = 10,
|
|
GDK_LEAVE_NOTIFY = 11,
|
|
GDK_FOCUS_CHANGE = 12,
|
|
GDK_CONFIGURE = 13,
|
|
GDK_MAP = 14,
|
|
GDK_UNMAP = 15,
|
|
GDK_PROPERTY_NOTIFY = 16,
|
|
GDK_SELECTION_CLEAR = 17,
|
|
GDK_SELECTION_REQUEST = 18,
|
|
GDK_SELECTION_NOTIFY = 19,
|
|
GDK_PROXIMITY_IN = 20,
|
|
GDK_PROXIMITY_OUT = 21,
|
|
GDK_DRAG_ENTER = 22,
|
|
GDK_DRAG_LEAVE = 23,
|
|
GDK_DRAG_MOTION = 24,
|
|
GDK_DRAG_STATUS = 25,
|
|
GDK_DROP_START = 26,
|
|
GDK_DROP_FINISHED = 27,
|
|
GDK_CLIENT_EVENT = 28,
|
|
GDK_VISIBILITY_NOTIFY = 29,
|
|
GDK_SCROLL = 31,
|
|
GDK_WINDOW_STATE = 32,
|
|
GDK_SETTING = 33,
|
|
GDK_OWNER_CHANGE = 34,
|
|
GDK_GRAB_BROKEN = 35,
|
|
GDK_DAMAGE = 36,
|
|
GDK_TOUCH_BEGIN = 37,
|
|
GDK_TOUCH_UPDATE = 38,
|
|
GDK_TOUCH_END = 39,
|
|
GDK_TOUCH_CANCEL = 40,
|
|
GDK_TOUCHPAD_SWIPE = 41,
|
|
GDK_TOUCHPAD_PINCH = 42,
|
|
GDK_PAD_BUTTON_PRESS = 43,
|
|
GDK_PAD_BUTTON_RELEASE = 44,
|
|
GDK_PAD_RING = 45,
|
|
GDK_PAD_STRIP = 46,
|
|
GDK_PAD_GROUP_MODE = 47,
|
|
GDK_EVENT_LAST /* helper variable for decls */
|
|
} GdkEventType;
|
|
|
|
typedef struct _GdkEventButton
|
|
{
|
|
GdkEventType type;
|
|
GdkWindow *window;
|
|
gint8 send_event;
|
|
guint32 time;
|
|
gdouble x;
|
|
gdouble y;
|
|
gdouble *axes;
|
|
guint state;
|
|
guint button;
|
|
GdkDevice *device;
|
|
gdouble x_root, y_root;
|
|
} GdkEventButton;
|
|
|
|
typedef struct _GdkEventMotion
|
|
{
|
|
GdkEventType type;
|
|
GdkWindow *window;
|
|
gint8 send_event;
|
|
guint32 time;
|
|
gdouble x;
|
|
gdouble y;
|
|
gdouble *axes;
|
|
guint state;
|
|
gint16 is_hint;
|
|
GdkDevice *device;
|
|
gdouble x_root, y_root;
|
|
} GdkEventMotion;;
|
|
|
|
typedef struct _GdkEventKey
|
|
{
|
|
GdkEventType type;
|
|
GdkWindow *window;
|
|
gint8 send_event;
|
|
guint32 time;
|
|
guint state;
|
|
guint keyval;
|
|
gint length;
|
|
gchar *string;
|
|
guint16 hardware_keycode;
|
|
guint8 group;
|
|
guint is_modifier : 1;
|
|
} GdkEventKey;
|
|
|
|
#define GDK_KEY_Escape 65307
|
|
|
|
typedef enum
|
|
{
|
|
GDK_EXPOSURE_MASK = 1 << 1,
|
|
GDK_POINTER_MOTION_MASK = 1 << 2,
|
|
GDK_POINTER_MOTION_HINT_MASK = 1 << 3,
|
|
GDK_BUTTON_MOTION_MASK = 1 << 4,
|
|
GDK_BUTTON1_MOTION_MASK = 1 << 5,
|
|
GDK_BUTTON2_MOTION_MASK = 1 << 6,
|
|
GDK_BUTTON3_MOTION_MASK = 1 << 7,
|
|
GDK_BUTTON_PRESS_MASK = 1 << 8,
|
|
GDK_BUTTON_RELEASE_MASK = 1 << 9,
|
|
GDK_KEY_PRESS_MASK = 1 << 10,
|
|
GDK_KEY_RELEASE_MASK = 1 << 11,
|
|
GDK_ENTER_NOTIFY_MASK = 1 << 12,
|
|
GDK_LEAVE_NOTIFY_MASK = 1 << 13,
|
|
GDK_FOCUS_CHANGE_MASK = 1 << 14,
|
|
GDK_STRUCTURE_MASK = 1 << 15,
|
|
GDK_PROPERTY_CHANGE_MASK = 1 << 16,
|
|
GDK_VISIBILITY_NOTIFY_MASK = 1 << 17,
|
|
GDK_PROXIMITY_IN_MASK = 1 << 18,
|
|
GDK_PROXIMITY_OUT_MASK = 1 << 19,
|
|
GDK_SUBSTRUCTURE_MASK = 1 << 20,
|
|
GDK_SCROLL_MASK = 1 << 21,
|
|
GDK_TOUCH_MASK = 1 << 22,
|
|
GDK_SMOOTH_SCROLL_MASK = 1 << 23,
|
|
GDK_TOUCHPAD_GESTURE_MASK = 1 << 24,
|
|
GDK_TABLET_PAD_MASK = 1 << 25,
|
|
GDK_ALL_EVENTS_MASK = 0x3FFFFFE
|
|
} GdkEventMask;
|
|
|
|
typedef enum
|
|
{
|
|
GTK_STATE_FLAG_NORMAL = 0,
|
|
GTK_STATE_FLAG_ACTIVE = 1 << 0,
|
|
GTK_STATE_FLAG_PRELIGHT = 1 << 1,
|
|
GTK_STATE_FLAG_SELECTED = 1 << 2,
|
|
GTK_STATE_FLAG_INSENSITIVE = 1 << 3,
|
|
GTK_STATE_FLAG_INCONSISTENT = 1 << 4,
|
|
GTK_STATE_FLAG_FOCUSED = 1 << 5,
|
|
GTK_STATE_FLAG_BACKDROP = 1 << 6,
|
|
GTK_STATE_FLAG_DIR_LTR = 1 << 7,
|
|
GTK_STATE_FLAG_DIR_RTL = 1 << 8,
|
|
GTK_STATE_FLAG_LINK = 1 << 9,
|
|
GTK_STATE_FLAG_VISITED = 1 << 10,
|
|
GTK_STATE_FLAG_CHECKED = 1 << 11,
|
|
GTK_STATE_FLAG_DROP_ACTIVE = 1 << 12
|
|
} GtkStateFlags;
|
|
|
|
|
|
typedef void (* GtkMenuPositionFunc) (
|
|
GtkMenu* menu,
|
|
gint* x,
|
|
gint* y,
|
|
gboolean* push_in,
|
|
gpointer user_data
|
|
);
|
|
|
|
typedef struct _GdkRGBA
|
|
{
|
|
gdouble red;
|
|
gdouble green;
|
|
gdouble blue;
|
|
gdouble alpha;
|
|
} GdkRGBA;
|
|
|
|
typedef struct _GtkRequisition
|
|
{
|
|
gint width;
|
|
gint height;
|
|
} GtkRequisition;
|
|
|
|
typedef enum {
|
|
GTK_STYLE_CONTEXT_PRINT_NONE = 0,
|
|
GTK_STYLE_CONTEXT_PRINT_RECURSE = 1 << 0,
|
|
GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE = 1 << 1
|
|
} GtkStyleContextPrintFlags;
|
|
|
|
typedef enum
|
|
{
|
|
GTK_WRAP_NONE,
|
|
GTK_WRAP_CHAR,
|
|
GTK_WRAP_WORD,
|
|
GTK_WRAP_WORD_CHAR
|
|
} GtkWrapMode;
|
|
|
|
typedef enum
|
|
{
|
|
GTK_SHADOW_NONE,
|
|
GTK_SHADOW_IN,
|
|
GTK_SHADOW_OUT,
|
|
GTK_SHADOW_ETCHED_IN,
|
|
GTK_SHADOW_ETCHED_OUT
|
|
} GtkShadowType;
|
|
|
|
typedef enum
|
|
{
|
|
GDK_X_CURSOR = 0,
|
|
GDK_ARROW = 2,
|
|
GDK_BASED_ARROW_DOWN = 4,
|
|
GDK_BASED_ARROW_UP = 6,
|
|
GDK_BOAT = 8,
|
|
GDK_BOGOSITY = 10,
|
|
GDK_BOTTOM_LEFT_CORNER = 12,
|
|
GDK_BOTTOM_RIGHT_CORNER = 14,
|
|
GDK_BOTTOM_SIDE = 16,
|
|
GDK_BOTTOM_TEE = 18,
|
|
GDK_BOX_SPIRAL = 20,
|
|
GDK_CENTER_PTR = 22,
|
|
GDK_CIRCLE = 24,
|
|
GDK_CLOCK = 26,
|
|
GDK_COFFEE_MUG = 28,
|
|
GDK_CROSS = 30,
|
|
GDK_CROSS_REVERSE = 32,
|
|
GDK_CROSSHAIR = 34,
|
|
GDK_DIAMOND_CROSS = 36,
|
|
GDK_DOT = 38,
|
|
GDK_DOTBOX = 40,
|
|
GDK_DOUBLE_ARROW = 42,
|
|
GDK_DRAFT_LARGE = 44,
|
|
GDK_DRAFT_SMALL = 46,
|
|
GDK_DRAPED_BOX = 48,
|
|
GDK_EXCHANGE = 50,
|
|
GDK_FLEUR = 52,
|
|
GDK_GOBBLER = 54,
|
|
GDK_GUMBY = 56,
|
|
GDK_HAND1 = 58,
|
|
GDK_HAND2 = 60,
|
|
GDK_HEART = 62,
|
|
GDK_ICON = 64,
|
|
GDK_IRON_CROSS = 66,
|
|
GDK_LEFT_PTR = 68,
|
|
GDK_LEFT_SIDE = 70,
|
|
GDK_LEFT_TEE = 72,
|
|
GDK_LEFTBUTTON = 74,
|
|
GDK_LL_ANGLE = 76,
|
|
GDK_LR_ANGLE = 78,
|
|
GDK_MAN = 80,
|
|
GDK_MIDDLEBUTTON = 82,
|
|
GDK_MOUSE = 84,
|
|
GDK_PENCIL = 86,
|
|
GDK_PIRATE = 88,
|
|
GDK_PLUS = 90,
|
|
GDK_QUESTION_ARROW = 92,
|
|
GDK_RIGHT_PTR = 94,
|
|
GDK_RIGHT_SIDE = 96,
|
|
GDK_RIGHT_TEE = 98,
|
|
GDK_RIGHTBUTTON = 100,
|
|
GDK_RTL_LOGO = 102,
|
|
GDK_SAILBOAT = 104,
|
|
GDK_SB_DOWN_ARROW = 106,
|
|
GDK_SB_H_DOUBLE_ARROW = 108,
|
|
GDK_SB_LEFT_ARROW = 110,
|
|
GDK_SB_RIGHT_ARROW = 112,
|
|
GDK_SB_UP_ARROW = 114,
|
|
GDK_SB_V_DOUBLE_ARROW = 116,
|
|
GDK_SHUTTLE = 118,
|
|
GDK_SIZING = 120,
|
|
GDK_SPIDER = 122,
|
|
GDK_SPRAYCAN = 124,
|
|
GDK_STAR = 126,
|
|
GDK_TARGET = 128,
|
|
GDK_TCROSS = 130,
|
|
GDK_TOP_LEFT_ARROW = 132,
|
|
GDK_TOP_LEFT_CORNER = 134,
|
|
GDK_TOP_RIGHT_CORNER = 136,
|
|
GDK_TOP_SIDE = 138,
|
|
GDK_TOP_TEE = 140,
|
|
GDK_TREK = 142,
|
|
GDK_UL_ANGLE = 144,
|
|
GDK_UMBRELLA = 146,
|
|
GDK_UR_ANGLE = 148,
|
|
GDK_WATCH = 150,
|
|
GDK_XTERM = 152,
|
|
GDK_LAST_CURSOR,
|
|
GDK_BLANK_CURSOR = -2,
|
|
GDK_CURSOR_IS_PIXMAP = -1
|
|
} GdkCursorType;
|
|
|
|
typedef enum
|
|
{
|
|
GTK_ALIGN_FILL,
|
|
GTK_ALIGN_START,
|
|
GTK_ALIGN_END,
|
|
GTK_ALIGN_CENTER,
|
|
GTK_ALIGN_BASELINE
|
|
} GtkAlign;
|
|
|
|
typedef enum
|
|
{
|
|
GTK_DIALOG_MODAL = 1 << 0,
|
|
GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1,
|
|
GTK_DIALOG_USE_HEADER_BAR = 1 << 2
|
|
} GtkDialogFlags;
|
|
|
|
typedef enum
|
|
{
|
|
GTK_MESSAGE_INFO,
|
|
GTK_MESSAGE_WARNING,
|
|
GTK_MESSAGE_QUESTION,
|
|
GTK_MESSAGE_ERROR,
|
|
GTK_MESSAGE_OTHER
|
|
} GtkMessageType;
|
|
|
|
typedef enum
|
|
{
|
|
GTK_BUTTONS_NONE,
|
|
GTK_BUTTONS_OK,
|
|
GTK_BUTTONS_CLOSE,
|
|
GTK_BUTTONS_CANCEL,
|
|
GTK_BUTTONS_YES_NO,
|
|
GTK_BUTTONS_OK_CANCEL
|
|
} GtkButtonsType;
|
|
|
|
typedef enum
|
|
{
|
|
GTK_RESPONSE_NONE = -1,
|
|
GTK_RESPONSE_REJECT = -2,
|
|
GTK_RESPONSE_ACCEPT = -3,
|
|
GTK_RESPONSE_DELETE_EVENT = -4,
|
|
GTK_RESPONSE_OK = -5,
|
|
GTK_RESPONSE_CANCEL = -6,
|
|
GTK_RESPONSE_CLOSE = -7,
|
|
GTK_RESPONSE_YES = -8,
|
|
GTK_RESPONSE_NO = -9,
|
|
GTK_RESPONSE_APPLY = -10,
|
|
GTK_RESPONSE_HELP = -11
|
|
} GtkResponseType;
|
|
|
|
typedef struct _GdkEventFocus
|
|
{
|
|
GdkEventType type;
|
|
GdkWindow *window;
|
|
gint8 send_event;
|
|
gint16 in;
|
|
} GdkEventFocus;
|
|
|
|
typedef gboolean (*GSourceFunc) (gpointer user_data);
|
|
|
|
typedef enum
|
|
{
|
|
GDK_WINDOW_TYPE_HINT_NORMAL,
|
|
GDK_WINDOW_TYPE_HINT_DIALOG,
|
|
GDK_WINDOW_TYPE_HINT_MENU, /* Torn off menu */
|
|
GDK_WINDOW_TYPE_HINT_TOOLBAR,
|
|
GDK_WINDOW_TYPE_HINT_SPLASHSCREEN,
|
|
GDK_WINDOW_TYPE_HINT_UTILITY,
|
|
GDK_WINDOW_TYPE_HINT_DOCK,
|
|
GDK_WINDOW_TYPE_HINT_DESKTOP,
|
|
GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU, /* A drop down menu (from a menubar) */
|
|
GDK_WINDOW_TYPE_HINT_POPUP_MENU, /* A popup menu (from right-click) */
|
|
GDK_WINDOW_TYPE_HINT_TOOLTIP,
|
|
GDK_WINDOW_TYPE_HINT_NOTIFICATION,
|
|
GDK_WINDOW_TYPE_HINT_COMBO,
|
|
GDK_WINDOW_TYPE_HINT_DND
|
|
} GdkWindowTypeHint;
|
|
|
|
typedef enum
|
|
{
|
|
GDK_VISIBILITY_UNOBSCURED,
|
|
GDK_VISIBILITY_PARTIAL,
|
|
GDK_VISIBILITY_FULLY_OBSCURED
|
|
} GdkVisibilityState;
|
|
|
|
typedef struct _GdkEventVisibility
|
|
{
|
|
GdkEventType type;
|
|
GdkWindow *window;
|
|
gint8 send_event;
|
|
GdkVisibilityState state;
|
|
} GdkEventVisibility;
|
|
|
|
typedef struct _GList {
|
|
gpointer data;
|
|
gpointer next;
|
|
gpointer prev;
|
|
} GList;
|
|
|
|
typedef void GListModel;
|
|
|
|
typedef enum {
|
|
GTK_LICENSE_UNKNOWN,
|
|
GTK_LICENSE_CUSTOM,
|
|
|
|
GTK_LICENSE_GPL_2_0,
|
|
GTK_LICENSE_GPL_3_0,
|
|
|
|
GTK_LICENSE_LGPL_2_1,
|
|
GTK_LICENSE_LGPL_3_0,
|
|
|
|
GTK_LICENSE_BSD,
|
|
GTK_LICENSE_MIT_X11,
|
|
|
|
GTK_LICENSE_ARTISTIC,
|
|
|
|
GTK_LICENSE_GPL_2_0_ONLY,
|
|
GTK_LICENSE_GPL_3_0_ONLY,
|
|
GTK_LICENSE_LGPL_2_1_ONLY,
|
|
GTK_LICENSE_LGPL_3_0_ONLY,
|
|
|
|
GTK_LICENSE_AGPL_3_0,
|
|
GTK_LICENSE_AGPL_3_0_ONLY,
|
|
|
|
GTK_LICENSE_BSD_3,
|
|
GTK_LICENSE_APACHE_2_0,
|
|
GTK_LICENSE_MPL_2_0
|
|
} GtkLicense;
|
|
|
|
#define G_TYPE_FUNDAMENTAL_SHIFT (2)
|
|
#define G_TYPE_MAKE_FUNDAMENTAL(x) ((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
|
|
#define G_TYPE_INT G_TYPE_MAKE_FUNDAMENTAL (6)
|
|
|
|
#define GTK_STYLE_PROVIDER_PRIORITY_USER 800
|
|
|
|
#endif
|
|
|
|
// GLib
|
|
DECL(GTimer*, g_timeout_add, (guint interval, GSourceFunc func, gpointer data));
|
|
|
|
// Gtk Application / Window / Widget
|
|
|
|
DECL(GtkApplication *, gtk_application_new, (const char *name, GApplicationFlags flags))
|
|
DECL(int, g_application_run, (GApplication* application, int argc, char** argv))
|
|
|
|
DECL(GtkWidget*, gtk_application_window_new, ( GtkApplication* application ))
|
|
DECL(GtkWidget *, gtk_window_new, (GtkWindowType))
|
|
DECL(void, gtk_window_close, (GtkWindow *))
|
|
|
|
DECL(void, gtk_window_set_decorated, (GtkWindow* window, gboolean setting ))
|
|
|
|
DECL(void, gtk_widget_show_all, (GtkWindow *window))
|
|
DECL(void, gtk_widget_hide, (GtkWidget* widget ))
|
|
DECL(void, gtk_widget_show, (GtkWidget* widget))
|
|
DECL(gboolean, gtk_widget_grab_focus, ( GtkWidget* widget ))
|
|
|
|
DECL(GtkWidget*, gtk_event_box_new, (void))
|
|
DECL(void, gtk_event_box_set_visible_window, (GtkEventBox* event_box, gboolean visible_window ))
|
|
|
|
DECL(void, gtk_window_get_size, (GtkWindow *win, int *width, int *height))
|
|
DECL(void, gtk_window_resize, (GtkWindow* window, gint width, gint height))
|
|
DECL(void, gtk_window_set_default_size, (GtkWindow *window, gint width, gint height))
|
|
DECL(void, gtk_window_get_position, (GtkWindow* window, gint* root_x, gint* root_y))
|
|
DECL(void, gtk_window_move, (GtkWindow* window, gint x, gint y))
|
|
DECL(void, gtk_window_present, (GtkWindow* window))
|
|
DECL(void, gtk_window_set_type_hint, (GtkWindow* window, GdkWindowTypeHint hint))
|
|
DECL(void, gtk_window_set_skip_taskbar_hint, (GtkWindow* window, gboolean setting))
|
|
DECL(void, gtk_window_set_skip_pager_hint, (GtkWindow* window, gboolean setting))
|
|
DECL(void, gtk_widget_set_can_focus, (GtkWidget* widget, gboolean can_focus ))
|
|
DECL(void, gtk_window_set_transient_for, (GtkWindow* window, GtkWindow* parent ))
|
|
DECL(GType, gtk_window_get_type, (void))
|
|
DECL(GObject*, g_object_new, (GType object_type, const gchar* first_property_name, ...))
|
|
|
|
DECL(void, gtk_widget_set_size_request, (GtkWidget* widget, int width, int height ))
|
|
DECL(void, gtk_widget_get_preferred_size, (GtkWidget* widget, GtkRequisition* minimum_size, GtkRequisition* natural_size))
|
|
DECL(void, gtk_widget_get_allocation, ( GtkWidget* widget, GtkAllocation* allocation ))
|
|
|
|
DECL(void, gtk_window_set_resizable, (GtkWindow* window, gboolean resizable))
|
|
DECL(GdkWindow *, gtk_widget_get_window, (GtkWidget *w));
|
|
DECL(GdkWindow*, gdk_window_get_effective_toplevel, (GdkWindow* window))
|
|
DECL(void, gdk_window_set_override_redirect, (GdkWindow* window, gboolean override_redirect))
|
|
|
|
DECL(GtkWidget*, gtk_scrolled_window_new, (GtkAdjustment* hadjustment, GtkAdjustment* vadjustment))
|
|
|
|
DECL(gboolean, gtk_window_get_decorated, (GtkWindow* window))
|
|
DECL(void, gdk_window_set_events, (GdkWindow* window, GdkEventMask event_mask ))
|
|
DECL(GdkEventMask, gdk_window_get_events, (GdkWindow* window ))
|
|
|
|
DECL(void, gtk_window_set_title, (GtkWindow* window, const gchar* title))
|
|
DECL(const gchar*, gtk_window_get_title, (GtkWindow* window))
|
|
|
|
DECL(void, gtk_widget_destroy, (GtkWidget* widget))
|
|
DECL(void, gtk_container_add, (GtkContainer* container, GtkWidget* widget))
|
|
DECL(void, gtk_container_remove, (GtkContainer* container, GtkWidget* widget))
|
|
DECL(void, gtk_container_set_border_width, (GtkContainer *container, guint width));
|
|
|
|
DECL(gboolean, gtk_widget_is_visible, (GtkWidget* widget))
|
|
DECL(GtkWidget*, gtk_label_new, (const char* str))
|
|
DECL(void, gtk_label_set_ellipsize, (GtkLabel* label, PangoEllipsizeMode mode))
|
|
DECL(void, gtk_label_set_label, (GtkLabel* label, const gchar* str))
|
|
DECL(const gchar*, gtk_label_get_text, (GtkLabel* label))
|
|
DECL(GtkWidget*, gtk_entry_new, (void))
|
|
DECL(void, gtk_entry_set_text, (GtkEntry* entry, const gchar* text ))
|
|
DECL(const gchar*, gtk_entry_get_text, (GtkEntry* entry))
|
|
|
|
DECL(GtkWidget*, gtk_separator_new, ( GtkOrientation orientation ))
|
|
|
|
DECL(GtkWidget*, gtk_frame_new, ( const gchar* label ))
|
|
DECL(void, gtk_frame_set_shadow_type, (GtkFrame* frame, GtkShadowType type ))
|
|
|
|
DECL(GtkWidget*, gtk_box_new, (GtkOrientation orientation, gint spacing ))
|
|
DECL(void, gtk_widget_set_vexpand, (GtkWidget* widget, gboolean expand ))
|
|
DECL(void, gtk_widget_set_hexpand, (GtkWidget* widget, gboolean expand ))
|
|
DECL(void, gtk_widget_set_halign, (GtkWidget* widget, GtkAlign align ))
|
|
DECL(void, gtk_widget_set_valign, (GtkWidget* widget, GtkAlign align ))
|
|
DECL(GtkWidget*,gtk_grid_new, (void))
|
|
DECL(void, gtk_grid_attach, (GtkGrid* grid, GtkWidget* child, gint left, gint top, gint width, gint height ))
|
|
|
|
DECL(GtkWidget*, gtk_color_button_new, (void ))
|
|
DECL(void, gtk_color_chooser_set_rgba, (GtkColorChooser* chooser, const GdkRGBA* color ))
|
|
DECL(void, gtk_color_chooser_get_rgba, (GtkColorChooser* chooser, GdkRGBA* color ))
|
|
|
|
DECL(gboolean, gtk_widget_translate_coordinates, ( GtkWidget* src_widget, GtkWidget* dest_widget, gint src_x, gint src_y, gint* dest_x, gint* dest_y))
|
|
|
|
DECL(void, gtk_main, (void))
|
|
DECL(void, gtk_main_quit, (void))
|
|
DECL(GdkEvent*, gtk_get_current_event, (void ))
|
|
DECL(void, gtk_main_do_event, (GdkEvent* event))
|
|
DECL(void, gdk_event_free, (GdkEvent* event))
|
|
|
|
DECL(GtkWidget*, gtk_spin_button_new_with_range, (gdouble min, gdouble max, gdouble step))
|
|
DECL(void, gtk_spin_button_set_value, (GtkSpinButton* spin_button, gdouble value ))
|
|
DECL(gint, gtk_spin_button_get_value_as_int, (GtkSpinButton* spin_button ))
|
|
|
|
DECL(unsigned long, g_signal_connect_data, (GObject *obj, const char *signal, GCallback c_handler, gpointer data, GClosureNotify destroy_data, GConnectFlags connect_flags))
|
|
|
|
// Messages
|
|
DECL(GtkWidget*, gtk_message_dialog_new, (GtkWindow* parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const gchar* message_format, ...))
|
|
DECL(gint, gtk_dialog_run, (GtkDialog* dialog))
|
|
|
|
// Dialogs
|
|
DECL(GtkWidget*, gtk_dialog_new, (void))
|
|
DECL(GtkWidget*, gtk_dialog_add_button, (GtkDialog* dialog, const gchar* button_text, gint response_id ))
|
|
DECL(void, gtk_dialog_response, (GtkDialog* dialog, gint response_id ))
|
|
//DECL(GtkWidget*, gtk_dialog_new_with_buttons, (const gchar* title, GtkWindow* parent, GtkDialogFlags flags, const gchar* first_button_text, ...))
|
|
//DECL(GtkWidget*, gtk_drop_down_new_from_strings, (const char* const* strings ))
|
|
DECL(GtkWidget*, gtk_combo_box_new, (void));
|
|
DECL(GtkWidget*, gtk_combo_box_text_new, (void))
|
|
DECL(void, gtk_combo_box_text_append, ( GtkComboBoxText* combo_box, const gchar* id, const gchar* text ))
|
|
DECL(GtkWidget*, gtk_dialog_get_content_area, (GtkDialog* dialog ))
|
|
DECL(gboolean, gtk_combo_box_set_active_id, ( GtkComboBox* combo_box, const gchar* active_id ))
|
|
DECL(const gchar*, gtk_combo_box_get_active_id, (GtkComboBox* combo_box))
|
|
|
|
// Gdk Monitor/Screen
|
|
|
|
DECL(GdkDisplay*, gdk_display_get_default, (void))
|
|
DECL(int, gdk_display_get_n_monitors, (GdkDisplay* display))
|
|
DECL(GdkMonitor*, gdk_display_get_monitor, (GdkDisplay* display, int monitor_num))
|
|
DECL(void, gdk_monitor_get_geometry, (GdkMonitor* monitor, GdkRectangle* geometry))
|
|
DECL(GList*, gdk_screen_get_window_stack, (GdkScreen* screen))
|
|
DECL(GdkScreen*, gdk_screen_get_default, (void))
|
|
|
|
// About
|
|
|
|
DECL(GtkWidget*, gtk_about_dialog_new, (void))
|
|
DECL(void, gtk_about_dialog_set_authors, (GtkAboutDialog* about,const gchar** authors))
|
|
DECL(void, gtk_about_dialog_set_copyright, (GtkAboutDialog* about, const gchar* copyright ))
|
|
DECL(void, gtk_about_dialog_set_license_type, (GtkAboutDialog* about, GtkLicense license_type))
|
|
DECL(void, gtk_about_dialog_set_logo, (GtkAboutDialog* about, GdkPixbuf* logo ))
|
|
DECL(void, gtk_about_dialog_set_program_name, (GtkAboutDialog* about,const gchar* name))
|
|
DECL(void, gtk_about_dialog_set_version, (GtkAboutDialog* about, const gchar* version))
|
|
|
|
// GObject / GValue
|
|
DECL(void, g_object_unref, (GObject* object))
|
|
DECL(void, g_object_ref, (GObject* object))
|
|
DECL(void, g_object_set_property, (GObject* object, const gchar* property_name, const GValue* value))
|
|
DECL(GValue*, g_value_init, (GValue* value, GType g_type))
|
|
DECL(void, g_value_unset, (GValue* value))
|
|
DECL(void, g_value_set_int, (GValue* value, gint v_int))
|
|
DECL(void, g_free, (gpointer mem))
|
|
|
|
// Cursors
|
|
DECL(GdkCursor*, gdk_cursor_new_from_name, (GdkDisplay* display, const gchar* name ))
|
|
DECL(GdkCursor*, gdk_cursor_new, ( GdkCursorType cursor_type ))
|
|
DECL(void, gdk_window_set_cursor, (GdkWindow* window, GdkCursor* cursor ))
|
|
|
|
// Menus
|
|
|
|
DECL(void, gtk_menu_popup_at_pointer, (GtkMenu* menu, const GdkEvent* trigger_event))
|
|
DECL(void, gtk_menu_popup_at_widget, (GtkMenu *menu, GtkWidget *widget, GdkGravity widget_anchor, GdkGravity menu_anchor, const GdkEvent *trigger_event))
|
|
DECL(GtkMenu *, gtk_menu_new, (void))
|
|
DECL(GtkMenuItem *, gtk_menu_item_new, (void));
|
|
DECL(GtkMenuItem *, gtk_menu_item_new_with_label, (const gchar *label));
|
|
DECL(void, gtk_menu_shell_append, (GtkMenuShell* menu_shell, GtkWidget* child))
|
|
DECL(GtkWidget *, gtk_separator_menu_item_new, (void))
|
|
DECL(void, gtk_menu_popup, (GtkMenu* menu, GtkWidget* parent_menu_shell, GtkWidget* parent_menu_item,
|
|
GtkMenuPositionFunc func, gpointer data, guint button, guint32 activate_time))
|
|
|
|
// Text Buffer / Widget
|
|
DECL(GtkTextBuffer*, gtk_text_buffer_new, (GtkTextTagTable* table))
|
|
DECL(gchar*, gtk_text_buffer_get_text, (GtkTextBuffer* buffer, const GtkTextIter* start, const GtkTextIter* end, gboolean include_hidden_chars))
|
|
DECL(void,gtk_text_buffer_get_start_iter, (GtkTextBuffer* buffer, GtkTextIter* iter))
|
|
DECL(void, gtk_text_buffer_get_end_iter, (GtkTextBuffer* buffer, GtkTextIter* iter))
|
|
DECL(GtkWidget*, gtk_text_view_new, (void))
|
|
DECL(GtkWidget*, gtk_text_view_new_with_buffer, ( GtkTextBuffer* buffer ))
|
|
DECL(void, gtk_text_buffer_set_text, (GtkTextBuffer* buffer, const gchar* text, gint len ))
|
|
DECL(void, gtk_text_view_set_wrap_mode, (GtkTextView* text_view, GtkWrapMode wrap_mode ))
|
|
|
|
// Titlebar
|
|
DECL(GtkWidget*, gtk_header_bar_new, (void))
|
|
DECL(void, gtk_header_bar_set_custom_title, (GtkHeaderBar* bar, GtkWidget* title_widget))
|
|
|
|
// Image
|
|
DECL(GtkWidget*, gtk_image_new_from_file, (const char* filename ))
|
|
DECL(GtkWidget*, gtk_image_new_from_pixbuf, (GdkPixbuf* pixbuf ))
|
|
DECL(void, gtk_image_set_from_pixbuf, ( GtkImage* image, GdkPixbuf* pixbuf ))
|
|
DECL(GdkPixbuf*, gdk_pixbuf_new_from_file, (const char* filename, GError** error))
|
|
DECL(GdkPixbuf*, gdk_pixbuf_new_from_file_at_size, (const char* filename, int width, int height, GError** error))
|
|
|
|
// Styles
|
|
DECL(GtkStyleContext*, gtk_widget_get_style_context, (GtkWidget* widget))
|
|
DECL(char*, gtk_style_context_to_string, (GtkStyleContext* context, GtkStyleContextPrintFlags flags))
|
|
DECL(GtkCssProvider*, gtk_css_provider_new, (void))
|
|
DECL(gboolean, gtk_css_provider_load_from_data, (GtkCssProvider* css_provider, const gchar* data, gssize length, GError** error))
|
|
DECL(void, gtk_style_context_add_provider, (GtkStyleContext* context, GtkStyleProvider* provider, guint priority))
|
|
DECL(const GtkWidgetPath*, gtk_style_context_get_path, (GtkStyleContext* context))
|
|
DECL(char*, gtk_widget_path_to_string, (const GtkWidgetPath* path))
|
|
|
|
// Deprecated in Gtk3
|
|
DECL(GtkStatusIcon*, gtk_status_icon_new, (void ))
|
|
DECL(GtkStatusIcon*, gtk_status_icon_new_from_file, (const gchar* filename))
|
|
DECL(void, gtk_widget_override_background_color, (GtkWidget* widget, GtkStateFlags state, const GdkRGBA* color))
|
|
DECL(void, gtk_window_set_has_resize_grip, (GtkWindow* window, gboolean value ))
|
|
|
|
#define g_signal_connect(instance, signal, c_handler, data) \
|
|
g_signal_connect_data(instance, signal, reinterpret_cast<void *>(c_handler), data, NULL, G_CONNECT_DEFAULT)
|
|
|
|
// WIN32
|
|
|
|
#ifdef _WIN32
|
|
#include <windows.h>
|
|
DECL(HWND, gdk_win32_window_get_handle, (GdkWindow *window));
|
|
#endif
|
|
|
|
#endif // GTK_IMPORTS_H
|