g_value_set_object (value, priv->pixbuf_expander_closed);
break;
case PROP_TEXTURE:
- g_value_set_object (value, gtk_image_definition_get_texture (priv->image_def));
+ g_value_set_object (value, gtk_image_definition_get_paintable (priv->image_def));
break;
case PROP_ICON_SIZE:
g_value_set_enum (value, priv->icon_size);
{
switch (storage_type)
{
- case GTK_IMAGE_TEXTURE:
- g_object_notify (G_OBJECT (cellpixbuf), "texture");
- break;
case GTK_IMAGE_PAINTABLE:
- g_object_notify (G_OBJECT (cellpixbuf), "paintable");
+ g_object_notify (G_OBJECT (cellpixbuf), "texture");
break;
case GTK_IMAGE_ICON_NAME:
g_object_notify (G_OBJECT (cellpixbuf), "icon-name");
texture = gdk_texture_new_for_pixbuf (pixbuf);
else
texture = NULL;
- take_image_definition (cellpixbuf, gtk_image_definition_new_texture (texture));
+ take_image_definition (cellpixbuf, gtk_image_definition_new_paintable (GDK_PAINTABLE (texture)));
break;
case PROP_PIXBUF_EXPANDER_OPEN:
if (priv->pixbuf_expander_open)
priv->pixbuf_expander_closed = (GdkPixbuf*) g_value_dup_object (value);
break;
case PROP_TEXTURE:
- take_image_definition (cellpixbuf, gtk_image_definition_new_texture (g_value_get_object (value)));
+ take_image_definition (cellpixbuf, gtk_image_definition_new_paintable (g_value_get_object (value)));
break;
case PROP_ICON_SIZE:
gtk_cell_renderer_pixbuf_set_icon_size (cellpixbuf, g_value_get_enum (value));
{
icon_helper = gtk_icon_helper_new (gtk_style_context_get_node (context), widget);
texture = gdk_texture_new_for_pixbuf (priv->pixbuf_expander_open);
- _gtk_icon_helper_set_texture (icon_helper, texture);
+ _gtk_icon_helper_set_paintable (icon_helper, GDK_PAINTABLE (texture));
g_object_unref (texture);
}
else if (!is_expanded && priv->pixbuf_expander_closed != NULL)
{
icon_helper = gtk_icon_helper_new (gtk_style_context_get_node (context), widget);
texture = gdk_texture_new_for_pixbuf (priv->pixbuf_expander_closed);
- _gtk_icon_helper_set_texture (icon_helper, texture);
+ _gtk_icon_helper_set_paintable (icon_helper, GDK_PAINTABLE (texture));
g_object_unref (texture);
}
else
: PROP_GICON_SECONDARY]);
break;
- case GTK_IMAGE_TEXTURE:
case GTK_IMAGE_EMPTY:
default:
g_assert_not_reached ();
return flags;
}
-static GdkPaintable *
-ensure_paintable_from_texture (GtkIconHelper *self,
- GdkTexture *texture,
- int *scale)
-{
- *scale = gtk_image_definition_get_storage_type (self->def);
-
- return g_object_ref (GDK_PAINTABLE (texture));
-}
-
static GdkPaintable *
ensure_paintable_from_paintable (GtkIconHelper *self,
GdkPaintable *paintable,
switch (gtk_image_definition_get_storage_type (self->def))
{
- case GTK_IMAGE_TEXTURE:
- paintable = ensure_paintable_from_texture (self, gtk_image_definition_get_texture (self->def), &scale);
- symbolic = FALSE;
- break;
-
case GTK_IMAGE_PAINTABLE:
paintable = ensure_paintable_from_paintable (self, gtk_image_definition_get_paintable (self->def), &scale);
symbolic = FALSE;
}
break;
- case GTK_IMAGE_TEXTURE:
case GTK_IMAGE_PAINTABLE:
case GTK_IMAGE_EMPTY:
default:
switch (gtk_image_definition_get_storage_type (self->def))
{
- case GTK_IMAGE_TEXTURE:
- return gdk_paintable_get_intrinsic_width (GDK_PAINTABLE (gtk_image_definition_get_texture (self->def)));
-
case GTK_IMAGE_PAINTABLE:
return gdk_paintable_get_intrinsic_width (gtk_image_definition_get_paintable (self->def));
switch (gtk_image_definition_get_storage_type (self->def))
{
- case GTK_IMAGE_TEXTURE:
- return gdk_paintable_get_intrinsic_height (GDK_PAINTABLE (gtk_image_definition_get_texture (self->def)));
-
case GTK_IMAGE_PAINTABLE:
return gdk_paintable_get_intrinsic_height (gtk_image_definition_get_paintable (self->def));
switch (gtk_image_definition_get_storage_type (self->def))
{
- case GTK_IMAGE_TEXTURE:
- return gdk_paintable_get_intrinsic_aspect_ratio (GDK_PAINTABLE (gtk_image_definition_get_texture (self->def)));
-
case GTK_IMAGE_PAINTABLE:
return gdk_paintable_get_intrinsic_aspect_ratio (gtk_image_definition_get_paintable (self->def));
}
break;
- case GTK_IMAGE_TEXTURE:
case GTK_IMAGE_ICON_NAME:
case GTK_IMAGE_GICON:
case GTK_IMAGE_EMPTY:
width = height = get_default_size (self);
break;
- case GTK_IMAGE_TEXTURE:
- {
- GdkTexture *texture = gtk_image_definition_get_texture (self->def);
- width = gdk_texture_get_width (texture);
- height = gdk_texture_get_height (texture);
- }
- break;
-
case GTK_IMAGE_PAINTABLE:
{
GdkPaintable *paintable = gtk_image_definition_get_paintable (self->def);
gtk_icon_helper_take_definition (self, gtk_image_definition_new_icon_name (icon_name));
}
-void
-_gtk_icon_helper_set_texture (GtkIconHelper *self,
- GdkTexture *texture)
-{
- gtk_icon_helper_take_definition (self, gtk_image_definition_new_texture (texture));
-}
-
void
_gtk_icon_helper_set_paintable (GtkIconHelper *self,
GdkPaintable *paintable)
return gtk_image_definition_get_gicon (self->def);
}
-GdkTexture *
-_gtk_icon_helper_peek_texture (GtkIconHelper *self)
-{
- return gtk_image_definition_get_texture (self->def);
-}
-
GdkPaintable *
_gtk_icon_helper_peek_paintable (GtkIconHelper *self)
{
void _gtk_icon_helper_set_icon_name (GtkIconHelper *self,
const gchar *icon_name);
-void _gtk_icon_helper_set_texture (GtkIconHelper *self,
- GdkTexture *texture);
void _gtk_icon_helper_set_paintable (GtkIconHelper *self,
GdkPaintable *paintable);
gboolean _gtk_icon_helper_get_use_fallback (GtkIconHelper *self);
GIcon *_gtk_icon_helper_peek_gicon (GtkIconHelper *self);
-GdkTexture *_gtk_icon_helper_peek_texture (GtkIconHelper *self);
GdkPaintable *_gtk_icon_helper_peek_paintable (GtkIconHelper *self);
GtkImageDefinition *gtk_icon_helper_get_definition (GtkIconHelper *self);
case GTK_IMAGE_PAINTABLE:
g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_PAINTABLE]);
break;
- case GTK_IMAGE_TEXTURE:
case GTK_IMAGE_EMPTY:
default:
break;
* This image type was added in GTK+ 2.6
* @GTK_IMAGE_GICON: the widget contains a #GIcon.
* This image type was added in GTK+ 2.14
- * @GTK_IMAGE_TEXTURE: the widget contains a #GdkTexture.
- * This image type was added in GTK+ 3.94
* @GTK_IMAGE_PAINTABLE: the widget contains a #GdkPaintable.
* This image type was added in GTK+ 3.96
*
GTK_IMAGE_EMPTY,
GTK_IMAGE_ICON_NAME,
GTK_IMAGE_GICON,
- GTK_IMAGE_TEXTURE,
GTK_IMAGE_PAINTABLE
} GtkImageType;
typedef struct _GtkImageDefinitionEmpty GtkImageDefinitionEmpty;
typedef struct _GtkImageDefinitionIconName GtkImageDefinitionIconName;
typedef struct _GtkImageDefinitionGIcon GtkImageDefinitionGIcon;
-typedef struct _GtkImageDefinitionTexture GtkImageDefinitionTexture;
typedef struct _GtkImageDefinitionPaintable GtkImageDefinitionPaintable;
struct _GtkImageDefinitionEmpty {
GIcon *gicon;
};
-struct _GtkImageDefinitionTexture {
- GtkImageType type;
- gint ref_count;
-
- GdkTexture *texture;
-};
-
struct _GtkImageDefinitionPaintable {
GtkImageType type;
gint ref_count;
GtkImageDefinitionEmpty empty;
GtkImageDefinitionIconName icon_name;
GtkImageDefinitionGIcon gicon;
- GtkImageDefinitionTexture texture;
GtkImageDefinitionPaintable paintable;
};
sizeof (GtkImageDefinitionEmpty),
sizeof (GtkImageDefinitionIconName),
sizeof (GtkImageDefinitionGIcon),
- sizeof (GtkImageDefinitionTexture),
sizeof (GtkImageDefinitionPaintable)
};
GtkImageDefinition *def;
return def;
}
-GtkImageDefinition *
-gtk_image_definition_new_texture (GdkTexture *texture)
-{
- GtkImageDefinition *def;
-
- if (texture == NULL)
- return NULL;
-
- def = gtk_image_definition_alloc (GTK_IMAGE_TEXTURE);
- def->texture.texture = g_object_ref (texture);
-
- return def;
-}
-
GtkImageDefinition *
gtk_image_definition_new_paintable (GdkPaintable *paintable)
{
case GTK_IMAGE_EMPTY:
g_assert_not_reached ();
break;
- case GTK_IMAGE_TEXTURE:
- g_object_unref (def->texture.texture);
- break;
case GTK_IMAGE_PAINTABLE:
g_object_unref (def->paintable.paintable);
break;
g_assert_not_reached ();
case GTK_IMAGE_EMPTY:
case GTK_IMAGE_PAINTABLE:
- case GTK_IMAGE_TEXTURE:
case GTK_IMAGE_ICON_NAME:
case GTK_IMAGE_GICON:
return 1;
return def->gicon.gicon;
}
-GdkTexture *
-gtk_image_definition_get_texture (const GtkImageDefinition *def)
-{
- if (def->type != GTK_IMAGE_TEXTURE)
- return NULL;
-
- return def->texture.texture;
-}
-
GdkPaintable *
gtk_image_definition_get_paintable (const GtkImageDefinition *def)
{
GtkImageDefinition * gtk_image_definition_new_empty (void);
GtkImageDefinition * gtk_image_definition_new_icon_name (const char *icon_name);
GtkImageDefinition * gtk_image_definition_new_gicon (GIcon *gicon);
-GtkImageDefinition * gtk_image_definition_new_texture (GdkTexture *texture);
GtkImageDefinition * gtk_image_definition_new_paintable (GdkPaintable *paintable);
GtkImageDefinition * gtk_image_definition_ref (GtkImageDefinition *def);
gint gtk_image_definition_get_scale (const GtkImageDefinition *def);
const gchar * gtk_image_definition_get_icon_name (const GtkImageDefinition *def);
GIcon * gtk_image_definition_get_gicon (const GtkImageDefinition *def);
-GdkTexture * gtk_image_definition_get_texture (const GtkImageDefinition *def);
GdkPaintable * gtk_image_definition_get_paintable (const GtkImageDefinition *def);