comparison src/audacious/ui_skinned_playlist_slider.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
comparison
equal deleted inserted replaced
4191:3d8b2bbcb555 4195:2281da647da9
215 215
216 UiSkinnedPlaylistSlider *ps = UI_SKINNED_PLAYLIST_SLIDER (widget); 216 UiSkinnedPlaylistSlider *ps = UI_SKINNED_PLAYLIST_SLIDER (widget);
217 UiSkinnedPlaylistSliderPrivate *priv = UI_SKINNED_PLAYLIST_SLIDER_GET_PRIVATE(ps); 217 UiSkinnedPlaylistSliderPrivate *priv = UI_SKINNED_PLAYLIST_SLIDER_GET_PRIVATE(ps);
218 g_return_val_if_fail (priv->width > 0 && priv->height > 0, FALSE); 218 g_return_val_if_fail (priv->width > 0 && priv->height > 0, FALSE);
219 219
220 GdkPixmap *obj = NULL; 220 GdkPixbuf *obj = NULL;
221 GdkGC *gc; 221 obj = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, priv->width, priv->height);
222
223 obj = gdk_pixmap_new(NULL, priv->width, priv->height, gdk_rgb_get_visual()->depth);
224 gc = gdk_gc_new(obj);
225 222
226 gint num_visible; 223 gint num_visible;
227 num_visible = playlistwin_list_get_visible_count(); 224 num_visible = playlistwin_list_get_visible_count();
228 225
229 226
242 priv->prev_y = y; 239 priv->prev_y = y;
243 240
244 /* FIXME: uses bmp_active_skin->pixmaps directly and may need calibration */ 241 /* FIXME: uses bmp_active_skin->pixmaps directly and may need calibration */
245 /* drawing background */ 242 /* drawing background */
246 gint c; 243 gint c;
247 for (c = 0; c <= priv->height / 29; c++) { 244 for (c = 0; c < priv->height / 29; c++) {
248 gdk_draw_drawable(obj, gc, bmp_active_skin->pixmaps[SKIN_PLEDIT].pixmap, 245 gdk_pixbuf_copy_area(bmp_active_skin->pixmaps[SKIN_PLEDIT].pixbuf,
249 36, 42, 0, c*29, priv->width, 29); 246 36, 42, priv->width, 29, obj, 0, c*29);
250 } 247 }
251 248
252 /* drawing knob */ 249 /* drawing knob */
253 skin_draw_pixmap(widget, bmp_active_skin, obj, gc, priv->skin_index, ps->pressed ? 61 : 52, 53, 0, y, priv->width, 18); 250 skin_draw_pixbuf(widget, bmp_active_skin, obj, priv->skin_index, ps->pressed ? 61 : 52, 53, 0, y, priv->width, 18);
254 251
255 gdk_draw_drawable(widget->window, gc, obj, 0, 0, 0, 0, priv->width, priv->height); 252 gdk_draw_pixbuf(widget->window, NULL, obj, 0, 0, 0, 0, priv->width, priv->height, GDK_RGB_DITHER_NONE, 0, 0);
256 g_object_unref(obj); 253 g_object_unref(obj);
257 g_object_unref(gc);
258 254
259 return FALSE; 255 return FALSE;
260 } 256 }
261 257
262 static void ui_skinned_playlist_slider_set_position(GtkWidget *widget, gint y) { 258 static void ui_skinned_playlist_slider_set_position(GtkWidget *widget, gint y) {