diff options
author | Anders Carlsson <andersca@imendio.com> | 2006-04-10 19:43:08 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@src.gnome.org> | 2006-04-10 19:43:08 +0000 |
commit | 47257b075b408826831fb295a0b210b1c32d09e8 (patch) | |
tree | 008c4fd249d5c7e2bfcf74a1a062a801bdae7d69 /gdk/gdkinternals.h | |
parent | c39d964d090ef7cdf2e846d93770368363d05c3f (diff) | |
download | gdk-pixbuf-47257b075b408826831fb295a0b210b1c32d09e8.tar.gz |
Add new GdkPaintable interface which implementation objects can implement
2006-04-11 Anders Carlsson <andersca@imendio.com>
* gdk/gdkinternals.h:
* gdk/gdkwindow.c:
(_gdk_paintable_get_type):
(gdk_window_begin_paint_region):
(gdk_window_end_paint):
(gdk_window_process_updates):
(gdk_window_invalidate_maybe_recurse):
Add new GdkPaintable interface which implementation objects can
implement in order to override gdk painting functions.
Diffstat (limited to 'gdk/gdkinternals.h')
-rw-r--r-- | gdk/gdkinternals.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index d3c1fbad5..1c279f4ec 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -337,6 +337,32 @@ void _gdk_windowing_window_destroy_foreign (GdkWindow *window); void _gdk_windowing_display_set_sm_client_id (GdkDisplay *display, const gchar *sm_client_id); +#define GDK_TYPE_PAINTABLE (_gdk_paintable_get_type ()) +#define GDK_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_PAINTABLE, GdkPaintable)) +#define GDK_IS_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_PAINTABLE)) +#define GDK_PAINTABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GDK_TYPE_PAINTABLE, GdkPaintableIface)) + +typedef struct _GdkPaintable GdkPaintable; +typedef struct _GdkPaintableIface GdkPaintableIface; + +struct _GdkPaintableIface +{ + GTypeInterface g_iface; + + void (* begin_paint_region) (GdkPaintable *paintable, + GdkRegion *region); + void (* end_paint) (GdkPaintable *paintable); + + void (* invalidate_maybe_recurse) (GdkPaintable *paintable, + GdkRegion *region, + gboolean (*child_func) (GdkWindow *, gpointer), + gpointer user_data); + void (* process_updates) (GdkPaintable *paintable, + gboolean update_children); +}; + +GType _gdk_paintable_get_type (void) G_GNUC_CONST; + /* Implementation types */ GType _gdk_window_impl_get_type (void) G_GNUC_CONST; GType _gdk_pixmap_impl_get_type (void) G_GNUC_CONST; |