color/colormap oddities
- From: "Karl H. Beckers" <karl h beckers gmx net>
- To: gtk-app-devel-list gnome org
- Subject: color/colormap oddities
- Date: Fri, 31 Oct 2003 13:09:50 +0100
Hello,
any pointers to a solution welcome, TIA ...
I have this app which has one GtkWindow and a number of small GtkDialogs
I'm abusing to mark an area on screen with an always-on-top rectangle.
These GtkDialogs are painted red in an expose-event event handler.
//paint parts of frame on expose
static gint on_expose_paint(GtkWidget *w, GdkEventExpose *e) {
GdkGC *gc;
GdkColormap *colormap;
GdkColor g_col;
int n;
gc = w->style->fg_gc[GTK_WIDGET_STATE (w)];
colormap = gtk_widget_get_colormap (w);
if (gdk_color_parse("red", &g_col)){
if (gdk_colormap_alloc_color(colormap, &g_col, FALSE,
TRUE)) {
gdk_gc_set_function ( gc, GDK_COPY );
gdk_gc_set_fill ( gc, GDK_SOLID );
gdk_gc_set_line_attributes ( gc, 3,
GDK_LINE_SOLID, GDK_CAP_BUTT, GDK_JOIN_MITER );
gdk_gc_set_foreground ( gc, &g_col );
gdk_draw_rectangle (w->window, gc, TRUE, 0, 0,
w->allocation.width, w->allocation.height);
}
}
}
If I do this, some widgets get painted red as well (even in other dialogs
opened from the main window), e.g. the downward arrow in a spinbutton
where you're already at the lowest value of the range.
Looks to me like I'm messing up my colormap ... but how and why (on
a TrueColor display).
Any pointers and RTFMs welcom,
Thanks,
Karl.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]