diff src/audacious/widgets/skin.c @ 3095:5a7dea5211f3

branch merge
author Yoshiki Yazawa <yaz@cc.rim.or.jp>
date Tue, 17 Jul 2007 18:33:49 +0900
parents 7f1f6688c32c
children 3b6d316f8b09
line wrap: on
line diff
--- a/src/audacious/widgets/skin.c	Tue Jul 17 18:28:54 2007 +0900
+++ b/src/audacious/widgets/skin.c	Tue Jul 17 18:33:49 2007 +0900
@@ -6,8 +6,7 @@
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
+ *  the Free Software Foundation; under version 2 of the License.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -1621,7 +1620,18 @@
     if (xsrc+width > pixmap->width || ysrc+height > pixmap->height) {
         if (pixmap_id == SKIN_NUMBERS)
             xsrc = 90;
-        else
+        else if (pixmap_id == SKIN_VOLUME) {
+            /* some winamp skins have too strait SKIN_VOLUME, so let's copy what's remain from SKIN_MAIN */
+            gdk_draw_drawable(drawable, gc, skin_get_pixmap(bmp_active_skin, SKIN_MAIN)->pixmap,
+                              skin->properties.mainwin_volume_x, skin->properties.mainwin_volume_y,
+                              pixmap->width, ydest, width - pixmap->width, height);
+            width = pixmap->width;
+        } else if (pixmap_id == SKIN_MONOSTEREO) {
+            /* XMMS skins seems to have SKIN_MONOSTEREO with size 58x20 instead of 58x24 */
+            gdk_draw_drawable(drawable, gc, skin_get_pixmap(bmp_active_skin, SKIN_MAIN)->pixmap,
+                              212 + xdest, 41, xdest, ydest, width, height);
+            height = pixmap->height/2;
+        } else
             return;
     }