summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/reference/gtk/gtk4-sections.txt3
-rw-r--r--gtk/gtkcellrendererpixbuf.c22
-rw-r--r--gtk/gtkdnd.c6
-rw-r--r--gtk/gtkentry.c1
-rw-r--r--gtk/gtkiconhelper.c103
-rw-r--r--gtk/gtkiconhelperprivate.h3
-rw-r--r--gtk/gtkimage.c96
-rw-r--r--gtk/gtkimage.h14
-rw-r--r--gtk/gtkimagedefinition.c37
-rw-r--r--gtk/gtkimagedefinitionprivate.h2
-rw-r--r--gtk/gtktoolbutton.c28
11 files changed, 9 insertions, 306 deletions
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index 4b3f4ead7e..90d335a759 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -1483,7 +1483,6 @@ GtkIconViewPrivate
<TITLE>GtkImage</TITLE>
GtkImage
GtkImageType
-gtk_image_get_surface
gtk_image_get_texture
gtk_image_get_icon_name
gtk_image_get_gicon
@@ -1493,14 +1492,12 @@ gtk_image_new_from_pixbuf
gtk_image_new_from_icon_name
gtk_image_new_from_gicon
gtk_image_new_from_resource
-gtk_image_new_from_surface
gtk_image_new_from_texture
gtk_image_set_from_file
gtk_image_set_from_pixbuf
gtk_image_set_from_icon_name
gtk_image_set_from_gicon
gtk_image_set_from_resource
-gtk_image_set_from_surface
gtk_image_set_from_texture
gtk_image_clear
gtk_image_new
diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c
index be69747f0e..1426fef268 100644
--- a/gtk/gtkcellrendererpixbuf.c
+++ b/gtk/gtkcellrendererpixbuf.c
@@ -80,7 +80,6 @@ enum {
PROP_PIXBUF,
PROP_PIXBUF_EXPANDER_OPEN,
PROP_PIXBUF_EXPANDER_CLOSED,
- PROP_SURFACE,
PROP_TEXTURE,
PROP_ICON_SIZE,
PROP_ICON_NAME,
@@ -163,16 +162,6 @@ gtk_cell_renderer_pixbuf_class_init (GtkCellRendererPixbufClass *class)
P_("Pixbuf for closed expander"),
GDK_TYPE_PIXBUF,
GTK_PARAM_READWRITE));
- /**
- * GtkCellRendererPixbuf:surface:
- */
- g_object_class_install_property (object_class,
- PROP_SURFACE,
- g_param_spec_boxed ("surface",
- P_("surface"),
- P_("The surface to render"),
- CAIRO_GOBJECT_TYPE_SURFACE,
- GTK_PARAM_READWRITE));
/**
* GtkCellRendererPixbuf:texture:
@@ -250,9 +239,6 @@ gtk_cell_renderer_pixbuf_get_property (GObject *object,
case PROP_PIXBUF_EXPANDER_CLOSED:
g_value_set_object (value, priv->pixbuf_expander_closed);
break;
- case PROP_SURFACE:
- g_value_set_boxed (value, gtk_image_definition_get_surface (priv->image_def));
- break;
case PROP_TEXTURE:
g_value_set_object (value, gtk_image_definition_get_texture (priv->image_def));
break;
@@ -277,9 +263,6 @@ notify_storage_type (GtkCellRendererPixbuf *cellpixbuf,
{
switch (storage_type)
{
- case GTK_IMAGE_SURFACE:
- g_object_notify (G_OBJECT (cellpixbuf), "surface");
- break;
case GTK_IMAGE_TEXTURE:
g_object_notify (G_OBJECT (cellpixbuf), "texture");
break;
@@ -352,7 +335,7 @@ gtk_cell_renderer_pixbuf_set_property (GObject *object,
texture = gdk_texture_new_for_pixbuf (pixbuf);
else
texture = NULL;
- take_image_definition (cellpixbuf, gtk_image_definition_new_texture (texture, 1));
+ take_image_definition (cellpixbuf, gtk_image_definition_new_texture (texture));
break;
case PROP_PIXBUF_EXPANDER_OPEN:
if (priv->pixbuf_expander_open)
@@ -364,9 +347,6 @@ gtk_cell_renderer_pixbuf_set_property (GObject *object,
g_object_unref (priv->pixbuf_expander_closed);
priv->pixbuf_expander_closed = (GdkPixbuf*) g_value_dup_object (value);
break;
- case PROP_SURFACE:
- take_image_definition (cellpixbuf, gtk_image_definition_new_surface (g_value_get_boxed (value)));
- break;
case PROP_TEXTURE:
take_image_definition (cellpixbuf, gtk_image_definition_new_texture (g_value_get_object (value)));
break;
diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c
index ef96eeda95..3eb081687b 100644
--- a/gtk/gtkdnd.c
+++ b/gtk/gtkdnd.c
@@ -38,6 +38,7 @@
#include "gtkwindowprivate.h"
#include "gdk/gdkcontentformatsprivate.h"
+#include "gdk/gdktextureprivate.h"
#include <math.h>
#include <stdlib.h>
@@ -1195,6 +1196,7 @@ gtk_drag_set_icon_surface (GdkDragContext *context,
{
GtkWidget *widget;
double hot_x, hot_y;
+ GdkTexture *texture;
g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
g_return_if_fail (surface != NULL);
@@ -1202,7 +1204,9 @@ gtk_drag_set_icon_surface (GdkDragContext *context,
cairo_surface_get_device_offset (surface, &hot_x, &hot_y);
cairo_surface_set_device_offset (surface, 0, 0);
- widget = gtk_image_new_from_surface (surface);
+ texture = gdk_texture_new_for_surface (surface);
+ widget = gtk_image_new_from_texture (texture);
+ g_object_unref (texture);
gtk_drag_set_icon_widget_internal (context, widget, (int)hot_x, (int)hot_y, TRUE);
}
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 04562afbf2..dfbb95ae86 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -6555,7 +6555,6 @@ gtk_entry_clear_icon (GtkEntry *entry,
: PROP_GICON_SECONDARY]);
break;
- case GTK_IMAGE_SURFACE:
case GTK_IMAGE_TEXTURE:
case GTK_IMAGE_EMPTY:
default:
diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c
index e5acea210c..5904fe3faa 100644
--- a/gtk/gtkiconhelper.c
+++ b/gtk/gtkiconhelper.c
@@ -213,82 +213,6 @@ get_icon_lookup_flags (GtkIconHelper *self,
return flags;
}
-static void
-get_surface_size (cairo_surface_t *surface,
- int *width,
- int *height)
-{
- GdkRectangle clip;
- cairo_t *cr;
-
- cr = cairo_create (surface);
- if (gdk_cairo_get_clip_rectangle (cr, &clip))
- {
- if (clip.x != 0 || clip.y != 0)
- {
- g_warning ("origin of surface is %d %d, not supported", clip.x, clip.y);
- }
- *width = clip.width;
- *height = clip.height;
- }
- else
- {
- g_warning ("infinite surface size not supported");
- *width = 0;
- *height = 0;
- }
-
- cairo_destroy (cr);
-}
-
-static GdkPaintable *
-ensure_paintable_from_surface (GtkIconHelper *self,
- cairo_surface_t *orig_surface,
- int *scale_out)
-{
- cairo_surface_t *map;
- int width, height, scale;
- GdkTexture *texture;
-
- scale = gtk_widget_get_scale_factor (self->owner);
- *scale_out = scale;
- _gtk_icon_helper_get_size (self, &width, &height);
-
- map = cairo_surface_map_to_image (orig_surface,
- &(GdkRectangle) { 0, 0, width * scale, height * scale});
-
- if (cairo_image_surface_get_format (map) == CAIRO_FORMAT_ARGB32)
- {
- texture = gdk_texture_new_for_data (cairo_image_surface_get_data (map),
- width * scale,
- height * scale,
- cairo_image_surface_get_stride (map));
- }
- else
- {
- cairo_surface_t *argb_surface;
- cairo_t *cr;
-
- argb_surface = cairo_surface_create_similar_image (orig_surface,
- CAIRO_FORMAT_ARGB32,
- width * scale, height * scale);
-
- cr = cairo_create (argb_surface);
- cairo_set_source_surface (cr, map, 0, 0);
- cairo_paint (cr);
- cairo_destroy (cr);
- texture = gdk_texture_new_for_data (cairo_image_surface_get_data (argb_surface),
- width * scale,
- height * scale,
- cairo_image_surface_get_stride (argb_surface));
- cairo_surface_destroy (argb_surface);
- }
-
- cairo_surface_unmap_image (orig_surface, map);
-
- return GDK_PAINTABLE (texture);
-}
-
static GdkPaintable *
ensure_paintable_from_texture (GtkIconHelper *self,
GdkTexture *texture,
@@ -357,11 +281,6 @@ gtk_icon_helper_load_paintable (GtkIconHelper *self,
switch (gtk_image_definition_get_storage_type (self->def))
{
- case GTK_IMAGE_SURFACE:
- paintable = ensure_paintable_from_surface (self, gtk_image_definition_get_surface (self->def), &scale);
- symbolic = FALSE;
- break;
-
case GTK_IMAGE_TEXTURE:
paintable = ensure_paintable_from_texture (self, gtk_image_definition_get_texture (self->def), &scale);
symbolic = FALSE;
@@ -468,7 +387,6 @@ gtk_icon_helper_measure (GtkIconHelper *self,
break;
case GTK_IMAGE_TEXTURE:
- case GTK_IMAGE_SURFACE:
case GTK_IMAGE_ICON_NAME:
case GTK_IMAGE_GICON:
case GTK_IMAGE_EMPTY:
@@ -537,12 +455,6 @@ _gtk_icon_helper_get_size (GtkIconHelper *self,
data for something that may not yet be visible */
switch (gtk_image_definition_get_storage_type (self->def))
{
- case GTK_IMAGE_SURFACE:
- get_surface_size (gtk_image_definition_get_surface (self->def),
- &width,
- &height);
- break;
-
case GTK_IMAGE_ICON_NAME:
case GTK_IMAGE_GICON:
if (self->pixel_size != -1 || self->force_scale_pixbuf)
@@ -570,7 +482,7 @@ _gtk_icon_helper_get_size (GtkIconHelper *self,
break;
}
- /* Otherwise we load the surface to guarantee we get a size */
+ /* Otherwise we load the paintable to guarantee we get a size */
if (width == 0)
{
gtk_icon_helper_ensure_paintable (self);
@@ -616,13 +528,6 @@ _gtk_icon_helper_set_icon_name (GtkIconHelper *self,
}
void
-_gtk_icon_helper_set_surface (GtkIconHelper *self,
- cairo_surface_t *surface)
-{
- gtk_icon_helper_take_definition (self, gtk_image_definition_new_surface (surface));
-}
-
-void
_gtk_icon_helper_set_texture (GtkIconHelper *self,
GdkTexture *texture)
{
@@ -692,12 +597,6 @@ _gtk_icon_helper_peek_gicon (GtkIconHelper *self)
return gtk_image_definition_get_gicon (self->def);
}
-cairo_surface_t *
-_gtk_icon_helper_peek_surface (GtkIconHelper *self)
-{
- return gtk_image_definition_get_surface (self->def);
-}
-
GdkTexture *
_gtk_icon_helper_peek_texture (GtkIconHelper *self)
{
diff --git a/gtk/gtkiconhelperprivate.h b/gtk/gtkiconhelperprivate.h
index 9b8357cf39..2a14a61d65 100644
--- a/gtk/gtkiconhelperprivate.h
+++ b/gtk/gtkiconhelperprivate.h
@@ -46,8 +46,6 @@ void _gtk_icon_helper_set_gicon (GtkIconHelper *self,
void _gtk_icon_helper_set_icon_name (GtkIconHelper *self,
const gchar *icon_name);
-void _gtk_icon_helper_set_surface (GtkIconHelper *self,
- cairo_surface_t *surface);
void _gtk_icon_helper_set_texture (GtkIconHelper *self,
GdkTexture *texture);
void _gtk_icon_helper_set_paintable (GtkIconHelper *self,
@@ -63,7 +61,6 @@ gint _gtk_icon_helper_get_pixel_size (GtkIconHelper *self);
gboolean _gtk_icon_helper_get_use_fallback (GtkIconHelper *self);
GIcon *_gtk_icon_helper_peek_gicon (GtkIconHelper *self);
-cairo_surface_t *_gtk_icon_helper_peek_surface (GtkIconHelper *self);
GdkTexture *_gtk_icon_helper_peek_texture (GtkIconHelper *self);
GdkPaintable *_gtk_icon_helper_peek_paintable (GtkIconHelper *self);
diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
index fbddabd930..5502cba89b 100644
--- a/gtk/gtkimage.c
+++ b/gtk/gtkimage.c
@@ -119,7 +119,6 @@ static void gtk_image_get_property (GObject *object,
enum
{
PROP_0,
- PROP_SURFACE,
PROP_PAINTABLE,
PROP_TEXTURE,
PROP_FILE,
@@ -156,13 +155,6 @@ gtk_image_class_init (GtkImageClass *class)
widget_class->unrealize = gtk_image_unrealize;
widget_class->style_updated = gtk_image_style_updated;
- image_props[PROP_SURFACE] =
- g_param_spec_boxed ("surface",
- P_("Surface"),
- P_("A cairo_surface_t to display"),
- CAIRO_GOBJECT_TYPE_SURFACE,
- GTK_PARAM_READWRITE);
-
image_props[PROP_PAINTABLE] =
g_param_spec_object ("paintable",
P_("Paintable"),
@@ -314,9 +306,6 @@ gtk_image_set_property (GObject *object,
switch (prop_id)
{
- case PROP_SURFACE:
- gtk_image_set_from_surface (image, g_value_get_boxed (value));
- break;
case PROP_PAINTABLE:
gtk_image_set_from_paintable (image, g_value_get_object (value));
break;
@@ -364,9 +353,6 @@ gtk_image_get_property (GObject *object,
switch (prop_id)
{
- case PROP_SURFACE:
- g_value_set_boxed (value, _gtk_icon_helper_peek_surface (priv->icon_helper));
- break;
case PROP_PAINTABLE:
g_value_set_object (value, _gtk_icon_helper_peek_paintable (priv->icon_helper));
break;
@@ -550,29 +536,6 @@ gtk_image_new_from_texture (GdkTexture *texture)
}
/**
- * gtk_image_new_from_surface:
- * @surface: (allow-none): a #cairo_surface_t, or %NULL
- *
- * Creates a new #GtkImage displaying @surface.
- * The #GtkImage does not assume a reference to the
- * surface; you still need to unref it if you own references.
- * #GtkImage will add its own reference rather than adopting yours.
- *
- * Returns: a new #GtkImage
- **/
-GtkWidget*
-gtk_image_new_from_surface (cairo_surface_t *surface)
-{
- GtkImage *image;
-
- image = g_object_new (GTK_TYPE_IMAGE, NULL);
-
- gtk_image_set_from_surface (image, surface);
-
- return GTK_WIDGET (image);
-}
-
-/**
* gtk_image_new_from_icon_name:
* @icon_name: (nullable): an icon name or %NULL
*
@@ -962,39 +925,6 @@ gtk_image_set_from_gicon (GtkImage *image,
g_object_thaw_notify (G_OBJECT (image));
}
-/**
- * gtk_image_set_from_surface:
- * @image: a #GtkImage
- * @surface: (nullable): a cairo_surface_t or %NULL
- *
- * See gtk_image_new_from_surface() for details.
- **/
-void
-gtk_image_set_from_surface (GtkImage *image,
- cairo_surface_t *surface)
-{
- GtkImagePrivate *priv = gtk_image_get_instance_private (image);
-
- g_return_if_fail (GTK_IS_IMAGE (image));
-
- g_object_freeze_notify (G_OBJECT (image));
-
- if (surface)
- cairo_surface_reference (surface);
-
- gtk_image_clear (image);
-
- if (surface)
- {
- _gtk_icon_helper_set_surface (priv->icon_helper, surface);
- cairo_surface_destroy (surface);
- }
-
- g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_SURFACE]);
-
- g_object_thaw_notify (G_OBJECT (image));
-}
-
static void
gtk_image_paintable_invalidate_contents (GdkPaintable *paintable,
GtkImage *image)
@@ -1108,29 +1038,6 @@ gtk_image_get_storage_type (GtkImage *image)
}
/**
- * gtk_image_get_surface:
- * @image: a #GtkImage
- *
- * Gets the image #cairo_surface_t being displayed by the #GtkImage.
- * The storage type of the image must be %GTK_IMAGE_EMPTY or
- * %GTK_IMAGE_SURFACE (see gtk_image_get_storage_type()).
- * The caller of this function does not own a reference to the
- * returned surface.
- *
- * Returns: (nullable) (transfer none): the displayed surface, or %NULL if
- * the image is empty
- **/
-cairo_surface_t *
-gtk_image_get_surface (GtkImage *image)
-{
- GtkImagePrivate *priv = gtk_image_get_instance_private (image);
-
- g_return_val_if_fail (GTK_IS_IMAGE (image), NULL);
-
- return _gtk_icon_helper_peek_surface (priv->icon_helper);
-}
-
-/**
* gtk_image_get_paintable:
* @image: a #GtkImage
*
@@ -1336,9 +1243,6 @@ gtk_image_notify_for_storage_type (GtkImage *image,
case GTK_IMAGE_GICON:
g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_GICON]);
break;
- case GTK_IMAGE_SURFACE:
- g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_SURFACE]);
- break;
case GTK_IMAGE_TEXTURE:
g_object_notify_by_pspec (G_OBJECT (image), image_props[PROP_TEXTURE]);
break;
diff --git a/gtk/gtkimage.h b/gtk/gtkimage.h
index 10ce7da730..f4390fab18 100644
--- a/gtk/gtkimage.h
+++ b/gtk/gtkimage.h
@@ -55,8 +55,6 @@ typedef struct _GtkImageClass GtkImageClass;
* 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_SURFACE: the widget contains a #cairo_surface_t.
- * This image type was added in GTK+ 3.10
* @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.
@@ -65,8 +63,8 @@ typedef struct _GtkImageClass GtkImageClass;
* Describes the image data representation used by a #GtkImage. If you
* want to get the image from the widget, you can only get the
* currently-stored representation. e.g. if the
- * gtk_image_get_storage_type() returns #GTK_IMAGE_SURFACE, then you can
- * call gtk_image_get_surface(). For empty images, you can request any
+ * gtk_image_get_storage_type() returns #GTK_IMAGE_PAINTABLE, then you can
+ * call gtk_image_get_paintable(). For empty images, you can request any
* storage type (call any of the "get" functions), but they will all
* return %NULL values.
*/
@@ -75,7 +73,6 @@ typedef enum
GTK_IMAGE_EMPTY,
GTK_IMAGE_ICON_NAME,
GTK_IMAGE_GICON,
- GTK_IMAGE_SURFACE,
GTK_IMAGE_TEXTURE,
GTK_IMAGE_PAINTABLE
} GtkImageType;
@@ -121,8 +118,6 @@ GDK_AVAILABLE_IN_ALL
GtkWidget* gtk_image_new_from_icon_name (const gchar *icon_name);
GDK_AVAILABLE_IN_ALL
GtkWidget* gtk_image_new_from_gicon (GIcon *icon);
-GDK_AVAILABLE_IN_ALL
-GtkWidget* gtk_image_new_from_surface (cairo_surface_t *surface);
GDK_AVAILABLE_IN_ALL
void gtk_image_clear (GtkImage *image);
@@ -148,9 +143,6 @@ GDK_AVAILABLE_IN_ALL
void gtk_image_set_from_gicon (GtkImage *image,
GIcon *icon);
GDK_AVAILABLE_IN_ALL
-void gtk_image_set_from_surface (GtkImage *image,
- cairo_surface_t *surface);
-GDK_AVAILABLE_IN_ALL
void gtk_image_set_pixel_size (GtkImage *image,
gint pixel_size);
GDK_AVAILABLE_IN_ALL
@@ -161,8 +153,6 @@ GDK_AVAILABLE_IN_ALL
GtkImageType gtk_image_get_storage_type (GtkImage *image);
GDK_AVAILABLE_IN_ALL
-cairo_surface_t *gtk_image_get_surface (GtkImage *image);
-GDK_AVAILABLE_IN_ALL
GdkTexture *gtk_image_get_texture (GtkImage *image);
GDK_AVAILABLE_IN_ALL
GdkPaintable *gtk_image_get_paintable (GtkImage *image);
diff --git a/gtk/gtkimagedefinition.c b/gtk/gtkimagedefinition.c
index f663f12365..059b41820d 100644
--- a/gtk/gtkimagedefinition.c
+++ b/gtk/gtkimagedefinition.c
@@ -22,7 +22,6 @@
typedef struct _GtkImageDefinitionEmpty GtkImageDefinitionEmpty;
typedef struct _GtkImageDefinitionIconName GtkImageDefinitionIconName;
typedef struct _GtkImageDefinitionGIcon GtkImageDefinitionGIcon;
-typedef struct _GtkImageDefinitionSurface GtkImageDefinitionSurface;
typedef struct _GtkImageDefinitionTexture GtkImageDefinitionTexture;
typedef struct _GtkImageDefinitionPaintable GtkImageDefinitionPaintable;
@@ -45,13 +44,6 @@ struct _GtkImageDefinitionGIcon {
GIcon *gicon;
};
-struct _GtkImageDefinitionSurface {
- GtkImageType type;
- gint ref_count;
-
- cairo_surface_t *surface;
-};
-
struct _GtkImageDefinitionTexture {
GtkImageType type;
gint ref_count;
@@ -72,7 +64,6 @@ union _GtkImageDefinition
GtkImageDefinitionEmpty empty;
GtkImageDefinitionIconName icon_name;
GtkImageDefinitionGIcon gicon;
- GtkImageDefinitionSurface surface;
GtkImageDefinitionTexture texture;
GtkImageDefinitionPaintable paintable;
};
@@ -92,7 +83,6 @@ gtk_image_definition_alloc (GtkImageType type)
sizeof (GtkImageDefinitionEmpty),
sizeof (GtkImageDefinitionIconName),
sizeof (GtkImageDefinitionGIcon),
- sizeof (GtkImageDefinitionSurface),
sizeof (GtkImageDefinitionTexture),
sizeof (GtkImageDefinitionPaintable)
};
@@ -136,20 +126,6 @@ gtk_image_definition_new_gicon (GIcon *gicon)
}
GtkImageDefinition *
-gtk_image_definition_new_surface (cairo_surface_t *surface)
-{
- GtkImageDefinition *def;
-
- if (surface == NULL)
- return NULL;
-
- def = gtk_image_definition_alloc (GTK_IMAGE_SURFACE);
- def->surface.surface = cairo_surface_reference (surface);
-
- return def;
-}
-
-GtkImageDefinition *
gtk_image_definition_new_texture (GdkTexture *texture)
{
GtkImageDefinition *def;
@@ -199,9 +175,6 @@ gtk_image_definition_unref (GtkImageDefinition *def)
case GTK_IMAGE_EMPTY:
g_assert_not_reached ();
break;
- case GTK_IMAGE_SURFACE:
- cairo_surface_destroy (def->surface.surface);
- break;
case GTK_IMAGE_TEXTURE:
g_object_unref (def->texture.texture);
break;
@@ -233,7 +206,6 @@ gtk_image_definition_get_scale (const GtkImageDefinition *def)
default:
g_assert_not_reached ();
case GTK_IMAGE_EMPTY:
- case GTK_IMAGE_SURFACE:
case GTK_IMAGE_PAINTABLE:
case GTK_IMAGE_TEXTURE:
case GTK_IMAGE_ICON_NAME:
@@ -260,15 +232,6 @@ gtk_image_definition_get_gicon (const GtkImageDefinition *def)
return def->gicon.gicon;
}
-cairo_surface_t *
-gtk_image_definition_get_surface (const GtkImageDefinition *def)
-{
- if (def->type != GTK_IMAGE_SURFACE)
- return NULL;
-
- return def->surface.surface;
-}
-
GdkTexture *
gtk_image_definition_get_texture (const GtkImageDefinition *def)
{
diff --git a/gtk/gtkimagedefinitionprivate.h b/gtk/gtkimagedefinitionprivate.h
index 8cdb26c9e6..091d90cacc 100644
--- a/gtk/gtkimagedefinitionprivate.h
+++ b/gtk/gtkimagedefinitionprivate.h
@@ -28,7 +28,6 @@ typedef union _GtkImageDefinition GtkImageDefinition;
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_surface (cairo_surface_t *surface);
GtkImageDefinition * gtk_image_definition_new_texture (GdkTexture *texture);
GtkImageDefinition * gtk_image_definition_new_paintable (GdkPaintable *paintable);
@@ -39,7 +38,6 @@ GtkImageType gtk_image_definition_get_storage_type (const GtkImageD
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);
-cairo_surface_t * gtk_image_definition_get_surface (const GtkImageDefinition *def);
GdkTexture * gtk_image_definition_get_texture (const GtkImageDefinition *def);
GdkPaintable * gtk_image_definition_get_paintable (const GtkImageDefinition *def);
diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c
index bd317d69f9..e7571b88c2 100644
--- a/gtk/gtktoolbutton.c
+++ b/gtk/gtktoolbutton.c
@@ -717,34 +717,6 @@ clone_image_menu_size (GtkImage *image)
return gtk_image_new_from_gicon (icon);
}
- else if (storage_type == GTK_IMAGE_SURFACE)
- {
- int width, height;
- cairo_surface_t *src_surface, *dest_surface;
- GtkWidget *cloned_image;
- gint scale = gtk_widget_get_scale_factor (GTK_WIDGET (image));
- cairo_t *cr;
-
- gtk_image_get_image_size (image, &width, &height);
-
- src_surface = gtk_image_get_surface (image);
- dest_surface =
- gdk_window_create_similar_image_surface (gtk_widget_get_window (GTK_WIDGET (image)),
- CAIRO_FORMAT_ARGB32,
- width * scale, height * scale, scale);
- cr = cairo_create (dest_surface);
- cairo_set_source_surface (cr, src_surface, 0, 0);
- cairo_scale (cr,
- width / cairo_image_surface_get_width (src_surface),
- height / cairo_image_surface_get_height (src_surface));
- cairo_paint (cr);
- cairo_destroy (cr);
-
- cloned_image = gtk_image_new_from_surface (dest_surface);
- cairo_surface_destroy (dest_surface);
-
- return cloned_image;
- }
return NULL;
}