[gtk+/wip/window-scales2: 28/40] GtkIconHelper: Add set_window()
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/window-scales2: 28/40] GtkIconHelper: Add set_window()
- Date: Wed, 3 Jul 2013 12:44:19 +0000 (UTC)
commit 5d8fd4ee247230e4ab97c223e618791f25f3ba24
Author: Alexander Larsson <alexl redhat com>
Date: Mon Jun 24 14:05:27 2013 +0200
GtkIconHelper: Add set_window()
This is a hint on where the icon will be drawn. It
will allow us to pre-allocate cairo surfaces for the right
target.
gtk/gtkiconhelper.c | 14 ++++++++++++++
gtk/gtkiconhelperprivate.h | 2 ++
2 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c
index 1ec7b85..629f007 100644
--- a/gtk/gtkiconhelper.c
+++ b/gtk/gtkiconhelper.c
@@ -26,6 +26,8 @@ G_DEFINE_TYPE (GtkIconHelper, _gtk_icon_helper, G_TYPE_OBJECT)
struct _GtkIconHelperPrivate {
GtkImageType storage_type;
+ GdkWindow *window;
+
GdkPixbuf *orig_pixbuf;
GdkPixbufAnimation *animation;
GIcon *gicon;
@@ -50,6 +52,7 @@ _gtk_icon_helper_clear (GtkIconHelper *self)
g_clear_object (&self->priv->orig_pixbuf);
g_clear_object (&self->priv->animation);
g_clear_object (&self->priv->rendered_pixbuf);
+ g_clear_object (&self->priv->window);
if (self->priv->icon_set != NULL)
{
@@ -76,6 +79,17 @@ _gtk_icon_helper_invalidate (GtkIconHelper *self)
g_clear_object (&self->priv->rendered_pixbuf);
}
+void
+ _gtk_icon_helper_set_window (GtkIconHelper *self,
+ GdkWindow *window)
+{
+ if (window)
+ g_object_ref (window);
+ g_clear_object (&self->priv->window);
+ self->priv->window = window;
+
+}
+
static void
gtk_icon_helper_finalize (GObject *object)
{
diff --git a/gtk/gtkiconhelperprivate.h b/gtk/gtkiconhelperprivate.h
index c2b9f08..10467be 100644
--- a/gtk/gtkiconhelperprivate.h
+++ b/gtk/gtkiconhelperprivate.h
@@ -70,6 +70,8 @@ GtkIconHelper *_gtk_icon_helper_new (void);
void _gtk_icon_helper_clear (GtkIconHelper *self);
void _gtk_icon_helper_invalidate (GtkIconHelper *self);
+void _gtk_icon_helper_set_window (GtkIconHelper *self,
+ GdkWindow *window);
gboolean _gtk_icon_helper_get_is_empty (GtkIconHelper *self);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]