summaryrefslogtreecommitdiff
path: root/gdk/gdkglcontext.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-11-01 04:47:52 +0100
committerBenjamin Otte <otte@redhat.com>2016-11-01 16:32:26 +0100
commit3d8b00600e7da165c47a215ce20533411ec94113 (patch)
treebd0dcef1fd7b0cb8484af4bbdf3e9facc0a32ece /gdk/gdkglcontext.c
parent02c615cc34e51a3b5661b79372f09749b845e864 (diff)
downloadgtk+-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.c15
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));
}
}
}