14#include <glib-object.h>
22enum GtkWidgetHelpType : int;
23enum GtkWindowType : int;
24enum GtkStateFlags : int;
25enum GdkModifierType : int;
26enum GtkIconLookupFlags : int;
27enum GtkPageOrientation : int;
28enum GtkTextDirection : int;
29enum GtkSizeRequestMode : int;
30enum GtkDirectionType : int;
32typedef enum { GSK_SCALING_FILTER_LINEAR, GSK_SCALING_FILTER_NEAREST, GSK_SCALING_FILTER_TRILINEAR } GskScalingFilter;
33typedef enum { GTK_ORIENTATION_HORIZONTAL, GTK_ORIENTATION_VERTICAL } GtkOrientation;
37 GDK_SCROLL_UNIT_WHEEL,
38 GDK_SCROLL_UNIT_SURFACE
42 GSK_NOT_A_RENDER_NODE = 0,
46 GSK_LINEAR_GRADIENT_NODE,
47 GSK_REPEATING_LINEAR_GRADIENT_NODE,
48 GSK_RADIAL_GRADIENT_NODE,
49 GSK_REPEATING_RADIAL_GRADIENT_NODE,
50 GSK_CONIC_GRADIENT_NODE,
53 GSK_INSET_SHADOW_NODE,
54 GSK_OUTSET_SHADOW_NODE,
57 GSK_COLOR_MATRIX_NODE,
60 GSK_ROUNDED_CLIP_NODE,
68 GSK_TEXTURE_SCALE_NODE,
76 GDK_MEMORY_B8G8R8A8_PREMULTIPLIED,
77 GDK_MEMORY_A8R8G8B8_PREMULTIPLIED,
78 GDK_MEMORY_R8G8B8A8_PREMULTIPLIED,
86 GDK_MEMORY_R16G16B16A16_PREMULTIPLIED,
87 GDK_MEMORY_R16G16B16A16,
88 GDK_MEMORY_R16G16B16_FLOAT,
89 GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED,
90 GDK_MEMORY_R16G16B16A16_FLOAT,
91 GDK_MEMORY_R32G32B32_FLOAT,
92 GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED,
93 GDK_MEMORY_R32G32B32A32_FLOAT,
94 GDK_MEMORY_G8A8_PREMULTIPLIED,
97 GDK_MEMORY_G16A16_PREMULTIPLIED,
102 GDK_MEMORY_A16_FLOAT,
103 GDK_MEMORY_A32_FLOAT,
104 GDK_MEMORY_A8B8G8R8_PREMULTIPLIED,
113typedef enum { GTK_UNIT_NONE, GTK_UNIT_POINTS, GTK_UNIT_INCH, GTK_UNIT_MM } GtkUnit;
117 GTK_PRINT_PAGES_CURRENT,
118 GTK_PRINT_PAGES_RANGES,
119 GTK_PRINT_PAGES_SELECTION
122typedef enum { GDK_GL_API_GL = 1 << 0, GDK_GL_API_GLES = 1 << 1 } GdkGLAPI;
125 GTK_PRINT_CAPABILITY_PAGE_SET = 1 << 0,
126 GTK_PRINT_CAPABILITY_COPIES = 1 << 1,
127 GTK_PRINT_CAPABILITY_COLLATE = 1 << 2,
128 GTK_PRINT_CAPABILITY_REVERSE = 1 << 3,
129 GTK_PRINT_CAPABILITY_SCALE = 1 << 4,
130 GTK_PRINT_CAPABILITY_GENERATE_PDF = 1 << 5,
131 GTK_PRINT_CAPABILITY_GENERATE_PS = 1 << 6,
132 GTK_PRINT_CAPABILITY_PREVIEW = 1 << 7,
133 GTK_PRINT_CAPABILITY_NUMBER_UP = 1 << 8,
134 GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT = 1 << 9
135} GtkPrintCapabilities;
138 GTK_SYSTEM_SETTING_DPI,
139 GTK_SYSTEM_SETTING_FONT_NAME,
140 GTK_SYSTEM_SETTING_FONT_CONFIG,
141 GTK_SYSTEM_SETTING_DISPLAY,
142 GTK_SYSTEM_SETTING_ICON_THEME
170 GDK_PAD_BUTTON_PRESS,
171 GDK_PAD_BUTTON_RELEASE,
179using GtkWidgetPath =
struct _GtkWidgetPath;
180using GtkContainer =
struct _GtkContainer;
182using GdkWindow =
struct _GdkWindow;
183using GdkKeymap =
struct _GdkKeymap;
184using GdkGLTexture =
struct _GdkGLTexture;
185using GtkWidget =
struct _GtkWidget {
186 GInitiallyUnowned parent_instance;
192using GtkApplication =
struct _GtkApplication {
193 GApplication parent_instance;
195using GtkWindow =
struct _GtkWindow {
196 GtkWidget parent_instance;
198using GtkApplicationWindow =
struct _GtkApplicationWindow {
199 GtkWindow parent_instance;
201using GtkEventController =
struct _GtkEventController;
202using GtkEventControllerKey =
struct _GtkEventControllerKey;
203using GtkEventControllerLegacy =
struct _GtkEventControllerLehacy;
204using GtkBox =
struct _GtkBox;
205using GtkSnapshot =
struct _GtkSnapshot;
206using GtkIconInfo =
struct _GtkIconInfo;
207using GdkScreen =
struct _GdkScreen;
209using GdkEvent =
struct _GdkEvent;
210using GdkKeymapKey =
struct _GdkKeymapKey;
211using GdkTexture =
struct _GdkTexture;
212using GdkGLTextureBuilder =
struct _GdkGLTextureBuilder;
213using GtkSettings =
struct _GtkSettings;
214using GtkStyleContext =
struct _GtkStyleContext;
215using GskRenderNode =
struct _GskRenderNode;
216using GtkIMContext =
struct _GtkIMContext;
217using GtkNative =
struct _GtkNative;
218using GdkDevice =
struct _GdkDevice;
219using GdkSurface =
struct _GdkSurface;
220using GtkFileChooser =
struct _GtkFileChooser;
221using GtkIconTheme =
struct _GtkIconTheme;
222using GdkDisplay =
struct _GdkDisplay;
223using GdkPixbuf =
struct _GdkPixbuf;
224using GtkTreeModel =
struct _GtkTreeModel;
225using GtkCssProvider =
struct _GtkCssProvider;
226using GtkStyleProvider =
struct _GtkStyleProvider;
227using GtkImage =
struct _GtkImage;
228using GtkFileFilter =
struct _GtkFileFilter;
229using GtkPrinter =
struct _GtkPrinter;
230using GtkPrintBackend =
struct _GtkPrintBackend;
231using GdkRectangle =
struct _GdkRectangle;
232using GtkIMMulticontext =
struct _GtkIMMulticontext;
233using GtkPageSetup =
struct _GtkPageSetup;
234using GtkPaperSize =
struct _GtkPaperSize;
235using GtkPrintJob =
struct _GtkPrintJob;
236using GtkPrintSettings =
struct _GtkPrintSettings;
237using GtkPageRange =
struct _GtkPageRange;
238using GtkPrintUnixDialog =
struct _GtkPrintUnixDialog;
239using PangoContext =
struct _PangoContext;
240using GtkRequisition =
struct _GtkRequisition;
241using GdkPaintable =
struct _GdkPaintable;
242using GdkSnapshot =
struct _GdkSnapshot;
243using GdkSeat =
struct _GdkSeat;
244using GdkToplevel =
struct _GdkToplevel;
245using GdkMonitor =
struct _GdkMonitor;
246using GtkTooltip =
struct _GtkTooltip;
247using GtkAlertDialog =
struct _GtkAlertDialog;
248using GtkCssStyleChange =
struct _GtkCssStyleChange;
249using GtkWidgetClassPrivate =
struct _GtkWidgetClassPrivate;
251using graphene_point_t =
struct _graphene_point_t {
256using graphene_size_t =
struct _graphene_size_t {
261using graphene_rect_t =
struct _graphene_rect_t {
262 graphene_point_t origin;
263 graphene_size_t size;
266using GdkGLContext =
struct _GdkGLContext;
267using GtkPrinterFunc =
void *;
268using PangoAttrList =
void *;
269using GtkPrintJobCompleteFunc =
void *;
270using GdkEventFunc = void (*)(GdkEvent *event, gpointer data);
272using cairo_t =
struct _cairo;
273using cairo_surface_t =
struct _cairo_surface;
284 guint16 hardware_keycode;
286 guint is_modifier : 1;
297constexpr int GSK_RENDER_NODE_MAX_VALUE = GSK_SUBSURFACE_NODE;
299constexpr int GTK_ICON_LOOKUP_USE_BUILTIN = 1 << 2;
300constexpr int GTK_ICON_LOOKUP_GENERIC_FALLBACK = 1 << 3;
301constexpr int GTK_ICON_LOOKUP_FORCE_SIZE = 1 << 4;
303constexpr auto GTK_WINDOW_TOPLEVEL =
static_cast<GtkWindowType
>(0);
305using GtkWidgetClass =
struct _GtkWidgetClass {
306 GInitiallyUnownedClass parent_class;
311 void (*show)(GtkWidget *widget);
312 void (*hide)(GtkWidget *widget);
313 void (*map)(GtkWidget *widget);
314 void (*unmap)(GtkWidget *widget);
315 void (*realize)(GtkWidget *widget);
316 void (*unrealize)(GtkWidget *widget);
317 void (*root)(GtkWidget *widget);
318 void (*unroot)(GtkWidget *widget);
319 void (*size_allocate)(GtkWidget *widget,
int width,
int height,
int baseline);
320 void (*state_flags_changed)(GtkWidget *widget, GtkStateFlags previous_state_flags);
321 void (*direction_changed)(GtkWidget *widget, GtkTextDirection previous_direction);
324 GtkSizeRequestMode (*get_request_mode)(GtkWidget *widget);
326 GtkWidget *widget, GtkOrientation orientation,
int for_size,
int *minimum,
int *natural,
int *minimum_baseline,
327 int *natural_baseline);
330 gboolean (*mnemonic_activate)(GtkWidget *widget, gboolean group_cycling);
333 gboolean (*grab_focus)(GtkWidget *widget);
334 gboolean (*focus)(GtkWidget *widget, GtkDirectionType direction);
335 void (*set_focus_child)(GtkWidget *widget, GtkWidget *child);
338 void (*move_focus)(GtkWidget *widget, GtkDirectionType direction);
339 gboolean (*keynav_failed)(GtkWidget *widget, GtkDirectionType direction);
341 gboolean (*query_tooltip)(GtkWidget *widget,
int x,
int y, gboolean keyboard_tooltip, GtkTooltip *tooltip);
343 void (*compute_expand)(GtkWidget *widget, gboolean *hexpand_p, gboolean *vexpand_p);
345 void (*css_changed)(GtkWidget *widget, GtkCssStyleChange *change);
347 void (*system_setting_changed)(GtkWidget *widget, GtkSystemSetting settings);
349 void (*snapshot)(GtkWidget *widget, GtkSnapshot *snapshot);
351 gboolean (*contains)(GtkWidget *widget,
double x,
double y);
355 GtkWidgetClassPrivate *priv;
360#ifndef GTK_TYPE_WIDGET
361#define GTK_TYPE_WIDGET (gtk_widget_get_type())
362#define GTK_WIDGET(widget) (G_TYPE_CHECK_INSTANCE_CAST((widget), GTK_TYPE_WIDGET, GtkWidget))
363#define GTK_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_WIDGET, GtkWidgetClass))
364#define GTK_IS_WIDGET(widget) (G_TYPE_CHECK_INSTANCE_TYPE((widget), GTK_TYPE_WIDGET))
365#define GTK_IS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_WIDGET))
366#define GTK_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_WIDGET, GtkWidgetClass))
368#define GDK_TYPE_GL_TEXTURE (gdk_gl_texture_get_type())
369#define GDK_GL_TEXTURE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GDK_TYPE_GL_TEXTURE, GdkGLTexture))
370#define GDK_IS_GL_TEXTURE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GDK_TYPE_GL_TEXTURE))
372#define GTK_TYPE_APPLICATION (gtk_application_get_type())
373#define GTK_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_APPLICATION, GtkApplication))
374#define GTK_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_APPLICATION, GtkApplicationClass))
375#define GTK_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_APPLICATION))
376#define GTK_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_APPLICATION))
377#define GTK_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_APPLICATION, GtkApplicationClass))
379#define GTK_TYPE_WINDOW (gtk_window_get_type())
380#define GTK_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_WINDOW, GtkWindow))
381#define GTK_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_WINDOW, GtkWindowClass))
382#define GTK_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_WINDOW))
383#define GTK_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_WINDOW))
384#define GTK_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_WINDOW, GtkWindowClass))
386#define GTK_TYPE_BOX (gtk_box_get_type())
387#define GTK_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_BOX, GtkBox))
388#define GTK_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_BOX, GtkBoxClass))
389#define GTK_IS_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_BOX))
390#define GTK_IS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_BOX))
391#define GTK_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_BOX, GtkBoxClass))
393#define GTK_TYPE_EVENT_CONTROLLER_KEY (gtk_event_controller_key_get_type())
394#define GTK_EVENT_CONTROLLER_KEY(o) \
395 (G_TYPE_CHECK_INSTANCE_CAST((o), GTK_TYPE_EVENT_CONTROLLER_KEY, GtkEventControllerKey))
396#define GTK_EVENT_CONTROLLER_KEY_CLASS(k) \
397 (G_TYPE_CHECK_CLASS_CAST((k), GTK_TYPE_EVENT_CONTROLLER_KEY, GtkEventControllerKeyClass))
398#define GTK_IS_EVENT_CONTROLLER_KEY(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GTK_TYPE_EVENT_CONTROLLER_KEY))
399#define GTK_IS_EVENT_CONTROLLER_KEY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GTK_TYPE_EVENT_CONTROLLER_KEY))
400#define GTK_EVENT_CONTROLLER_KEY_GET_CLASS(o) \
401 (G_TYPE_INSTANCE_GET_CLASS((o), GTK_TYPE_EVENT_CONTROLLER_KEY, GtkEventControllerKeyClass))
Provides a fake implementation of GTK4 types and constants, so we wont depend on the gtk4 dev package...
Definition gtk_functions.h:16
Definition gtk_types.h:289
Definition gtk_types.h:275