[gtkglext] Implement other missing GdkDrawable virtual functions (in GdkGLWindow)
- From: Mukund Sivaraman <muks src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkglext] Implement other missing GdkDrawable virtual functions (in GdkGLWindow)
- Date: Mon, 19 Jul 2010 07:43:11 +0000 (UTC)
commit c8dbafbb5c776ae38405712af40cdbc054b2ee81
Author: Mukund Sivaraman <muks banu com>
Date: Tue Jan 12 23:23:00 2010 +0530
Implement other missing GdkDrawable virtual functions (in GdkGLWindow)
gdk/gdkglwindow.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 75 insertions(+), 0 deletions(-)
---
diff --git a/gdk/gdkglwindow.c b/gdk/gdkglwindow.c
index d72e1f3..6488b6b 100644
--- a/gdk/gdkglwindow.c
+++ b/gdk/gdkglwindow.c
@@ -156,6 +156,22 @@ static void gdk_gl_window_draw_trapezoids (GdkDrawable
GdkTrapezoid *trapezoids,
gint n_trapezoids);
static cairo_surface_t *gdk_gl_window_ref_cairo_surface (GdkDrawable *drawable);
+static GdkDrawable * gdk_gl_window_get_source_drawable (GdkDrawable *drawable);
+static void gdk_gl_window_set_cairo_clip (GdkDrawable *drawable,
+ cairo_t *cr);
+static cairo_surface_t *gdk_gl_window_create_cairo_surface (GdkDrawable *drawable,
+ int width,
+ int height);
+static void gdk_gl_window_draw_drawable_with_src (GdkDrawable *drawable,
+ GdkGC *gc,
+ GdkDrawable *src,
+ gint xsrc,
+ gint ysrc,
+ gint xdest,
+ gint ydest,
+ gint width,
+ gint height,
+ GdkDrawable *original_src);
static void gdk_gl_window_class_init (GdkGLWindowClass *klass);
static void gdk_gl_window_finalize (GObject *object);
@@ -227,6 +243,10 @@ gdk_gl_window_class_init (GdkGLWindowClass *klass)
drawable_class->draw_glyphs_transformed = gdk_gl_window_draw_glyphs_transformed;
drawable_class->draw_trapezoids = gdk_gl_window_draw_trapezoids;
drawable_class->ref_cairo_surface = gdk_gl_window_ref_cairo_surface;
+ drawable_class->get_source_drawable = gdk_gl_window_get_source_drawable;
+ drawable_class->set_cairo_clip = gdk_gl_window_set_cairo_clip;
+ drawable_class->create_cairo_surface = gdk_gl_window_create_cairo_surface;
+ drawable_class->draw_drawable_with_src = gdk_gl_window_draw_drawable_with_src;
}
static void
@@ -663,6 +683,61 @@ gdk_gl_window_ref_cairo_surface (GdkDrawable *drawable)
return GDK_DRAWABLE_GET_CLASS (real_drawable)->ref_cairo_surface (real_drawable);
}
+static GdkDrawable *
+gdk_gl_window_get_source_drawable (GdkDrawable *drawable)
+{
+ GdkDrawable *real_drawable = ((GdkGLWindow *) drawable)->drawable;
+
+ return GDK_DRAWABLE_GET_CLASS (real_drawable)->get_source_drawable (real_drawable);
+}
+
+static void
+gdk_gl_window_set_cairo_clip (GdkDrawable *drawable,
+ cairo_t *cr)
+{
+ GdkDrawable *real_drawable = ((GdkGLWindow *) drawable)->drawable;
+
+ GDK_DRAWABLE_GET_CLASS (real_drawable)->set_cairo_clip (real_drawable, cr);
+}
+
+static cairo_surface_t *
+gdk_gl_window_create_cairo_surface (GdkDrawable *drawable,
+ int width,
+ int height)
+{
+ GdkDrawable *real_drawable = ((GdkGLWindow *) drawable)->drawable;
+
+ return GDK_DRAWABLE_GET_CLASS (real_drawable)->create_cairo_surface (real_drawable,
+ width,
+ height);
+}
+
+static void
+gdk_gl_window_draw_drawable_with_src (GdkDrawable *drawable,
+ GdkGC *gc,
+ GdkDrawable *src,
+ gint xsrc,
+ gint ysrc,
+ gint xdest,
+ gint ydest,
+ gint width,
+ gint height,
+ GdkDrawable *original_src)
+{
+ GdkDrawable *real_drawable = ((GdkGLWindow *) drawable)->drawable;
+
+ GDK_DRAWABLE_GET_CLASS (real_drawable)->draw_drawable_with_src (real_drawable,
+ gc,
+ src,
+ xsrc,
+ ysrc,
+ xdest,
+ ydest,
+ width,
+ height,
+ original_src);
+}
+
/*< private >*/
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]