summaryrefslogtreecommitdiff
path: root/gdk/gdkwindow.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-11-22 04:12:51 +0100
committerBenjamin Otte <otte@redhat.com>2016-12-05 15:02:47 +0100
commit332ed7be5b9a973e58711cb63f80265ad17b95a6 (patch)
treee97b3443e7225174998fe4cc3b3caf3f08885d88 /gdk/gdkwindow.c
parent9c041f6bcc8155436b5b325de16abb575e803196 (diff)
downloadgtk+-332ed7be5b9a973e58711cb63f80265ad17b95a6.tar.gz
API: Require passing a GLContext to begin_draw_frame()
This is in preparation for requiring explicit passing of GL contexts when drawing.
Diffstat (limited to 'gdk/gdkwindow.c')
-rw-r--r--gdk/gdkwindow.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 86fb756096..b70b3e5f76 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2856,6 +2856,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
/**
* gdk_window_begin_draw_frame:
* @window: a #GdkWindow
+ * @context: (allow-none): the context used to draw the frame
* @region: a Cairo region
*
* Indicates that you are beginning the process of redrawing @region
@@ -2894,6 +2895,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
*/
GdkDrawingContext *
gdk_window_begin_draw_frame (GdkWindow *window,
+ GdkGLContext *gl_context,
const cairo_region_t *region)
{
GdkDrawingContext *context;
@@ -2901,6 +2903,11 @@ gdk_window_begin_draw_frame (GdkWindow *window,
g_return_val_if_fail (GDK_IS_WINDOW (window), NULL);
g_return_val_if_fail (gdk_window_has_native (window), NULL);
g_return_val_if_fail (gdk_window_is_toplevel (window), NULL);
+ if (gl_context != NULL)
+ {
+ g_return_val_if_fail (GDK_IS_GL_CONTEXT (gl_context), NULL);
+ g_return_val_if_fail (gdk_gl_context_get_window (gl_context) == window, NULL);
+ }
if (window->drawing_context != NULL)
{
@@ -2912,6 +2919,7 @@ gdk_window_begin_draw_frame (GdkWindow *window,
context = g_object_new (GDK_TYPE_DRAWING_CONTEXT,
"window", window,
+ "paint-context", gl_context,
"clip", region,
NULL);