void _gtk_icon_helper_set_definition (GtkIconHelper *self, GtkImageDefinition *def) { if (def) gtk_icon_helper_take_definition (self, gtk_image_definition_ref (def)); else _gtk_icon_helper_clear (self); }
static void gtk_icon_helper_finalize (GObject *object) { GtkIconHelper *self = GTK_ICON_HELPER (object); _gtk_icon_helper_clear (self); G_OBJECT_CLASS (_gtk_icon_helper_parent_class)->finalize (object); }
static void gtk_icon_helper_finalize (GObject *object) { GtkIconHelper *self = GTK_ICON_HELPER (object); _gtk_icon_helper_clear (self); g_signal_handlers_disconnect_by_func (self->owner, G_CALLBACK (gtk_icon_helper_invalidate), self); gtk_image_definition_unref (self->def); G_OBJECT_CLASS (gtk_icon_helper_parent_class)->finalize (object); }
void _gtk_icon_helper_set_surface (GtkIconHelper *self, cairo_surface_t *surface) { _gtk_icon_helper_clear (self); if (surface != NULL) { self->priv->storage_type = GTK_IMAGE_SURFACE; self->priv->orig_surface = cairo_surface_reference (surface); } }
void _gtk_icon_helper_set_animation (GtkIconHelper *self, GdkPixbufAnimation *animation) { _gtk_icon_helper_clear (self); if (animation != NULL) { self->priv->storage_type = GTK_IMAGE_ANIMATION; self->priv->animation = g_object_ref (animation); } }
void _gtk_icon_helper_set_pixbuf (GtkIconHelper *self, GdkPixbuf *pixbuf) { _gtk_icon_helper_clear (self); if (pixbuf != NULL) { self->priv->storage_type = GTK_IMAGE_PIXBUF; self->priv->orig_pixbuf = g_object_ref (pixbuf); } }
static void gtk_icon_helper_take_definition (GtkIconHelper *self, GtkImageDefinition *def) { _gtk_icon_helper_clear (self); if (def == NULL) return; gtk_image_definition_unref (self->def); self->def = def; gtk_icon_helper_invalidate (self); }
void _gtk_icon_helper_set_gicon (GtkIconHelper *self, GIcon *gicon, GtkIconSize icon_size) { _gtk_icon_helper_clear (self); if (gicon != NULL) { self->priv->storage_type = GTK_IMAGE_GICON; self->priv->gicon = g_object_ref (gicon); _gtk_icon_helper_set_icon_size (self, icon_size); } }
static void gtk_icon_helper_finalize (GObject *object) { GtkIconHelper *self = GTK_ICON_HELPER (object); GtkWidget *widget; widget = gtk_css_gadget_get_owner (GTK_CSS_GADGET (self)); g_signal_handlers_disconnect_by_func (widget, G_CALLBACK (gtk_icon_helper_invalidate), self); _gtk_icon_helper_clear (self); gtk_image_definition_unref (self->priv->def); G_OBJECT_CLASS (gtk_icon_helper_parent_class)->finalize (object); }
void _gtk_icon_helper_set_stock_id (GtkIconHelper *self, const gchar *stock_id, GtkIconSize icon_size) { _gtk_icon_helper_clear (self); if (stock_id != NULL) { self->priv->storage_type = GTK_IMAGE_STOCK; self->priv->stock_id = g_strdup (stock_id); _gtk_icon_helper_set_icon_size (self, icon_size); } }
void _gtk_icon_helper_set_icon_set (GtkIconHelper *self, GtkIconSet *icon_set, GtkIconSize icon_size) { _gtk_icon_helper_clear (self); if (icon_set != NULL) { self->priv->storage_type = GTK_IMAGE_ICON_SET; self->priv->icon_set = gtk_icon_set_ref (icon_set); _gtk_icon_helper_set_icon_size (self, icon_size); } }
void _gtk_icon_helper_set_icon_name (GtkIconHelper *self, const gchar *icon_name, GtkIconSize icon_size) { _gtk_icon_helper_clear (self); if (icon_name != NULL && icon_name[0] != '\0') { self->priv->storage_type = GTK_IMAGE_ICON_NAME; self->priv->gicon = g_themed_icon_new (icon_name); _gtk_icon_helper_set_icon_size (self, icon_size); } }
void _gtk_icon_helper_set_icon_name (GtkIconHelper *self, const gchar *icon_name, GtkIconSize icon_size) { _gtk_icon_helper_clear (self); if (icon_name != NULL && g_strcmp0 (icon_name, "") != 0) { self->priv->storage_type = GTK_IMAGE_ICON_NAME; self->priv->icon_name = g_strdup (icon_name); _gtk_icon_helper_set_icon_size (self, icon_size); } }
void _gtk_icon_helper_set_icon_set (GtkIconHelper *self, GtkIconSet *icon_set, GtkIconSize icon_size) { _gtk_icon_helper_clear (self); if (icon_set != NULL) { self->priv->storage_type = GTK_IMAGE_ICON_SET; G_GNUC_BEGIN_IGNORE_DEPRECATIONS; self->priv->icon_set = gtk_icon_set_ref (icon_set); G_GNUC_END_IGNORE_DEPRECATIONS; _gtk_icon_helper_set_icon_size (self, icon_size); } }