diff options
author | Benjamin Otte <otte@redhat.com> | 2016-11-01 04:47:52 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2016-11-01 16:32:26 +0100 |
commit | 3d8b00600e7da165c47a215ce20533411ec94113 (patch) | |
tree | bd0dcef1fd7b0cb8484af4bbdf3e9facc0a32ece /gdk/gdkglcontext.c | |
parent | 02c615cc34e51a3b5661b79372f09749b845e864 (diff) | |
download | gtk+-3d8b00600e7da165c47a215ce20533411ec94113.tar.gz |
gdkgl: Change prototype of function
The function does not upload a cairo surface, it uploads pixel data.
So don't take a cairo surface as an argument, take pixel data.
Diffstat (limited to 'gdk/gdkglcontext.c')
-rw-r--r-- | gdk/gdkglcontext.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c index f822fa876e..0dd3c5798f 100644 --- a/gdk/gdkglcontext.c +++ b/gdk/gdkglcontext.c @@ -237,9 +237,10 @@ gdk_gl_context_get_property (GObject *gobject, void gdk_gl_context_upload_texture (GdkGLContext *context, - cairo_surface_t *image_surface, + const guchar *data, int width, int height, + int stride, guint texture_target) { GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context); @@ -253,21 +254,19 @@ gdk_gl_context_upload_texture (GdkGLContext *context, (priv->use_es && (priv->gl_version >= 30 || priv->has_unpack_subimage))) { glPixelStorei (GL_UNPACK_ALIGNMENT, 4); - glPixelStorei (GL_UNPACK_ROW_LENGTH, cairo_image_surface_get_stride (image_surface) / 4); + glPixelStorei (GL_UNPACK_ROW_LENGTH, stride / 4); if (priv->use_es) glTexImage2D (texture_target, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, - cairo_image_surface_get_data (image_surface)); + data); else glTexImage2D (texture_target, 0, GL_RGBA, width, height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, - cairo_image_surface_get_data (image_surface)); + data); glPixelStorei (GL_UNPACK_ROW_LENGTH, 0); } else { - GLvoid *data = cairo_image_surface_get_data (image_surface); - int stride = cairo_image_surface_get_stride (image_surface); int i; if (priv->use_es) @@ -275,14 +274,14 @@ gdk_gl_context_upload_texture (GdkGLContext *context, glTexImage2D (texture_target, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); for (i = 0; i < height; i++) - glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_RGBA, GL_UNSIGNED_BYTE, (unsigned char*) data + (i * stride)); + glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_RGBA, GL_UNSIGNED_BYTE, data + (i * stride)); } else { glTexImage2D (texture_target, 0, GL_RGBA, width, height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, NULL); for (i = 0; i < height; i++) - glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (unsigned char*) data + (i * stride)); + glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, data + (i * stride)); } } } |