diff options
author | Anders Carlsson <andersca@gnome.org> | 2003-08-24 17:28:23 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@src.gnome.org> | 2003-08-24 17:28:23 +0000 |
commit | 9897d659c082f5e2661b5c26a24c3ed8d0096f0d (patch) | |
tree | 0dc83572c63b090897d6707551b22a2b1bac56a0 /gtk/gtkiconview.c | |
parent | f977168c41038b53559d6302efed68f4ed91cd21 (diff) | |
download | gtk+-9897d659c082f5e2661b5c26a24c3ed8d0096f0d.tar.gz |
Use gdk_draw_pixbuf.
2003-08-24 Anders Carlsson <andersca@gnome.org>
* libegg/iconlist/eggiconlist.c: (egg_icon_list_paint_item),
(egg_icon_list_paint_rubberband):
Use gdk_draw_pixbuf.
(egg_icon_list_item_unref):
Call destroy_notify on the list item. Reported by Edd Dumbill.
Diffstat (limited to 'gtk/gtkiconview.c')
-rw-r--r-- | gtk/gtkiconview.c | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 89fc172a4a..8aaae61590 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -1641,19 +1641,13 @@ egg_icon_list_paint_item (EggIconList *icon_list, >K_WIDGET (icon_list)->style->base[state]); else pixbuf = g_object_ref (item->icon); - - gdk_pixbuf_render_to_drawable_alpha (pixbuf, - icon_list->priv->bin_window, - 0, 0, - item->pixbuf_x, - item->pixbuf_y, - item->pixbuf_width, - item->pixbuf_height, - GDK_PIXBUF_ALPHA_FULL, - 0, - GDK_RGB_DITHER_NORMAL, - item->pixbuf_width, - item->pixbuf_height); + + gdk_draw_pixbuf (icon_list->priv->bin_window, NULL, pixbuf, + 0, 0, + item->pixbuf_x, item->pixbuf_y, + item->pixbuf_width, item->pixbuf_height, + GDK_RGB_DITHER_NORMAL, + item->pixbuf_width, item->pixbuf_height); g_object_unref (pixbuf); if (item->selected) @@ -1732,15 +1726,12 @@ egg_icon_list_paint_rubberband (EggIconList *icon_list, pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, rect.width, rect.height); gdk_pixbuf_fill (pixbuf, fill_color); - gdk_pixbuf_render_to_drawable_alpha (pixbuf, - icon_list->priv->bin_window, - 0, 0, - rect.x,rect.y, - rect.width, rect.height, - GDK_PIXBUF_ALPHA_FULL, - 0, - GDK_RGB_DITHER_NONE, - 0, 0); + gdk_draw_pixbuf (icon_list->priv->bin_window, NULL, pixbuf, + 0, 0, + rect.x,rect.y, + rect.width, rect.height, + GDK_RGB_DITHER_NONE, + 0, 0); g_object_unref (pixbuf); gc = gdk_gc_new (icon_list->priv->bin_window); gdk_gc_set_rgb_fg_color (gc, fill_color_gdk); @@ -1877,6 +1868,9 @@ egg_icon_list_item_unref (EggIconListItem *item) if (item->ref_count == 0) { + if (item->destroy_notify) + item->destroy_notify (item->user_data); + g_free (item->label); g_object_unref (item->icon); g_free (item); |