summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk/Makefile.am2
-rw-r--r--gtk/gtkbuiltinicon.c267
-rw-r--r--gtk/gtkbuiltiniconprivate.h65
-rw-r--r--gtk/gtkcheckbutton.c1
-rw-r--r--gtk/gtkcheckmenuitem.c1
-rw-r--r--gtk/gtkexpander.c1
-rw-r--r--gtk/gtkicon.c1
-rw-r--r--gtk/gtkmenu.c1
-rw-r--r--gtk/gtknotebook.c1
-rw-r--r--gtk/gtkrange.c1
-rw-r--r--gtk/gtkspinner.c1
-rw-r--r--gtk/meson.build1
12 files changed, 0 insertions, 343 deletions
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 73b8b9252d..408eddecd4 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -376,7 +376,6 @@ gtk_private_h_sources = \
gtkboxprivate.h \
gtkboxgadgetprivate.h \
gtkbuilderprivate.h \
- gtkbuiltiniconprivate.h \
gtkbuttonprivate.h \
gtkcellareaboxcontextprivate.h \
gtkcheckbuttonprivate.h \
@@ -627,7 +626,6 @@ gtk_base_c_sources = \
gtkbuilder.c \
gtkbuilderparser.c \
gtkbuilder-menus.c \
- gtkbuiltinicon.c \
gtkbutton.c \
gtkcalendar.c \
gtkcellarea.c \
diff --git a/gtk/gtkbuiltinicon.c b/gtk/gtkbuiltinicon.c
deleted file mode 100644
index 60003b6fcc..0000000000
--- a/gtk/gtkbuiltinicon.c
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright © 2015 Red Hat Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Authors: Benjamin Otte <otte@gnome.org>
- */
-
-#include "config.h"
-
-#include "gtkbuiltiniconprivate.h"
-
-#include "gtkcssnodeprivate.h"
-#include "gtkcssnumbervalueprivate.h"
-#include "gtkrendericonprivate.h"
-#include "gtksnapshot.h"
-
-/* GtkBuiltinIcon is a gadget implementation that is meant to replace
- * all calls to gtk_render_ functions to render arrows, expanders, checks
- * radios, handles, separators, etc. See the GtkCssImageBuiltinType
- * enumeration for the full set of builtin icons that this gadget can
- * render.
- *
- * Use gtk_builtin_icon_set_image to set which of the builtin icons
- * is rendered.
- *
- * Use gtk_builtin_icon_set_default_size to set a non-zero default
- * size for the icon.
- *
- * Themes can override the acutal image that is used with the
- * -gtk-icon-source property. If it is not specified, a builtin
- * fallback is used.
- */
-
-typedef struct _GtkBuiltinIconPrivate GtkBuiltinIconPrivate;
-struct _GtkBuiltinIconPrivate {
- GtkCssImageBuiltinType image_type;
- int default_size;
- int strikethrough;
- gboolean strikethrough_valid;
-};
-
-G_DEFINE_TYPE_WITH_CODE (GtkBuiltinIcon, gtk_builtin_icon, GTK_TYPE_CSS_GADGET,
- G_ADD_PRIVATE (GtkBuiltinIcon))
-
-static void
-gtk_builtin_icon_get_preferred_size (GtkCssGadget *gadget,
- GtkOrientation orientation,
- gint for_size,
- gint *minimum,
- gint *natural,
- gint *minimum_baseline,
- gint *natural_baseline)
-{
- GtkBuiltinIconPrivate *priv = gtk_builtin_icon_get_instance_private (GTK_BUILTIN_ICON (gadget));
- double min_size;
- guint property;
-
- if (orientation == GTK_ORIENTATION_HORIZONTAL)
- property = GTK_CSS_PROPERTY_MIN_WIDTH;
- else
- property = GTK_CSS_PROPERTY_MIN_HEIGHT;
- min_size = _gtk_css_number_value_get (gtk_css_style_get_value (gtk_css_gadget_get_style (gadget), property), 100);
- if (min_size > 0.0)
- {
- *minimum = *natural = min_size;
- }
- else
- {
- *minimum = *natural = priv->default_size;
- }
-
- if (minimum_baseline)
- {
- if (!priv->strikethrough_valid)
- {
- GtkWidget *widget;
- PangoContext *pango_context;
- const PangoFontDescription *font_desc;
- PangoFontMetrics *metrics;
-
- widget = gtk_css_gadget_get_owner (gadget);
- pango_context = gtk_widget_get_pango_context (widget);
- font_desc = pango_context_get_font_description (pango_context);
-
- metrics = pango_context_get_metrics (pango_context,
- font_desc,
- pango_context_get_language (pango_context));
- priv->strikethrough = pango_font_metrics_get_strikethrough_position (metrics);
- priv->strikethrough_valid = TRUE;
-
- pango_font_metrics_unref (metrics);
- }
-
- *minimum_baseline = *minimum * 0.5 + PANGO_PIXELS (priv->strikethrough);
- }
-
- if (natural_baseline)
- *natural_baseline = *minimum_baseline;
-}
-
-static void
-gtk_builtin_icon_allocate (GtkCssGadget *gadget,
- const GtkAllocation *allocation,
- int baseline,
- GtkAllocation *out_clip)
-{
- GdkRectangle icon_clip;
-
- GTK_CSS_GADGET_CLASS (gtk_builtin_icon_parent_class)->allocate (gadget, allocation, baseline, out_clip);
-
- gtk_css_style_render_icon_get_extents (gtk_css_gadget_get_style (gadget),
- &icon_clip,
- allocation->x, allocation->y,
- allocation->width, allocation->height);
- gdk_rectangle_union (out_clip, &icon_clip, out_clip);
-}
-
-static gboolean
-gtk_builtin_icon_snapshot (GtkCssGadget *gadget,
- GtkSnapshot *snapshot,
- int x,
- int y,
- int width,
- int height)
-{
- GtkBuiltinIconPrivate *priv = gtk_builtin_icon_get_instance_private (GTK_BUILTIN_ICON (gadget));
-
- gtk_snapshot_offset (snapshot, x, y);
- gtk_css_style_snapshot_icon (gtk_css_gadget_get_style (gadget),
- snapshot,
- width, height,
- priv->image_type);
- gtk_snapshot_offset (snapshot, -x, -y);
-
- return FALSE;
-}
-
-static void
-gtk_builtin_icon_style_changed (GtkCssGadget *gadget,
- GtkCssStyleChange *change)
-{
- GtkBuiltinIconPrivate *priv = gtk_builtin_icon_get_instance_private (GTK_BUILTIN_ICON (gadget));
-
- if (gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_FONT))
- priv->strikethrough_valid = FALSE;
-
- GTK_CSS_GADGET_CLASS (gtk_builtin_icon_parent_class)->style_changed (gadget, change);
-}
-
-static void
-gtk_builtin_icon_class_init (GtkBuiltinIconClass *klass)
-{
- GtkCssGadgetClass *gadget_class = GTK_CSS_GADGET_CLASS (klass);
-
- gadget_class->get_preferred_size = gtk_builtin_icon_get_preferred_size;
- gadget_class->allocate = gtk_builtin_icon_allocate;
- gadget_class->snapshot = gtk_builtin_icon_snapshot;
- gadget_class->style_changed = gtk_builtin_icon_style_changed;
-}
-
-static void
-gtk_builtin_icon_init (GtkBuiltinIcon *custom_gadget)
-{
-}
-
-GtkCssGadget *
-gtk_builtin_icon_new_for_node (GtkCssNode *node,
- GtkWidget *owner)
-{
- return g_object_new (GTK_TYPE_BUILTIN_ICON,
- "node", node,
- "owner", owner,
- NULL);
-}
-
-GtkCssGadget *
-gtk_builtin_icon_new (const char *name,
- GtkWidget *owner,
- GtkCssGadget *parent,
- GtkCssGadget *next_sibling)
-{
- GtkCssNode *node;
- GtkCssGadget *result;
-
- node = gtk_css_node_new ();
- gtk_css_node_set_name (node, g_intern_string (name));
- if (parent)
- gtk_css_node_insert_before (gtk_css_gadget_get_node (parent),
- node,
- next_sibling ? gtk_css_gadget_get_node (next_sibling) : NULL);
-
- result = gtk_builtin_icon_new_for_node (node, owner);
-
- g_object_unref (node);
-
- return result;
-}
-
-void
-gtk_builtin_icon_set_image (GtkBuiltinIcon *icon,
- GtkCssImageBuiltinType image)
-{
- GtkBuiltinIconPrivate *priv;
-
- g_return_if_fail (GTK_IS_BUILTIN_ICON (icon));
-
- priv = gtk_builtin_icon_get_instance_private (icon);
-
- if (priv->image_type != image)
- {
- priv->image_type = image;
- gtk_widget_queue_draw (gtk_css_gadget_get_owner (GTK_CSS_GADGET (icon)));
- }
-}
-
-GtkCssImageBuiltinType
-gtk_builtin_icon_get_image (GtkBuiltinIcon *icon)
-{
- GtkBuiltinIconPrivate *priv;
-
- g_return_val_if_fail (GTK_IS_BUILTIN_ICON (icon), GTK_CSS_IMAGE_BUILTIN_NONE);
-
- priv = gtk_builtin_icon_get_instance_private (icon);
-
- return priv->image_type;
-}
-
-void
-gtk_builtin_icon_set_default_size (GtkBuiltinIcon *icon,
- int default_size)
-{
- GtkBuiltinIconPrivate *priv;
-
- g_return_if_fail (GTK_IS_BUILTIN_ICON (icon));
-
- priv = gtk_builtin_icon_get_instance_private (icon);
-
- if (priv->default_size != default_size)
- {
- priv->default_size = default_size;
- gtk_widget_queue_resize (gtk_css_gadget_get_owner (GTK_CSS_GADGET (icon)));
- }
-}
-
-int
-gtk_builtin_icon_get_default_size (GtkBuiltinIcon *icon)
-{
- GtkBuiltinIconPrivate *priv;
-
- g_return_val_if_fail (GTK_IS_BUILTIN_ICON (icon), GTK_CSS_IMAGE_BUILTIN_NONE);
-
- priv = gtk_builtin_icon_get_instance_private (icon);
-
- return priv->default_size;
-}
diff --git a/gtk/gtkbuiltiniconprivate.h b/gtk/gtkbuiltiniconprivate.h
deleted file mode 100644
index 5da73ef50e..0000000000
--- a/gtk/gtkbuiltiniconprivate.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright © 2015 Red Hat Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Authors: Benjamin Otte <otte@gnome.org>
- */
-
-#ifndef __GTK_BUILTIN_ICON_PRIVATE_H__
-#define __GTK_BUILTIN_ICON_PRIVATE_H__
-
-#include "gtk/gtkcssgadgetprivate.h"
-
-G_BEGIN_DECLS
-
-#define GTK_TYPE_BUILTIN_ICON (gtk_builtin_icon_get_type ())
-#define GTK_BUILTIN_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, GTK_TYPE_BUILTIN_ICON, GtkBuiltinIcon))
-#define GTK_BUILTIN_ICON_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST (cls, GTK_TYPE_BUILTIN_ICON, GtkBuiltinIconClass))
-#define GTK_IS_BUILTIN_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, GTK_TYPE_BUILTIN_ICON))
-#define GTK_IS_BUILTIN_ICON_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE (obj, GTK_TYPE_BUILTIN_ICON))
-#define GTK_BUILTIN_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BUILTIN_ICON, GtkBuiltinIconClass))
-
-typedef struct _GtkBuiltinIcon GtkBuiltinIcon;
-typedef struct _GtkBuiltinIconClass GtkBuiltinIconClass;
-
-struct _GtkBuiltinIcon
-{
- GtkCssGadget parent;
-};
-
-struct _GtkBuiltinIconClass
-{
- GtkCssGadgetClass parent_class;
-};
-
-GType gtk_builtin_icon_get_type (void) G_GNUC_CONST;
-
-GtkCssGadget * gtk_builtin_icon_new (const char *name,
- GtkWidget *owner,
- GtkCssGadget *parent,
- GtkCssGadget *next_sibling);
-GtkCssGadget * gtk_builtin_icon_new_for_node (GtkCssNode *node,
- GtkWidget *owner);
-
-void gtk_builtin_icon_set_image (GtkBuiltinIcon *icon,
- GtkCssImageBuiltinType image);
-GtkCssImageBuiltinType gtk_builtin_icon_get_image (GtkBuiltinIcon *icon);
-void gtk_builtin_icon_set_default_size (GtkBuiltinIcon *icon,
- int default_size);
-int gtk_builtin_icon_get_default_size (GtkBuiltinIcon *icon);
-
-G_END_DECLS
-
-#endif /* __GTK_BUILTIN_ICON_PRIVATE_H__ */
diff --git a/gtk/gtkcheckbutton.c b/gtk/gtkcheckbutton.c
index 0dde2befb1..3881db55dd 100644
--- a/gtk/gtkcheckbutton.c
+++ b/gtk/gtkcheckbutton.c
@@ -33,7 +33,6 @@
#include "gtkprivate.h"
#include "gtkrender.h"
#include "gtkwidgetprivate.h"
-#include "gtkbuiltiniconprivate.h"
#include "gtkcssnodeprivate.h"
#include "gtkcontainerprivate.h"
#include "gtkstylecontextprivate.h"
diff --git a/gtk/gtkcheckmenuitem.c b/gtk/gtkcheckmenuitem.c
index 4483e684b7..e9928eb5d0 100644
--- a/gtk/gtkcheckmenuitem.c
+++ b/gtk/gtkcheckmenuitem.c
@@ -23,7 +23,6 @@
*/
#include "config.h"
-#include "gtkbuiltiniconprivate.h"
#include "gtkcheckmenuitemprivate.h"
#include "gtkmenuitemprivate.h"
#include "gtkaccellabel.h"
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c
index 011c92955b..711be4c63e 100644
--- a/gtk/gtkexpander.c
+++ b/gtk/gtkexpander.c
@@ -119,7 +119,6 @@
#include "gtkdnd.h"
#include "a11y/gtkexpanderaccessible.h"
#include "gtkstylecontextprivate.h"
-#include "gtkbuiltiniconprivate.h"
#include "gtkwidgetprivate.h"
#include "gtkcontainerprivate.h"
#include "gtkiconprivate.h"
diff --git a/gtk/gtkicon.c b/gtk/gtkicon.c
index 307bb06636..3591a30ab0 100644
--- a/gtk/gtkicon.c
+++ b/gtk/gtkicon.c
@@ -20,7 +20,6 @@
#include "config.h"
-#include "gtkbuiltiniconprivate.h"
#include "gtkcssnodeprivate.h"
#include "gtkiconprivate.h"
#include "gtkwidgetprivate.h"
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index b27f9f2a9b..b9b15c3c36 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -109,7 +109,6 @@
#include "gtkaccelmap.h"
#include "gtkadjustment.h"
#include "gtkbindings.h"
-#include "gtkbuiltiniconprivate.h"
#include "gtkcheckmenuitem.h"
#include "gtkcheckmenuitemprivate.h"
#include "gtkmain.h"
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index 4fd55ed5d3..660957832a 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -43,7 +43,6 @@
#include "gtkbuildable.h"
#include "gtktypebuiltins.h"
#include "gtkwidgetpath.h"
-#include "gtkbuiltiniconprivate.h"
#include "gtkcssstylepropertyprivate.h"
#include "gtksizerequest.h"
#include "gtkstylecontextprivate.h"
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 9e572db11e..493fda8a9d 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -32,7 +32,6 @@
#include "gtkrangeprivate.h"
#include "gtkadjustmentprivate.h"
-#include "gtkbuiltiniconprivate.h"
#include "gtkcolorscaleprivate.h"
#include "gtkintl.h"
#include "gtkgesturelongpressprivate.h"
diff --git a/gtk/gtkspinner.c b/gtk/gtkspinner.c
index 9879be2424..d5f1f2a95a 100644
--- a/gtk/gtkspinner.c
+++ b/gtk/gtkspinner.c
@@ -38,7 +38,6 @@
#include "gtkstylecontextprivate.h"
#include "gtkwidgetprivate.h"
#include "a11y/gtkspinneraccessible.h"
-#include "gtkbuiltiniconprivate.h"
#include "gtkcssnumbervalueprivate.h"
#include "gtkrendericonprivate.h"
diff --git a/gtk/meson.build b/gtk/meson.build
index a741b7d49d..878539433d 100644
--- a/gtk/meson.build
+++ b/gtk/meson.build
@@ -40,7 +40,6 @@ gtk_public_sources = files([
'gtkbuilder-menus.c',
'gtkbuilder.c',
'gtkbuilderparser.c',
- 'gtkbuiltinicon.c',
'gtkbutton.c',
'gtkcalendar.c',
'gtkcellarea.c',