Mercurial > audlegacy
diff src/audacious/ui_skinned_button.c @ 4195:2281da647da9
beggining of GdkPixbuf transition
| author | Tomasz Mon <desowin@gmail.com> |
|---|---|
| date | Sat, 19 Jan 2008 06:03:03 +0100 |
| parents | 9d4b5cdae3ba |
| children | 47352b34dbdf |
line wrap: on
line diff
--- a/src/audacious/ui_skinned_button.c Wed Jan 16 11:37:25 2008 +0100 +++ b/src/audacious/ui_skinned_button.c Sat Jan 19 06:03:03 2008 +0100 @@ -300,14 +300,12 @@ if (button->event_window != NULL) return FALSE; - GdkPixmap *obj; - GdkGC *gc; - obj = gdk_pixmap_new(NULL, priv->w, priv->h, gdk_rgb_get_visual()->depth); - gc = gdk_gc_new(obj); + GdkPixbuf *obj; + obj = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, priv->w, priv->h); switch (button->type) { case TYPE_PUSH: - skin_draw_pixmap(widget, bmp_active_skin, obj, gc, + skin_draw_pixbuf(widget, bmp_active_skin, obj, button->pressed ? priv->skin_index2 : priv->skin_index1, button->pressed ? priv->px : priv->nx, button->pressed ? priv->py : priv->ny, @@ -315,13 +313,13 @@ break; case TYPE_TOGGLE: if (button->inside) - skin_draw_pixmap(widget, bmp_active_skin, obj, gc, + skin_draw_pixbuf(widget, bmp_active_skin, obj, button->pressed ? priv->skin_index2 : priv->skin_index1, button->pressed ? priv->ppx : priv->pnx, button->pressed ? priv->ppy : priv->pny, 0, 0, priv->w, priv->h); else - skin_draw_pixmap(widget, bmp_active_skin, obj, gc, + skin_draw_pixbuf(widget, bmp_active_skin, obj, button->pressed ? priv->skin_index2 : priv->skin_index1, button->pressed ? priv->px : priv->nx, button->pressed ? priv->py : priv->ny, @@ -331,21 +329,16 @@ break; } - GdkPixmap *image = NULL; - + GdkPixbuf *image = NULL; if (priv->double_size) { - image = create_dblsize_pixmap(obj); + image = gdk_pixbuf_scale_simple(obj, priv->w*2, priv->h*2, GDK_INTERP_NEAREST); } else { - image = gdk_pixmap_new(NULL, priv->w, priv->h, gdk_rgb_get_visual()->depth); - gdk_draw_drawable (image, gc, obj, 0, 0, 0, 0, priv->w, priv->h); + image = gdk_pixbuf_copy(obj); } - g_object_unref(obj); + gdk_draw_pixbuf(widget->window, NULL, image, 0, 0, 0, 0, priv->w*(1+priv->double_size), priv->h*(1+priv->double_size), GDK_RGB_DITHER_NONE, 0, 0); - gdk_draw_drawable (widget->window, gc, image, 0, 0, 0, 0, - priv->w*(1+priv->double_size), priv->h*(1+priv->double_size)); - - g_object_unref(gc); + g_object_unref(obj); g_object_unref(image); return FALSE;
