summaryrefslogtreecommitdiff
path: root/gtk/gtkiconhelper.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-11-15 06:19:16 +0100
committerBenjamin Otte <otte@redhat.com>2016-11-15 17:49:19 +0100
commitc0aa065ac119c3280f0e886caff88258b767bb39 (patch)
tree148ffed6a738db0045125e54b2150214ff70d4d5 /gtk/gtkiconhelper.c
parent92e6b3a000835e51ff2c40fac53f0979938ec47f (diff)
downloadgtk+-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.c17
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