pangox-compat-gtkglext
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
#! /bin/sh /usr/share/dpatch/dpatch-run
|
||||
## 01_fix_fontcache_nullderef.dpatch by A Mennucc <mennucc1@debian.org>.
|
||||
##
|
||||
## All lines beginning with `## DP:' are a description of the patch.
|
||||
## DP: Fixes NULL dereference in gdkglfont-x11.c.
|
||||
|
||||
@DPATCH@
|
||||
|
||||
--- gtkglext-1.0.6/gdk/x11/gdkglfont-x11.c 2004-02-20 10:56:23.000000000 +0100
|
||||
+++ gtkglext-1.0.6.mine/gdk/x11/gdkglfont-x11.c 2006-05-12 11:40:11.416117472 +0200
|
||||
@@ -111,6 +111,12 @@
|
||||
|
||||
fs = pango_x_font_cache_load (font_cache, xlfd);
|
||||
|
||||
+ if( fs == NULL) {
|
||||
+ g_warning ("cannot get X font cache");
|
||||
+ font = NULL;
|
||||
+ goto FAIL;
|
||||
+ }
|
||||
+
|
||||
glXUseXFont (fs->fid, first, count, list_base);
|
||||
|
||||
pango_x_font_cache_unload (font_cache, fs);
|
||||
@@ -0,0 +1,150 @@
|
||||
diff -Naur gtkglext-1.2.0.orig/gtk/gtkglwidget.c gtkglext-1.2.0/gtk/gtkglwidget.c
|
||||
--- gtkglext-1.2.0.orig/gtk/gtkglwidget.c 2004-02-20 10:38:36.000000000 +0100
|
||||
+++ gtkglext-1.2.0/gtk/gtkglwidget.c 2011-02-16 19:06:48.383730534 +0100
|
||||
@@ -16,7 +16,9 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
*/
|
||||
|
||||
-#include <gtk/gtkmain.h>
|
||||
+#ifdef HAVE_CONFIG_H
|
||||
+#include "config.h"
|
||||
+#endif /* HAVE_CONFIG_H */
|
||||
|
||||
#include "gtkglprivate.h"
|
||||
#include "gtkglwidget.h"
|
||||
@@ -68,6 +70,7 @@
|
||||
gtk_gl_widget_realize (GtkWidget *widget,
|
||||
GLWidgetPrivate *private)
|
||||
{
|
||||
+ GdkWindow *window;
|
||||
GdkGLWindow *glwindow;
|
||||
|
||||
GTK_GL_NOTE_FUNC_PRIVATE ();
|
||||
@@ -77,9 +80,10 @@
|
||||
* handlers.
|
||||
*/
|
||||
|
||||
- if (!gdk_window_is_gl_capable (widget->window))
|
||||
+ window = gtk_widget_get_window (widget);
|
||||
+ if (!gdk_window_is_gl_capable (window))
|
||||
{
|
||||
- glwindow = gdk_window_set_gl_capability (widget->window,
|
||||
+ glwindow = gdk_window_set_gl_capability (window,
|
||||
private->glconfig,
|
||||
NULL);
|
||||
if (glwindow == NULL)
|
||||
@@ -127,9 +131,9 @@
|
||||
* Synchronize OpenGL and window resizing request streams.
|
||||
*/
|
||||
|
||||
- if (GTK_WIDGET_REALIZED (widget) && private->is_realized)
|
||||
+ if (gtk_widget_get_realized (widget) && private->is_realized)
|
||||
{
|
||||
- gldrawable = gdk_window_get_gl_drawable (widget->window);
|
||||
+ gldrawable = gdk_window_get_gl_drawable (gtk_widget_get_window (widget));
|
||||
gdk_gl_drawable_wait_gdk (gldrawable);
|
||||
}
|
||||
}
|
||||
@@ -146,7 +150,7 @@
|
||||
|
||||
if (private->glcontext != NULL)
|
||||
{
|
||||
- gdk_gl_context_destroy (private->glcontext);
|
||||
+ g_object_unref (private->glcontext);
|
||||
private->glcontext = NULL;
|
||||
}
|
||||
|
||||
@@ -154,8 +158,8 @@
|
||||
* Remove OpenGL-capability from widget->window.
|
||||
*/
|
||||
|
||||
- if (GTK_WIDGET_REALIZED (widget))
|
||||
- gdk_window_unset_gl_capability (widget->window);
|
||||
+ if (gtk_widget_get_realized (widget))
|
||||
+ gdk_window_unset_gl_capability (gtk_widget_get_window (widget));
|
||||
|
||||
private->is_realized = FALSE;
|
||||
}
|
||||
@@ -174,7 +178,7 @@
|
||||
*/
|
||||
|
||||
toplevel = gtk_widget_get_toplevel (widget);
|
||||
- if (GTK_WIDGET_TOPLEVEL (toplevel) && !GTK_WIDGET_REALIZED (toplevel))
|
||||
+ if (gtk_widget_is_toplevel (toplevel) && !gtk_widget_get_realized (toplevel))
|
||||
{
|
||||
GTK_GL_NOTE (MISC,
|
||||
g_message (" - Install colormap to the top-level window."));
|
||||
@@ -188,23 +192,27 @@
|
||||
GtkStyle *previous_style,
|
||||
gpointer user_data)
|
||||
{
|
||||
+ GdkWindow *window;
|
||||
+
|
||||
GTK_GL_NOTE_FUNC_PRIVATE ();
|
||||
|
||||
/*
|
||||
* Set a background of "None" on window to avoid AIX X server crash.
|
||||
*/
|
||||
|
||||
- if (GTK_WIDGET_REALIZED (widget))
|
||||
+ if (gtk_widget_get_realized (widget))
|
||||
{
|
||||
+ window = gtk_widget_get_window (widget);
|
||||
+
|
||||
GTK_GL_NOTE (MISC,
|
||||
g_message (" - window->bg_pixmap = %p",
|
||||
- ((GdkWindowObject *) (widget->window))->bg_pixmap));
|
||||
+ ((GdkWindowObject *) window)->bg_pixmap));
|
||||
|
||||
- gdk_window_set_back_pixmap (widget->window, NULL, FALSE);
|
||||
+ gdk_window_set_back_pixmap (window, NULL, FALSE);
|
||||
|
||||
GTK_GL_NOTE (MISC,
|
||||
g_message (" - window->bg_pixmap = %p",
|
||||
- ((GdkWindowObject *) (widget->window))->bg_pixmap));
|
||||
+ ((GdkWindowObject *) window)->bg_pixmap));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -250,8 +258,8 @@
|
||||
GTK_GL_NOTE_FUNC ();
|
||||
|
||||
g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
|
||||
- g_return_val_if_fail (!GTK_WIDGET_NO_WINDOW (widget), FALSE);
|
||||
- g_return_val_if_fail (!GTK_WIDGET_REALIZED (widget), FALSE);
|
||||
+ g_return_val_if_fail (gtk_widget_get_has_window (widget), FALSE);
|
||||
+ g_return_val_if_fail (!gtk_widget_get_realized (widget), FALSE);
|
||||
g_return_val_if_fail (GDK_IS_GL_CONFIG (glconfig), FALSE);
|
||||
|
||||
/*
|
||||
@@ -432,9 +440,9 @@
|
||||
GTK_GL_NOTE_FUNC ();
|
||||
|
||||
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
|
||||
- g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL);
|
||||
+ g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
|
||||
|
||||
- gldrawable = gdk_window_get_gl_drawable (widget->window);
|
||||
+ gldrawable = gdk_window_get_gl_drawable (gtk_widget_get_window (widget));
|
||||
if (gldrawable == NULL)
|
||||
return NULL;
|
||||
|
||||
@@ -474,7 +482,7 @@
|
||||
GLWidgetPrivate *private;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
|
||||
- g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL);
|
||||
+ g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
|
||||
|
||||
private = g_object_get_qdata (G_OBJECT (widget), quark_gl_private);
|
||||
if (private == NULL)
|
||||
@@ -501,7 +509,7 @@
|
||||
gtk_widget_get_gl_window (GtkWidget *widget)
|
||||
{
|
||||
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
|
||||
- g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL);
|
||||
+ g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
|
||||
|
||||
- return gdk_window_get_gl_window (widget->window);
|
||||
+ return gdk_window_get_gl_window (gtk_widget_get_window (widget));
|
||||
}
|
||||
+364
@@ -0,0 +1,364 @@
|
||||
--- examples/Makefile.am 9 Sep 2003 09:50:04 -0000 1.39
|
||||
+++ examples/Makefile.am 12 Nov 2006 22:05:50 -0000
|
||||
@@ -57,6 +57,7 @@
|
||||
coolwave2 \
|
||||
template \
|
||||
scribble-gl \
|
||||
+ font-pango \
|
||||
font-pangoft2 \
|
||||
font-pangoft2-tex
|
||||
|
||||
@@ -150,6 +151,10 @@
|
||||
scribble_gl_DEPENDENCIES = $(DEPS)
|
||||
scribble_gl_LDADD = $(LDADDS)
|
||||
|
||||
+font_pango_SOURCES = font-pango.c
|
||||
+font_pango_DEPENDENCIES = $(DEPS)
|
||||
+font_pango_LDADD = $(LDADDS)
|
||||
+
|
||||
font_pangoft2_SOURCES = font-pangoft2.c
|
||||
font_pangoft2_DEPENDENCIES = $(DEPS)
|
||||
font_pangoft2_LDADD = $(LDADDS_WITH_PANGOFT2)
|
||||
|
||||
--- gdk/gdkglpixmap.c 20 Feb 2004 09:38:12 -0000 1.38
|
||||
+++ gdk/gdkglpixmap.c 12 Nov 2006 22:05:50 -0000
|
||||
@@ -104,7 +104,7 @@
|
||||
GdkColormap *cmap);
|
||||
static GdkColormap *gdk_gl_pixmap_get_colormap (GdkDrawable *drawable);
|
||||
static GdkVisual *gdk_gl_pixmap_get_visual (GdkDrawable *drawable);
|
||||
-#if !(GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 0)
|
||||
+#if GTK_CHECK_VERSION(2,2,0)
|
||||
static GdkScreen *gdk_gl_pixmap_get_screen (GdkDrawable *drawable);
|
||||
#endif
|
||||
static GdkImage *gdk_gl_pixmap_get_image (GdkDrawable *drawable,
|
||||
@@ -141,6 +141,22 @@
|
||||
gint dest_y,
|
||||
gint width,
|
||||
gint height);
|
||||
+#if GTK_CHECK_VERSION(2,6,0)
|
||||
+static void gdk_gl_pixmap_draw_glyphs_transformed (GdkDrawable *drawable,
|
||||
+ GdkGC *gc,
|
||||
+ PangoMatrix *matrix,
|
||||
+ PangoFont *font,
|
||||
+ gint x,
|
||||
+ gint y,
|
||||
+ PangoGlyphString *glyphs);
|
||||
+static void gdk_gl_pixmap_draw_trapezoids (GdkDrawable *drawable,
|
||||
+ GdkGC *gc,
|
||||
+ GdkTrapezoid *trapezoids,
|
||||
+ gint n_trapezoids);
|
||||
+#endif
|
||||
+#if GTK_CHECK_VERSION(2,8,0)
|
||||
+static cairo_surface_t *gdk_gl_pixmap_ref_cairo_surface (GdkDrawable *drawable);
|
||||
+#endif
|
||||
|
||||
static void gdk_gl_pixmap_class_init (GdkGLPixmapClass *klass);
|
||||
static void gdk_gl_pixmap_finalize (GObject *object);
|
||||
@@ -203,19 +219,26 @@
|
||||
drawable_class->set_colormap = gdk_gl_pixmap_set_colormap;
|
||||
drawable_class->get_colormap = gdk_gl_pixmap_get_colormap;
|
||||
drawable_class->get_visual = gdk_gl_pixmap_get_visual;
|
||||
-#if !(GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 0)
|
||||
+#if GTK_CHECK_VERSION(2,2,0)
|
||||
drawable_class->get_screen = gdk_gl_pixmap_get_screen;
|
||||
#endif
|
||||
drawable_class->get_image = gdk_gl_pixmap_get_image;
|
||||
drawable_class->get_clip_region = gdk_gl_pixmap_get_clip_region;
|
||||
drawable_class->get_visible_region = gdk_gl_pixmap_get_visible_region;
|
||||
drawable_class->get_composite_drawable = gdk_gl_pixmap_get_composite_drawable;
|
||||
-#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 0
|
||||
- drawable_class->_draw_pixbuf = gdk_gl_pixmap_draw_pixbuf;
|
||||
-#else
|
||||
+#if GTK_CHECK_VERSION(2,2,0)
|
||||
drawable_class->draw_pixbuf = gdk_gl_pixmap_draw_pixbuf;
|
||||
+#else
|
||||
+ drawable_class->_draw_pixbuf = gdk_gl_pixmap_draw_pixbuf;
|
||||
#endif
|
||||
drawable_class->_copy_to_image = gdk_gl_pixmap_copy_to_image;
|
||||
+#if GTK_CHECK_VERSION(2,6,0)
|
||||
+ drawable_class->draw_glyphs_transformed = gdk_gl_pixmap_draw_glyphs_transformed;
|
||||
+ drawable_class->draw_trapezoids = gdk_gl_pixmap_draw_trapezoids;
|
||||
+#endif
|
||||
+#if GTK_CHECK_VERSION(2,8,0)
|
||||
+ drawable_class->ref_cairo_surface = gdk_gl_pixmap_ref_cairo_surface;
|
||||
+#endif
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -498,7 +521,7 @@
|
||||
return GDK_DRAWABLE_GET_CLASS (real_drawable)->get_visual (real_drawable);
|
||||
}
|
||||
|
||||
-#if !(GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 0)
|
||||
+#if GTK_CHECK_VERSION(2,2,0)
|
||||
|
||||
static GdkScreen *
|
||||
gdk_gl_pixmap_get_screen (GdkDrawable *drawable)
|
||||
@@ -578,20 +601,7 @@
|
||||
{
|
||||
GdkDrawable *real_drawable = ((GdkGLPixmap *) drawable)->drawable;
|
||||
|
||||
-#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 0
|
||||
- GDK_DRAWABLE_GET_CLASS (real_drawable)->_draw_pixbuf (real_drawable,
|
||||
- gc,
|
||||
- pixbuf,
|
||||
- src_x,
|
||||
- src_y,
|
||||
- dest_x,
|
||||
- dest_y,
|
||||
- width,
|
||||
- height,
|
||||
- dither,
|
||||
- x_dither,
|
||||
- y_dither);
|
||||
-#else
|
||||
+#if GTK_CHECK_VERSION(2,2,0)
|
||||
GDK_DRAWABLE_GET_CLASS (real_drawable)->draw_pixbuf (real_drawable,
|
||||
gc,
|
||||
pixbuf,
|
||||
@@ -604,6 +614,19 @@
|
||||
dither,
|
||||
x_dither,
|
||||
y_dither);
|
||||
+#else
|
||||
+ GDK_DRAWABLE_GET_CLASS (real_drawable)->_draw_pixbuf (real_drawable,
|
||||
+ gc,
|
||||
+ pixbuf,
|
||||
+ src_x,
|
||||
+ src_y,
|
||||
+ dest_x,
|
||||
+ dest_y,
|
||||
+ width,
|
||||
+ height,
|
||||
+ dither,
|
||||
+ x_dither,
|
||||
+ y_dither);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -629,6 +652,52 @@
|
||||
height);
|
||||
}
|
||||
|
||||
+#if GTK_CHECK_VERSION(2,6,0)
|
||||
+static void
|
||||
+gdk_gl_pixmap_draw_glyphs_transformed (GdkDrawable *drawable,
|
||||
+ GdkGC *gc,
|
||||
+ PangoMatrix *matrix,
|
||||
+ PangoFont *font,
|
||||
+ gint x,
|
||||
+ gint y,
|
||||
+ PangoGlyphString *glyphs)
|
||||
+{
|
||||
+ GdkDrawable *real_drawable = ((GdkGLPixmap *) drawable)->drawable;
|
||||
+
|
||||
+ GDK_DRAWABLE_GET_CLASS (real_drawable)->draw_glyphs_transformed (real_drawable,
|
||||
+ gc,
|
||||
+ matrix,
|
||||
+ font,
|
||||
+ x,
|
||||
+ y,
|
||||
+ glyphs);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+gdk_gl_pixmap_draw_trapezoids (GdkDrawable *drawable,
|
||||
+ GdkGC *gc,
|
||||
+ GdkTrapezoid *trapezoids,
|
||||
+ gint n_trapezoids)
|
||||
+{
|
||||
+ GdkDrawable *real_drawable = ((GdkGLPixmap *) drawable)->drawable;
|
||||
+
|
||||
+ GDK_DRAWABLE_GET_CLASS (real_drawable)->draw_trapezoids (real_drawable,
|
||||
+ gc,
|
||||
+ trapezoids,
|
||||
+ n_trapezoids);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#if GTK_CHECK_VERSION(2,8,0)
|
||||
+static cairo_surface_t *
|
||||
+gdk_gl_pixmap_ref_cairo_surface (GdkDrawable *drawable)
|
||||
+{
|
||||
+ GdkDrawable *real_drawable = ((GdkGLPixmap *) drawable)->drawable;
|
||||
+
|
||||
+ return GDK_DRAWABLE_GET_CLASS (real_drawable)->ref_cairo_surface (real_drawable);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/*< private >*/
|
||||
void
|
||||
_gdk_gl_pixmap_get_size (GdkGLDrawable *gldrawable,
|
||||
|
||||
--- gdk/gdkglwindow.c 20 Feb 2004 09:38:12 -0000 1.46
|
||||
+++ gdk/gdkglwindow.c 12 Nov 2006 22:05:50 -0000
|
||||
@@ -104,7 +104,7 @@
|
||||
GdkColormap *cmap);
|
||||
static GdkColormap *gdk_gl_window_get_colormap (GdkDrawable *drawable);
|
||||
static GdkVisual *gdk_gl_window_get_visual (GdkDrawable *drawable);
|
||||
-#if !(GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 0)
|
||||
+#if GTK_CHECK_VERSION(2,2,0)
|
||||
static GdkScreen *gdk_gl_window_get_screen (GdkDrawable *drawable);
|
||||
#endif
|
||||
static GdkImage *gdk_gl_window_get_image (GdkDrawable *drawable,
|
||||
@@ -141,6 +141,22 @@
|
||||
gint dest_y,
|
||||
gint width,
|
||||
gint height);
|
||||
+#if GTK_CHECK_VERSION(2,6,0)
|
||||
+static void gdk_gl_window_draw_glyphs_transformed (GdkDrawable *drawable,
|
||||
+ GdkGC *gc,
|
||||
+ PangoMatrix *matrix,
|
||||
+ PangoFont *font,
|
||||
+ gint x,
|
||||
+ gint y,
|
||||
+ PangoGlyphString *glyphs);
|
||||
+static void gdk_gl_window_draw_trapezoids (GdkDrawable *drawable,
|
||||
+ GdkGC *gc,
|
||||
+ GdkTrapezoid *trapezoids,
|
||||
+ gint n_trapezoids);
|
||||
+#endif
|
||||
+#if GTK_CHECK_VERSION(2,8,0)
|
||||
+static cairo_surface_t *gdk_gl_window_ref_cairo_surface (GdkDrawable *drawable);
|
||||
+#endif
|
||||
|
||||
static void gdk_gl_window_class_init (GdkGLWindowClass *klass);
|
||||
static void gdk_gl_window_finalize (GObject *object);
|
||||
@@ -203,19 +219,26 @@
|
||||
drawable_class->set_colormap = gdk_gl_window_set_colormap;
|
||||
drawable_class->get_colormap = gdk_gl_window_get_colormap;
|
||||
drawable_class->get_visual = gdk_gl_window_get_visual;
|
||||
-#if !(GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 0)
|
||||
+#if GTK_CHECK_VERSION(2,2,0)
|
||||
drawable_class->get_screen = gdk_gl_window_get_screen;
|
||||
#endif
|
||||
drawable_class->get_image = gdk_gl_window_get_image;
|
||||
drawable_class->get_clip_region = gdk_gl_window_get_clip_region;
|
||||
drawable_class->get_visible_region = gdk_gl_window_get_visible_region;
|
||||
drawable_class->get_composite_drawable = gdk_gl_window_get_composite_drawable;
|
||||
-#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 0
|
||||
- drawable_class->_draw_pixbuf = gdk_gl_window_draw_pixbuf;
|
||||
-#else
|
||||
+#if GTK_CHECK_VERSION(2,2,0)
|
||||
drawable_class->draw_pixbuf = gdk_gl_window_draw_pixbuf;
|
||||
+#else
|
||||
+ drawable_class->_draw_pixbuf = gdk_gl_window_draw_pixbuf;
|
||||
#endif
|
||||
drawable_class->_copy_to_image = gdk_gl_window_copy_to_image;
|
||||
+#if GTK_CHECK_VERSION(2,6,0)
|
||||
+ drawable_class->draw_glyphs_transformed = gdk_gl_window_draw_glyphs_transformed;
|
||||
+ drawable_class->draw_trapezoids = gdk_gl_window_draw_trapezoids;
|
||||
+#endif
|
||||
+#if GTK_CHECK_VERSION(2,8,0)
|
||||
+ drawable_class->ref_cairo_surface = gdk_gl_window_ref_cairo_surface;
|
||||
+#endif
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -498,7 +521,7 @@
|
||||
return GDK_DRAWABLE_GET_CLASS (real_drawable)->get_visual (real_drawable);
|
||||
}
|
||||
|
||||
-#if !(GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 0)
|
||||
+#if GTK_CHECK_VERSION(2,2,0)
|
||||
|
||||
static GdkScreen *
|
||||
gdk_gl_window_get_screen (GdkDrawable *drawable)
|
||||
@@ -578,20 +601,7 @@
|
||||
{
|
||||
GdkDrawable *real_drawable = ((GdkGLWindow *) drawable)->drawable;
|
||||
|
||||
-#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 0
|
||||
- GDK_DRAWABLE_GET_CLASS (real_drawable)->_draw_pixbuf (real_drawable,
|
||||
- gc,
|
||||
- pixbuf,
|
||||
- src_x,
|
||||
- src_y,
|
||||
- dest_x,
|
||||
- dest_y,
|
||||
- width,
|
||||
- height,
|
||||
- dither,
|
||||
- x_dither,
|
||||
- y_dither);
|
||||
-#else
|
||||
+#if GTK_CHECK_VERSION(2,2,0)
|
||||
GDK_DRAWABLE_GET_CLASS (real_drawable)->draw_pixbuf (real_drawable,
|
||||
gc,
|
||||
pixbuf,
|
||||
@@ -604,6 +614,19 @@
|
||||
dither,
|
||||
x_dither,
|
||||
y_dither);
|
||||
+#else
|
||||
+ GDK_DRAWABLE_GET_CLASS (real_drawable)->_draw_pixbuf (real_drawable,
|
||||
+ gc,
|
||||
+ pixbuf,
|
||||
+ src_x,
|
||||
+ src_y,
|
||||
+ dest_x,
|
||||
+ dest_y,
|
||||
+ width,
|
||||
+ height,
|
||||
+ dither,
|
||||
+ x_dither,
|
||||
+ y_dither);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -629,6 +652,53 @@
|
||||
height);
|
||||
}
|
||||
|
||||
+#if GTK_CHECK_VERSION(2,6,0)
|
||||
+static void
|
||||
+gdk_gl_window_draw_glyphs_transformed (GdkDrawable *drawable,
|
||||
+ GdkGC *gc,
|
||||
+ PangoMatrix *matrix,
|
||||
+ PangoFont *font,
|
||||
+ gint x,
|
||||
+ gint y,
|
||||
+ PangoGlyphString *glyphs)
|
||||
+{
|
||||
+ GdkDrawable *real_drawable = ((GdkGLWindow *) drawable)->drawable;
|
||||
+
|
||||
+ GDK_DRAWABLE_GET_CLASS (real_drawable)->draw_glyphs_transformed (real_drawable,
|
||||
+ gc,
|
||||
+ matrix,
|
||||
+ font,
|
||||
+ x,
|
||||
+ y,
|
||||
+ glyphs);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+gdk_gl_window_draw_trapezoids (GdkDrawable *drawable,
|
||||
+ GdkGC *gc,
|
||||
+ GdkTrapezoid *trapezoids,
|
||||
+ gint n_trapezoids)
|
||||
+{
|
||||
+ GdkDrawable *real_drawable = ((GdkGLWindow *) drawable)->drawable;
|
||||
+
|
||||
+ GDK_DRAWABLE_GET_CLASS (real_drawable)->draw_trapezoids (real_drawable,
|
||||
+ gc,
|
||||
+ trapezoids,
|
||||
+ n_trapezoids);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#if GTK_CHECK_VERSION(2,8,0)
|
||||
+static cairo_surface_t *
|
||||
+gdk_gl_window_ref_cairo_surface (GdkDrawable *drawable)
|
||||
+{
|
||||
+ GdkDrawable *real_drawable = ((GdkGLWindow *) drawable)->drawable;
|
||||
+
|
||||
+ return GDK_DRAWABLE_GET_CLASS (real_drawable)->ref_cairo_surface (real_drawable);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
/*< private >*/
|
||||
void
|
||||
_gdk_gl_window_get_size (GdkGLDrawable *gldrawable,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user