comparison src/pixbuf-renderer.c @ 208:fa0e05f985c3

set user-defined color as image background - patch by Laurent MONIN
author nadvornik
date Sat, 29 Mar 2008 10:38:15 +0000
parents f6e307c7bad6
children ad78ad18523a
comparison
equal deleted inserted replaced
207:ec068409bee7 208:fa0e05f985c3
1283 1283
1284 g_return_if_fail(IS_PIXBUF_RENDERER(pr)); 1284 g_return_if_fail(IS_PIXBUF_RENDERER(pr));
1285 1285
1286 widget = GTK_WIDGET(pr); 1286 widget = GTK_WIDGET(pr);
1287 1287
1288 style = gtk_style_copy(gtk_widget_get_style(widget)); 1288 if (color) {
1289 g_object_ref(G_OBJECT(style));
1290
1291 if (color)
1292 {
1293 GdkColor *slot; 1289 GdkColor *slot;
1294 1290
1291 style = gtk_style_copy(gtk_widget_get_style(widget));
1295 slot = &style->bg[GTK_STATE_NORMAL]; 1292 slot = &style->bg[GTK_STATE_NORMAL];
1296 1293
1297 slot->red = color->red; 1294 slot->red = color->red;
1298 slot->green = color->green; 1295 slot->green = color->green;
1299 slot->blue = color->blue; 1296 slot->blue = color->blue;
1300 } 1297 }
1298 else {
1299 style = gtk_style_copy(gtk_widget_get_default_style());
1300 }
1301 1301
1302 gtk_widget_set_style(widget, style); 1302 gtk_widget_set_style(widget, style);
1303 g_object_unref(G_OBJECT(style));
1304 1303
1305 if (GTK_WIDGET_VISIBLE(widget)) pr_border_clear(pr); 1304 if (GTK_WIDGET_VISIBLE(widget)) pr_border_clear(pr);
1306 }
1307
1308 void pixbuf_renderer_set_black(PixbufRenderer *pr, gint black)
1309 {
1310 GdkColor color = { 0, 0, 0, 0};
1311
1312 pixbuf_renderer_set_color(pr, &color);
1313 } 1305 }
1314 1306
1315 1307
1316 /* 1308 /*
1317 *------------------------------------------------------------------- 1309 *-------------------------------------------------------------------