* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#ifndef __GTK_WIDGET_H__
+#define __GTK_WIDGET_H__
+
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif
-#ifndef __GTK_WIDGET_H__
-#define __GTK_WIDGET_H__
-
#include <gdk/gdk.h>
#include <gtk/gtkaccelgroup.h>
-#include <gtk/gtkadjustment.h>
#include <gtk/gtkborder.h>
-#include <gtk/gtksettings.h>
-#include <gtk/gtkstylecontext.h>
-#include <gtk/gtkwidgetpath.h>
+#include <gtk/gtktypes.h>
#include <atk/atk.h>
G_BEGIN_DECLS
#define GTK_TYPE_REQUISITION (gtk_requisition_get_type ())
-/* forward declaration to avoid excessive includes (and concurrent includes)
- */
-typedef struct _GtkRequisition GtkRequisition;
-typedef struct _GtkSelectionData GtkSelectionData;
typedef struct _GtkWidgetPrivate GtkWidgetPrivate;
typedef struct _GtkWidgetClass GtkWidgetClass;
typedef struct _GtkWidgetClassPrivate GtkWidgetClassPrivate;
typedef struct _GtkWidgetAuxInfo GtkWidgetAuxInfo;
-typedef struct _GtkClipboard GtkClipboard;
-typedef struct _GtkTooltip GtkTooltip;
-typedef struct _GtkWindow GtkWindow;
/**
* GtkAllocation:
/**
* GtkCallback:
* @widget: the widget to operate on
- * @data: user-supplied data
+ * @data: (closure): user-supplied data
*
* The type of the callback functions used for e.g. iterating over
* the children of a container, see gtk_container_foreach().
typedef void (*GtkCallback) (GtkWidget *widget,
gpointer data);
+/**
+ * GtkTickCallback:
+ * @widget: the widget
+ * @frame_clock: the frame clock for the widget (same as calling gtk_widget_get_frame_clock())
+ * @user_data: user data passed to gtk_widget_add_tick_callback().
+ *
+ * Callback type for adding a function to update animations. See gtk_widget_add_tick_callback().
+ *
+ * Returns: %G_SOURCE_CONTINUE if the tick callback should continue to be called,
+ * %G_SOURCE_REMOVE if the tick callback should be removed.
+ *
+ * Since: 3.8
+ */
+typedef gboolean (*GtkTickCallback) (GtkWidget *widget,
+ GdkFrameClock *frame_clock,
+ gpointer user_data);
+
/**
* GtkRequisition:
* @width: the widget's desired width
* method it is possible for a #GtkLabel to tell its parent how much height
* would be required if the label were to be allocated a said width.
* @adjust_size_request: Convert an initial size request from a widget's
- * #GtkSizeRequest virtual method implementations into a size request to
+ * #GtkSizeRequestMode virtual method implementations into a size request to
* be used by parent containers in laying out the widget.
* adjust_size_request adjusts <emphasis>from</emphasis> a child widget's
* original request <emphasis>to</emphasis> what a parent container should
void (* grab_notify) (GtkWidget *widget,
gboolean was_grabbed);
void (* child_notify) (GtkWidget *widget,
- GParamSpec *pspec);
+ GParamSpec *child_property);
gboolean (* draw) (GtkWidget *widget,
cairo_t *cr);
void (*_gtk_reserved5) (void);
void (*_gtk_reserved6) (void);
void (*_gtk_reserved7) (void);
- void (*_gtk_reserved8) (void);
};
struct _GtkWidgetAuxInfo
const cairo_region_t*region);
void gtk_widget_queue_resize (GtkWidget *widget);
void gtk_widget_queue_resize_no_redraw (GtkWidget *widget);
+GDK_AVAILABLE_IN_3_8
+GdkFrameClock* gtk_widget_get_frame_clock (GtkWidget *widget);
+
GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_get_preferred_size)
void gtk_widget_size_request (GtkWidget *widget,
GtkRequisition *requisition);
void gtk_widget_set_visible (GtkWidget *widget,
gboolean visible);
gboolean gtk_widget_get_visible (GtkWidget *widget);
+gboolean gtk_widget_is_visible (GtkWidget *widget);
void gtk_widget_set_has_window (GtkWidget *widget,
gboolean has_window);
void gtk_widget_set_window (GtkWidget *widget,
GdkWindow *window);
GdkWindow * gtk_widget_get_window (GtkWidget *widget);
+GDK_AVAILABLE_IN_3_8
+void gtk_widget_register_window (GtkWidget *widget,
+ GdkWindow *window);
+GDK_AVAILABLE_IN_3_8
+void gtk_widget_unregister_window (GtkWidget *widget,
+ GdkWindow *window);
int gtk_widget_get_allocated_width (GtkWidget *widget);
int gtk_widget_get_allocated_height (GtkWidget *widget);
void gtk_widget_add_device_events (GtkWidget *widget,
GdkDevice *device,
GdkEventMask events);
+GDK_AVAILABLE_IN_3_8
+void gtk_widget_set_opacity (GtkWidget *widget,
+ double opacity);
+GDK_AVAILABLE_IN_3_8
+double gtk_widget_get_opacity (GtkWidget *widget);
void gtk_widget_set_device_enabled (GtkWidget *widget,
GdkDevice *device,
gint gtk_widget_get_events (GtkWidget *widget);
GdkEventMask gtk_widget_get_device_events (GtkWidget *widget,
GdkDevice *device);
-GDK_DEPRECATED_IN_3_0_FOR(gdk_window_get_device_position)
+GDK_DEPRECATED_IN_3_4_FOR(gdk_window_get_device_position)
void gtk_widget_get_pointer (GtkWidget *widget,
gint *x,
gint *y);
GdkModifierType gtk_widget_get_modifier_mask (GtkWidget *widget,
GdkModifierIntent intent);
+GDK_AVAILABLE_IN_3_6
+void gtk_widget_insert_action_group (GtkWidget *widget,
+ const gchar *name,
+ GActionGroup *group);
+
+
+
+GDK_AVAILABLE_IN_3_8
+guint gtk_widget_add_tick_callback (GtkWidget *widget,
+ GtkTickCallback callback,
+ gpointer user_data,
+ GDestroyNotify notify);
+
+GDK_AVAILABLE_IN_3_8
+void gtk_widget_remove_tick_callback (GtkWidget *widget,
+ guint id);
G_END_DECLS