diff options
author | Benjamin Otte <otte@redhat.com> | 2016-11-15 06:19:16 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2016-11-15 17:49:19 +0100 |
commit | c0aa065ac119c3280f0e886caff88258b767bb39 (patch) | |
tree | 148ffed6a738db0045125e54b2150214ff70d4d5 /gtk/gtkiconhelper.c | |
parent | 92e6b3a000835e51ff2c40fac53f0979938ec47f (diff) | |
download | gtk+-c0aa065ac119c3280f0e886caff88258b767bb39.tar.gz |
snapshot: Convert GtkImage and GtkIconHelper
Adds a bunch of new APIs to render textures with theming.
FIXME: Cannot draw shadows for textures.
Diffstat (limited to 'gtk/gtkiconhelper.c')
-rw-r--r-- | gtk/gtkiconhelper.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c index 278ace34ff..5bd099d547 100644 --- a/gtk/gtkiconhelper.c +++ b/gtk/gtkiconhelper.c @@ -857,27 +857,24 @@ _gtk_icon_helper_draw (GtkIconHelper *self, } } -GskRenderNode * -gtk_icon_helper_get_render_node (GtkIconHelper *self, - GskRenderer *renderer) +void +gtk_icon_helper_snapshot (GtkIconHelper *self, + GtkSnapshot *snapshot) { GskTexture *texture; GskRenderNode *node; graphene_rect_t bounds; - gtk_icon_helper_ensure_texture (self, renderer); + gtk_icon_helper_ensure_texture (self, gtk_snapshot_get_renderer (snapshot)); texture = self->priv->texture; if (texture == NULL) - return NULL; + return; graphene_rect_init (&bounds, 0, 0, gsk_texture_get_width (texture), gsk_texture_get_height (texture)); - node = gsk_renderer_create_render_node (renderer); - gsk_render_node_set_name (node, "Icon Helper"); - gsk_render_node_set_bounds (node, &bounds); + node = gtk_snapshot_append (snapshot, &bounds, "Icon Helper"); gsk_render_node_set_texture (node, texture); - - return node; + gsk_render_node_unref (node); } gboolean |