[gtk+/wip/otte/icon-size: 20/20] xxx: WIP
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/otte/icon-size: 20/20] xxx: WIP
- Date: Fri, 10 Nov 2017 21:05:45 +0000 (UTC)
commit 907290d6a89ff5e7f2915aaaa92e2b206cdac89b
Author: Benjamin Otte <otte redhat com>
Date: Sun Jul 30 16:53:07 2017 +0100
xxx: WIP
gtk/a11y/gtkimageaccessible.c | 42 ++--------------------------------------
gtk/gtkicontheme.h | 7 ------
gtk/gtkimage.c | 9 ++++++++
gtk/gtkimageprivate.h | 3 ++
gtk/gtkprintunixdialog.c | 23 ----------------------
gtk/gtktoolbutton.c | 17 +--------------
6 files changed, 17 insertions(+), 84 deletions(-)
---
diff --git a/gtk/a11y/gtkimageaccessible.c b/gtk/a11y/gtkimageaccessible.c
index a83a993..696eb17 100644
--- a/gtk/a11y/gtkimageaccessible.c
+++ b/gtk/a11y/gtkimageaccessible.c
@@ -20,7 +20,7 @@
#include <string.h>
#include <gtk/gtk.h>
#include "gtkimageaccessible.h"
-#include "gtktoolbarprivate.h"
+#include "gtkimageprivate.h"
#include "gtkintl.h"
struct _GtkImageAccessiblePrivate
@@ -252,7 +252,6 @@ gtk_image_accessible_get_image_size (AtkImage *image,
{
GtkWidget* widget;
GtkImage *gtk_image;
- GtkImageType image_type;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
if (widget == NULL)
@@ -264,43 +263,8 @@ gtk_image_accessible_get_image_size (AtkImage *image,
gtk_image = GTK_IMAGE (widget);
- image_type = gtk_image_get_storage_type (gtk_image);
- switch (image_type)
- {
- case GTK_IMAGE_PIXBUF:
- {
- GdkPixbuf *pixbuf;
-
- pixbuf = gtk_image_get_pixbuf (gtk_image);
- *height = gdk_pixbuf_get_height (pixbuf);
- *width = gdk_pixbuf_get_width (pixbuf);
- break;
- }
- case GTK_IMAGE_ICON_NAME:
- case GTK_IMAGE_GICON:
- {
- GtkIconSize size;
-
- g_object_get (gtk_image, "icon-size", &size, NULL);
- gtk_icon_size_lookup (size, width, height);
- break;
- }
- case GTK_IMAGE_ANIMATION:
- {
- GdkPixbufAnimation *animation;
-
- animation = gtk_image_get_animation (gtk_image);
- *height = gdk_pixbuf_animation_get_height (animation);
- *width = gdk_pixbuf_animation_get_width (animation);
- break;
- }
- default:
- {
- *height = -1;
- *width = -1;
- break;
- }
- }
+ if (gtk_image_get_storage_type (gtk_image) != GTK_IMAGE_EMPTY)
+ gtk_image_get_image_size (gtk_image, width, height);
}
static gboolean
diff --git a/gtk/gtkicontheme.h b/gtk/gtkicontheme.h
index a76a978..015c12e 100644
--- a/gtk/gtkicontheme.h
+++ b/gtk/gtkicontheme.h
@@ -341,13 +341,6 @@ GdkPixbuf * gtk_icon_info_load_symbolic_for_context_finish (GtkIconInf
gboolean *was_symbolic,
GError **error);
-#ifndef GDK_MULTIHEAD_SAFE
-GDK_AVAILABLE_IN_ALL
-gboolean gtk_icon_size_lookup (GtkIconSize size,
- gint *width,
- gint *height);
-#endif /* GDK_MULTIHEAD_SAFE */
-
G_END_DECLS
diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
index 6d9cdbf..6d31fa6 100644
--- a/gtk/gtkimage.c
+++ b/gtk/gtkimage.c
@@ -1650,3 +1650,12 @@ gtk_image_get_icon_size (GtkImage *image)
return image->priv->icon_size;
}
+
+void
+gtk_image_get_image_size (GtkImage *image,
+ int *width,
+ int *height)
+{
+ _gtk_icon_helper_get_size (image->priv->icon_helper,
+ width, height);
+}
diff --git a/gtk/gtkimageprivate.h b/gtk/gtkimageprivate.h
index 2157839..93a15ab 100644
--- a/gtk/gtkimageprivate.h
+++ b/gtk/gtkimageprivate.h
@@ -34,6 +34,9 @@ G_BEGIN_DECLS
void gtk_image_set_from_definition (GtkImage *image,
GtkImageDefinition *def);
+void gtk_image_get_image_size (GtkImage *image,
+ int *width,
+ int *height);
G_END_DECLS
diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c
index 4d06655..46076d4 100644
--- a/gtk/gtkprintunixdialog.c
+++ b/gtk/gtkprintunixdialog.c
@@ -135,7 +135,6 @@ static void gtk_print_unix_dialog_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec);
-static void gtk_print_unix_dialog_style_updated (GtkWidget *widget);
static void unschedule_idle_mark_conflicts (GtkPrintUnixDialog *dialog);
static void selected_printer_changed (GtkTreeSelection *selection,
GtkPrintUnixDialog *dialog);
@@ -407,7 +406,6 @@ gtk_print_unix_dialog_class_init (GtkPrintUnixDialogClass *class)
object_class->set_property = gtk_print_unix_dialog_set_property;
object_class->get_property = gtk_print_unix_dialog_get_property;
- widget_class->style_updated = gtk_print_unix_dialog_style_updated;
widget_class->destroy = gtk_print_unix_dialog_destroy;
g_object_class_install_property (object_class,
@@ -2308,27 +2306,6 @@ draw_collate (GtkDrawingArea *da,
}
static void
-gtk_print_unix_dialog_style_updated (GtkWidget *widget)
-{
- GTK_WIDGET_CLASS (gtk_print_unix_dialog_parent_class)->style_updated (widget);
-
- if (gtk_widget_has_screen (widget))
- {
- GtkPrintUnixDialog *dialog = (GtkPrintUnixDialog *)widget;
- GtkPrintUnixDialogPrivate *priv = dialog->priv;
- gint size;
- gfloat scale;
-
- gtk_icon_size_lookup (GTK_ICON_SIZE_LARGE, &size, NULL);
- scale = size / 48.0;
-
- gtk_widget_set_size_request (priv->collate_image,
- (50 + 20) * scale,
- (15 + 26) * scale);
- }
-}
-
-static void
update_page_range_entry_sensitivity (GtkWidget *button,
GtkPrintUnixDialog *dialog)
{
diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c
index 6161029..159865b 100644
--- a/gtk/gtktoolbutton.c
+++ b/gtk/gtktoolbutton.c
@@ -724,22 +724,9 @@ clone_image_menu_size (GtkImage *image)
}
else if (storage_type == GTK_IMAGE_PIXBUF)
{
- gint width, height;
+ GdkPixbuf *src_pixbuf = gtk_image_get_pixbuf (image);
- if (gtk_icon_size_lookup (GTK_ICON_SIZE_NORMAL, &width, &height))
- {
- GdkPixbuf *src_pixbuf, *dest_pixbuf;
- GtkWidget *cloned_image;
-
- src_pixbuf = gtk_image_get_pixbuf (image);
- dest_pixbuf = gdk_pixbuf_scale_simple (src_pixbuf, width, height,
- GDK_INTERP_BILINEAR);
-
- cloned_image = gtk_image_new_from_pixbuf (dest_pixbuf);
- g_object_unref (dest_pixbuf);
-
- return cloned_image;
- }
+ return gtk_image_new_from_pixbuf (src_pixbuf);
}
return NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]