forked from AuroraMiddleware/gtk
glarea: Flip our texture
The texture that produce is upside-down, compared to what GSK expects, so flip things around with a transform. This fixes the shadertoy demo being upside-down after a recent fix to avoid downloading and reuploading the texture.
This commit is contained in:
parent
431f144f37
commit
b711c12bbe
@ -744,11 +744,18 @@ gtk_gl_area_snapshot (GtkWidget *widget,
|
|||||||
texture->height,
|
texture->height,
|
||||||
release_texture, texture);
|
release_texture, texture);
|
||||||
|
|
||||||
|
/* Our texture is rendered by OpenGL, so it is upside down,
|
||||||
|
* compared to what GSK expects, so flip it back.
|
||||||
|
*/
|
||||||
|
gtk_snapshot_save (snapshot);
|
||||||
|
gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (0, gtk_widget_get_height (widget)));
|
||||||
|
gtk_snapshot_scale (snapshot, 1, -1);
|
||||||
gtk_snapshot_append_texture (snapshot,
|
gtk_snapshot_append_texture (snapshot,
|
||||||
texture->holder,
|
texture->holder,
|
||||||
&GRAPHENE_RECT_INIT (0, 0,
|
&GRAPHENE_RECT_INIT (0, 0,
|
||||||
gtk_widget_get_width (widget),
|
gtk_widget_get_width (widget),
|
||||||
gtk_widget_get_height (widget)));
|
gtk_widget_get_height (widget)));
|
||||||
|
gtk_snapshot_restore (snapshot);
|
||||||
|
|
||||||
g_object_unref (texture->holder);
|
g_object_unref (texture->holder);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user