diff options
| author | Benjamin Otte <otte@redhat.com> | 2023-04-28 06:10:02 +0200 |
|---|---|---|
| committer | Benjamin Otte <otte@redhat.com> | 2023-05-02 00:30:58 +0200 |
| commit | 97aff588d553b147220a1af8eb0d5fad08fefcf3 (patch) | |
| tree | 63bbee01584262f907465961c8f4bcbd9e3841f3 | |
| parent | e4040adbe7dbec82962699f654802d17ca77e4fd (diff) | |
| download | gtk+-97aff588d553b147220a1af8eb0d5fad08fefcf3.tar.gz | |
TEST TEST TEST
Add some random updates to the GL Area, so that funky testing can be
done with the GLArea and Gears gtk-demo.
| -rw-r--r-- | gtk/gtkglarea.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c index f547a4995f..1e2f6b5535 100644 --- a/gtk/gtkglarea.c +++ b/gtk/gtkglarea.c @@ -770,6 +770,20 @@ gtk_gl_area_snapshot (GtkWidget *widget, texture = priv->texture; priv->texture = NULL; + + if (priv->textures) + gdk_gl_texture_builder_set_update_texture (texture->builder, ((Texture *) priv->textures->data)->holder); + { + cairo_region_t *region = cairo_region_create (); + cairo_region_union_rectangle (region, &(cairo_rectangle_int_t) { 0, 0, 300, 300 }); + cairo_region_union_rectangle (region, &(cairo_rectangle_int_t) { 0, 600, 300, 300 }); + cairo_region_union_rectangle (region, &(cairo_rectangle_int_t) { 300, 300, 300, 300 }); + cairo_region_union_rectangle (region, &(cairo_rectangle_int_t) { 600, 0, 300, 300 }); + cairo_region_union_rectangle (region, &(cairo_rectangle_int_t) { 600, 600, 300, 300 }); + gdk_gl_texture_builder_set_update_region (texture->builder, region); + cairo_region_destroy (region); + } + priv->textures = g_list_prepend (priv->textures, texture); if (gdk_gl_context_has_sync (priv->context)) @@ -781,6 +795,7 @@ gtk_gl_area_snapshot (GtkWidget *widget, release_texture, texture); + gdk_gl_texture_builder_set_update_texture (texture->builder, NULL); /* Our texture is rendered by OpenGL, so it is upside down, * compared to what GSK expects, so flip it back. */ |
