/* Retrieve the currently selected color value. */ int clip_GTK_COLORSELECTIONGETCOLOR(ClipMachine * ClipMachineMemory) { C_widget *ccsel = _fetch_cw_arg(ClipMachineMemory); GtkColorSelection *colorsel; ClipVar mcolor; gdouble color[4]; CHECKCWID(ccsel, GTK_IS_COLOR_SELECTION); colorsel = GTK_COLOR_SELECTION(ccsel->widget); gtk_color_selection_get_color(GTK_COLOR_SELECTION(ccsel->widget), color); color[0] *= CLIP_GTK_MAX_COLOR; color[1] *= CLIP_GTK_MAX_COLOR; color[2] *= CLIP_GTK_MAX_COLOR; memset(&mcolor, 0, sizeof(mcolor)); _clip_map(ClipMachineMemory, &mcolor); _map_put_colors(ClipMachineMemory, &mcolor, color); _clip_mclone(ClipMachineMemory, RETPTR(ClipMachineMemory), &mcolor); return 0; err: return 1; }
/* Sets the color in the GtkColorSelection. The widgets are updated to * reflect the new color. */ int clip_GTK_COLORSELECTIONSETCOLOR(ClipMachine * ClipMachineMemory) { C_widget *ccsel = _fetch_cw_arg(ClipMachineMemory); ClipVar *mcolor = _clip_spar(ClipMachineMemory, 2); gdouble color[4]; gdouble k, max; CHECKCWID(ccsel, GTK_IS_COLOR_SELECTION); CHECKOPT(2, MAP_type_of_ClipVarType); if (_clip_parinfo(ClipMachineMemory, 2) == UNDEF_type_of_ClipVarType) gtk_color_selection_get_color(GTK_COLOR_SELECTION(ccsel->widget), color); else _map_get_colors(ClipMachineMemory, mcolor, color); color[0] = color[0] > 0 ? color[0] : 1; color[1] = color[1] > 0 ? color[1] : 1; color[2] = color[2] > 0 ? color[2] : 1; max = color[0] > color[1] ? color[0] : color[1]; max = max > color[2] ? max : color[2]; max = max > 0 ? max : 1; k = 1 / max; color[0] *= k; color[1] *= k; color[2] *= k; gtk_color_selection_set_color(GTK_COLOR_SELECTION(ccsel->widget), color); return 0; err: return 1; }
static void color_changed(GtkWidget *w, gpointer data) { gdouble color[3]; gtk_color_selection_get_color(GTK_COLOR_SELECTION(options_colorpicker), color); bscope_cfg.color = ((guint32)(255.0*color[0])<<16) | ((guint32)(255.0*color[1])<<8) | ((guint32)(255.0*color[2])); generate_cmap(); }
void color_changed(GtkWidget *w, GtkColorSelection *colorsel) { gdouble color[3]; gtk_color_selection_get_color(colorsel, color); if(curr_obj < 0) quick_message("No object selected."); aw_object[curr_obj].color[0] = color[0]; aw_object[curr_obj].color[1] = color[1]; aw_object[curr_obj].color[2] = color[2]; aw_object[curr_obj].object_changed = TRUE; gl_redraw_all(); }
void update_color (GtkWidget * crap) { gdouble c[3] = { 0, 0, 0 }; GdkColor *confcol; confcol = current; gtk_color_selection_get_color (GTK_COLOR_SELECTION (blah), c); confcol->red = 65535 * c[0]; confcol->green = 65535 * c[1]; confcol->blue = 65535 * c[2]; return; }
void insert_color (GtkColorSelection *csd) { gdouble Color[3]; gint CurrentPage, Position; gchar *ColorString; CurrentPage = gtk_notebook_get_current_page (GTK_NOTEBOOK(MainNotebook)); if ((!OpenedFilesCnt) || FPROPS(CurrentPage, ReadOnly)) return; gtk_color_selection_get_color (csd, Color); ColorString = g_strdup_printf ("%02x%02x%02x", (guint)(255 * Color[0]), (guint)(255 * Color[1]), (guint)(255 * Color[2])); gtk_editable_delete_selection (GTK_EDITABLE(FPROPS(CurrentPage, Text))); gtk_editable_insert_text (GTK_EDITABLE(FPROPS(CurrentPage, Text)), ColorString, 6, &Position); print_msg ("Insert Color..."); }
static int DoColor( COLORREF *c ){ GtkWidget* dlg; double clr[3]; int loop = 1, ret = IDCANCEL; clr[0] = ( (double)GetRValue( *c ) ) / 255.0; clr[1] = ( (double)GetGValue( *c ) ) / 255.0; clr[2] = ( (double)GetBValue( *c ) ) / 255.0; dlg = gtk_color_selection_dialog_new( "Choose Color" ); gtk_color_selection_set_color( GTK_COLOR_SELECTION( GTK_COLOR_SELECTION_DIALOG( dlg )->colorsel ), clr ); gtk_signal_connect( GTK_OBJECT( dlg ), "delete_event", GTK_SIGNAL_FUNC( dialog_delete_callback ), NULL ); gtk_signal_connect( GTK_OBJECT( dlg ), "destroy", GTK_SIGNAL_FUNC( gtk_widget_destroy ), NULL ); gtk_signal_connect( GTK_OBJECT( GTK_COLOR_SELECTION_DIALOG( dlg )->ok_button ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDOK ) ); gtk_signal_connect( GTK_OBJECT( GTK_COLOR_SELECTION_DIALOG( dlg )->cancel_button ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDCANCEL ) ); g_object_set_data( G_OBJECT( dlg ), "loop", &loop ); g_object_set_data( G_OBJECT( dlg ), "ret", &ret ); gtk_widget_show( dlg ); gtk_grab_add( dlg ); while ( loop ) gtk_main_iteration(); gtk_color_selection_get_color( GTK_COLOR_SELECTION( GTK_COLOR_SELECTION_DIALOG( dlg )->colorsel ), clr ); gtk_grab_remove( dlg ); gtk_widget_destroy( dlg ); if ( ret == IDOK ) { *c = RGB( clr[0] * 255, clr[1] * 255, clr[2] * 255 ); } return ret; }
/* * Apply colour changes and close window. */ static int colour_dialog_ok (GtkButton *button, gpointer user_data) { GtkWidget *colour_dialog = user_data; char tmp_colour[8]; double colour[4]; DEBUG("colour_dialog_ok"); assert (GTK_IS_COLOR_SELECTION_DIALOG (colour_dialog)); gtk_color_selection_get_color (GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (colour_dialog)->colorsel), colour); sprintf (tmp_colour, "#%2.2x%2.2x%2.2x", (int)(colour[0] * 255), (int)(colour[1] * 255),(int)(colour[2] * 255)); gtk_entry_set_text (GTK_ENTRY (colour_entry), tmp_colour); gtk_widget_destroy (colour_dialog); return 0; }
static void configure_ok(GtkWidget *w, gpointer data) { ConfigFile *cfg; gchar *filename; gdouble color[3]; filename = g_strconcat(g_get_home_dir(), "/.xmms/config", NULL); cfg = xmms_cfg_open_file(filename); if (!cfg) cfg = xmms_cfg_new(); gtk_color_selection_get_color(GTK_COLOR_SELECTION(options_colorpicker), color); bscope_cfg.color = ((guint32)(255.0*color[0])<<16) | ((guint32)(255.0*color[1])<<8) | ((guint32)(255.0*color[2])); xmms_cfg_write_int(cfg, "BlurScope", "color", bscope_cfg.color); xmms_cfg_write_file(cfg, filename); xmms_cfg_free(cfg); g_free(filename); generate_cmap(); gtk_widget_destroy(configure_win); }