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;