summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2017-12-01 11:02:26 +0100
committerTimm Bäder <mail@baedert.org>2017-12-21 19:12:31 +0100
commit8089cde9778541eeb08a6c959a0cc2d352e30cd2 (patch)
tree29d66dc13295492b5990260bca3915a82b5e98bb
parentd5a759652f94104dc4a640422783f05ee1140a82 (diff)
downloadgtk+-8089cde9778541eeb08a6c959a0cc2d352e30cd2.tar.gz
gl renderer: Don't render unblurred text shadows to a texture
We can do the same thing by simply drawing the text in the given shadow color.
-rw-r--r--gsk/gl/gskglrenderer.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index e356316f58..782e5b4c7a 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -1142,6 +1142,18 @@ gsk_gl_renderer_add_render_ops (GskGLRenderer *self,
continue;
}
+ if (gsk_render_node_get_node_type (child) == GSK_TEXT_NODE)
+ {
+ offset_matrix = builder->current_modelview;
+ graphene_matrix_translate (&offset_matrix, &GRAPHENE_POINT3D_INIT (shadow->dx, shadow->dy, 0));
+ prev_modelview = ops_set_modelview (builder, &offset_matrix);
+
+ render_text_node (self, child, builder, &shadow->color, TRUE);
+
+ ops_set_modelview (builder, &prev_modelview);
+ continue;
+ }
+
add_offscreen_ops (self, builder, min_x, max_x, min_y, max_y, child, &texture_id, &is_offscreen);
ops_set_program (builder, &self->shadow_program);