cairo_set_source_rgba() and gdk_color_parse() Fail in debian lenny
cairo_set_source_rgba() and gdk_color_parse() work ok in ubuntu 10.04 (gtk2.20...). Fail and crash in debian lenny (gtk2.12....) althougth compiling ok.
Some of my code: ... gdk_color_parse("white",color); ... Set_transparent(window); ... static gboolean on_window_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) { cairo_t *cr; cr = gdk_cairo_create(widget->window); // create cairo context if(alpha_channel_support) // set source to RGB-Alpha cairo_set_source_rgba(cr, 1.0, 1.0, 1.0, 0.0); else cairo_set_source_rgb(cr, 1.0, 1.0, 1.0); // set color RGB cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); // set drawing compositing operator // SOURCE -> replace destination cairo_paint(cr); // paint source cairo_destroy(cr); return FALSE; } void Set_transparent(GtkWidget *w) { GdkScreen *screen; GdkColormap *colormap; gtk_window_set_keep_above(GTK_WINDOW(w),TRUE); gtk_window_set_decorated(GTK_WINDOW(w),FALSE); g_signal_connect(G_OBJECT(w), "expose-event", G_CALLBACK(on_window_expose_event), NULL); gtk_widget_set_app_paintable(w, TRUE); // allow application to paint on widget screen = gtk_widget_get_screen(w); colormap = gdk_screen_get_rgba_colormap(screen); // get colormap with alpha channel if(colormap != NULL) alpha_channel_support = TRUE; else { alpha_channel_support = FALSE; colormap = gdk_screen_get_rgb_colormap(screen); g_message("Screen supports no alpha channels\n"); } gtk_widget_set_colormap(w, colormap); } How showld it be in debia to work? Thanks all |
All times are GMT -5. The time now is 12:30 PM. |