GtkWidget * color_area_create (int width, int height, GdkPixmap *default_pmap, GdkBitmap *default_msk, GdkPixmap *swap_pmap, GdkBitmap *swap_msk) { GtkWidget *event_box; attributes_set_foreground(persistence_register_color("fg_color", &color_black)); attributes_set_background(persistence_register_color("bg_color", &color_white)); event_box = gtk_event_box_new(); color_area = gtk_drawing_area_new (); gtk_widget_set_size_request (color_area, width, height); gtk_widget_set_events (color_area, GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK); g_signal_connect (G_OBJECT (color_area), "event", G_CALLBACK(color_area_events), NULL); default_pixmap = default_pmap; default_mask = default_msk; swap_pixmap = swap_pmap; swap_mask = swap_msk; gtk_widget_show(color_area); gtk_container_add(GTK_CONTAINER(event_box), color_area); return event_box; }
static void color_selection_ok (GtkWidget *w, GtkColorSelectionDialog *cs) { GtkColorSelection *colorsel; GdkColor color; Color col; colorsel=GTK_COLOR_SELECTION(cs->colorsel); gtk_color_selection_get_current_color(colorsel,&color); GDK_COLOR_TO_DIA(color, col); if (edit_color == FOREGROUND) { attributes_set_foreground(&col); } else { attributes_set_background(&col); } color_area_draw (); /* gtk_color_selection_set_currentcolor(colorsel,&color);*/ gtk_widget_hide(color_select); color_select_active = 0; }
/** Swap the current foreground and background colors */ void attributes_swap_fgbg(void) { Color temp; temp = attributes_foreground; attributes_set_foreground(&attributes_background); attributes_set_background(&temp); }
static void color_selection_cancel (GtkWidget *w, GtkColorSelectionDialog *cs) { if (color_select != NULL) gtk_widget_hide(color_select); color_select_active = 0; attributes_set_foreground(&stored_foreground); attributes_set_background(&stored_background); color_area_draw (); }
/** Set the default foreground and background colors to black and white. */ void attributes_default_fgbg(void) { attributes_set_foreground(&color_black); attributes_set_background(&color_white); }