diff options
author | Timm Bäder <mail@baedert.org> | 2017-12-01 11:02:26 +0100 |
---|---|---|
committer | Timm Bäder <mail@baedert.org> | 2017-12-21 19:12:31 +0100 |
commit | 8089cde9778541eeb08a6c959a0cc2d352e30cd2 (patch) | |
tree | 29d66dc13295492b5990260bca3915a82b5e98bb | |
parent | d5a759652f94104dc4a640422783f05ee1140a82 (diff) | |
download | gtk+-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.c | 12 |
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); |