void wxColourDialog::DialogToColourData() { GtkColorSelection* sel = GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(m_widget))); #ifdef __WXGTK3__ GdkRGBA clr; gtk_color_selection_get_current_rgba(sel, &clr); #else GdkColor clr; gtk_color_selection_get_current_color(sel, &clr); #endif m_data.SetColour(clr); // Extract custom palette: GtkSettings *settings = gtk_widget_get_settings(GTK_WIDGET(sel)); gchar *pal; g_object_get(settings, "gtk-color-palette", &pal, NULL); GdkColor *colors; gint n_colors; if (gtk_color_selection_palette_from_string(pal, &colors, &n_colors)) { for (int i = 0; i < n_colors && i < wxColourData::NUM_CUSTOM; i++) { m_data.SetCustomColour(i, wxColour(colors[i])); } g_free(colors); } g_free(pal); }
void select_color (GtkButton *widget, gpointer user_data) { GtkColorSelectionDialog* dialog = GTK_COLOR_SELECTION_DIALOG(gtk_color_selection_dialog_new("Select Color")); //todo put the old color selection in gint result = gtk_dialog_run(GTK_DIALOG(dialog)); // if(result == GTK_RESPONSE_OK) { select_color_info* info = (select_color_info*)user_data; GtkColorSelection* colsel = GTK_COLOR_SELECTION(dialog->colorsel); GdkColor* sel_color = malloc(sizeof(GdkColor)); gtk_color_selection_get_current_color(colsel, sel_color); GeglColor* color = gegl_color_new(NULL); gegl_color_set_rgba(color, (double)sel_color->red/65535.0, (double)sel_color->green/65535.0, (double)sel_color->blue/65535.0, (double)gtk_color_selection_get_current_alpha(colsel)/65535.0); free(sel_color); gegl_node_set(info->node, info->property, color, NULL); refresh_images(info->layer); } gtk_widget_destroy(GTK_WIDGET(dialog)); }
static void color_ok_sel( GtkWidget *widget, gpointer cb_data ) { PXWT_GTK_MODAL xwtFilew = (PXWT_GTK_MODAL) ((PXWT_WIDGET)cb_data)->widget_data; HB_ITEM itmFileName; GdkColor color; GtkColorSelection *colorsel; char fname[8]; // this builds the Self object // If you use this macro, you must put it AFTER variable decl, // and BEFORE any other statement XWT_GTK_MAKESELF( (((PXWT_WIDGET)cb_data)->owner) ); colorsel = GTK_COLOR_SELECTION( GTK_COLOR_SELECTION_DIALOG( xwtFilew->a.main_widget )->colorsel ); gtk_color_selection_get_current_color( colorsel, &color ); hb_snprintf( fname, sizeof( fname ), "#%2ix%2ix%2ix", color.red, color.green, color.blue ); // itemPutC uses the char* parameter as it were const: it does not // mangles with that, it just creates a new local copy of the param. hb_itemPutC( &itmFileName, ( char *) fname ); //rising the updated event, to signal that we have a candidate filename xwt_rise_event( &Self, XWT_E_UPDATED, 1, &itmFileName ); // now we can reset the modal status xwtFilew->modal = FALSE; }
//------------------------- Color Selection ----------------------------------- // Open Dlg for color selection return true, if color changed bool showColorBox(const std::string &title, GdkColor &colorInOut, GtkWidget *transient_widget/*=NULL*/) { GtkWidget *dialog; GtkColorSelection *colorsel; gint response; dialog = gtk_color_selection_dialog_new (title.c_str()); // Make transient if necessary if (transient_widget) { GtkWidget *toplevel = getToplevel(transient_widget); if (toplevel && GTK_IS_WINDOW (toplevel) && GTK_WIDGET_MAPPED (toplevel)) gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (toplevel)); } colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (dialog)->colorsel); gtk_color_selection_set_previous_color (colorsel, &colorInOut); gtk_color_selection_set_current_color (colorsel, &colorInOut); gtk_color_selection_set_has_palette (colorsel, TRUE); response = runModalBox(dialog); if (response == GTK_RESPONSE_OK) { gtk_color_selection_get_current_color (colorsel,&colorInOut); } gtk_widget_destroy (dialog); return (response == GTK_RESPONSE_OK); }
Vector3 LightDialog::getNormalizedColor () { GdkColor gdkcolor; Vector3 color; gtk_color_selection_get_current_color(_colorSelector, &gdkcolor); color[0] = (float) gdkcolor.red / 65535.0; color[1] = (float) gdkcolor.green / 65535.0; color[2] = (float) gdkcolor.blue / 65535.0; float largest = 0.0F; if (color[0] > largest) largest = color[0]; if (color[1] > largest) largest = color[1]; if (color[2] > largest) largest = color[2]; if (largest == 0.0F) { color[0] = 1.0F; color[1] = 1.0F; color[2] = 1.0F; } else { const float scaler = 1.0F / largest; color[0] *= scaler; color[1] *= scaler; color[2] *= scaler; } return color; }
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; }
void changeFace(GtkButton* button,GtkButton* window) { GtkWidget *dialog; GtkColorSelection *colorsel; gint response; GdkColor color; dialog = gtk_color_selection_dialog_new("Ñ¡Ôñ±³¾°ÑÕÉ«"); gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(window)); colorsel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dialog)->colorsel); gtk_color_selection_set_has_opacity_control(colorsel,TRUE); gtk_color_selection_set_has_palette(colorsel,TRUE); gtk_signal_connect(GTK_OBJECT(dialog),"destroy",GTK_SIGNAL_FUNC(gtk_widget_destroy),&dialog); gtk_color_selection_set_previous_color(colorsel,&color); gtk_color_selection_set_current_color(colorsel,&color); response = gtk_dialog_run(GTK_DIALOG(dialog)); if (response == GTK_RESPONSE_OK) { gtk_color_selection_get_current_color (colorsel, &color); gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &color); } gtk_widget_destroy(dialog); }
static void colorpicker_callback (GtkDarktableButton *button, dt_iop_module_t *self) { if(self->dt->gui->reset) return; dt_iop_invert_gui_data_t *g = (dt_iop_invert_gui_data_t *)self->gui_data; dt_iop_invert_params_t *p = (dt_iop_invert_params_t *)self->params; GtkColorSelectionDialog *csd = GTK_COLOR_SELECTION_DIALOG(gtk_color_selection_dialog_new(_("select color of film material"))); gtk_window_set_transient_for(GTK_WINDOW(csd), GTK_WINDOW(dt_ui_main_window(darktable.gui->ui))); g_signal_connect (G_OBJECT (csd->ok_button), "clicked", G_CALLBACK (colorpick_button_callback), csd); g_signal_connect (G_OBJECT (csd->cancel_button), "clicked", G_CALLBACK (colorpick_button_callback), csd); GtkColorSelection *cs = GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(csd)); GdkColor c; c.red = 65535 * p->color[0]; c.green = 65535 * p->color[1]; c.blue = 65535 * p->color[2]; gtk_color_selection_set_current_color(cs, &c); if(gtk_dialog_run(GTK_DIALOG(csd)) == GTK_RESPONSE_ACCEPT) { gtk_color_selection_get_current_color(cs, &c); p->color[0] = c.red /65535.0; p->color[1] = c.green/65535.0; p->color[2] = c.blue /65535.0; gtk_widget_modify_fg(GTK_WIDGET(g->colorpicker), GTK_STATE_NORMAL, &c); } gtk_widget_destroy(GTK_WIDGET(csd)); dt_dev_add_history_item(darktable.develop, self, TRUE); }
bool GtkToolkitColorChooser::Show(X11Types::Window parent, uint32_t initial_color) { GdkColor old_color = GtkUtils::ColorrefToGdkColor(initial_color); gtk_color_selection_set_current_color ( GTK_COLOR_SELECTION(m_color_selector), &old_color); // we have to show dialog before running it gtk_widget_show(m_dialog); // otherwise this will result in nasty crash inside gtk XSetTransientForHint(GDK_WINDOW_XDISPLAY(gtk_widget_get_window(m_dialog)), GDK_WINDOW_XID(gtk_widget_get_window(m_dialog)), parent); GtkUtils::SetResourceName(m_dialog, "colorselectordialog"); gint result = gtk_dialog_run(GTK_DIALOG(m_dialog)); GdkColor new_color; gtk_color_selection_get_current_color( GTK_COLOR_SELECTION(m_color_selector), &new_color); m_color = GtkUtils::GdkColorToColorref(&new_color); gtk_widget_destroy (m_dialog); GtkUtils::ProcessEvents(); return (GTK_RESPONSE_OK == result); }
int DIA_colorSel(uint8_t *r, uint8_t *g, uint8_t *b) { GtkWidget *dialog; int ret=0; GdkColor color; dialog=create_colorselectiondialog1(); color.red=*r<<8; color.green=*g<<8; color.blue=*b<<8; gtk_color_selection_set_current_color (GTK_COLOR_SELECTION(WID(color_selection1)),&color); if(GTK_RESPONSE_OK==gtk_dialog_run(GTK_DIALOG(dialog))) { gtk_color_selection_get_current_color (GTK_COLOR_SELECTION(WID(color_selection1)),&color); *r=color.red>>8; *g=color.green>>8; *b=color.blue>>8; ret=1; }
static void colsel_ok_clicked_lcb(GtkWidget *widget, Tcolsel *csd) { gchar *tmpstr; GdkColor gcolor; /* only on a OK click we do the setcolor thing */ gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(csd->csel), &gcolor); tmpstr = gdk_color_to_hexstring(&gcolor, FALSE); if (csd->bfwin) { csd->bfwin->session->colorlist = add_to_stringlist(csd->bfwin->session->colorlist, tmpstr); } if (csd->is_modal) { g_free(csd->returnval); csd->returnval = tmpstr; gtk_main_quit(); } else { if (string_is_color(tmpstr)) { if (csd->startpos || csd->endpos) { DEBUG_MSG("colsel_ok_clicked_lcb, replacing with %s\n", tmpstr); doc_replace_text(csd->bfwin->current_document, tmpstr, csd->startpos, csd->endpos); } else { DEBUG_MSG("colsel_ok_clicked_lcb, inserting %s\n", tmpstr); doc_insert_two_strings(csd->bfwin->current_document,tmpstr, NULL); } } g_free(tmpstr); window_destroy(csd->win); } }
static void change_color(GtkWidget *button, t_global_monitor *global, gint type) { GtkWidget *dialog; GtkColorSelection *colorsel; gint response; dialog = gtk_color_selection_dialog_new(_("Select color")); gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(global->opt_dialog)); colorsel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dialog)->colorsel); gtk_color_selection_set_previous_color(colorsel, &global->monitor->options.color[type]); gtk_color_selection_set_current_color(colorsel, &global->monitor->options.color[type]); gtk_color_selection_set_has_palette(colorsel, TRUE); response = gtk_dialog_run(GTK_DIALOG(dialog)); if (response == GTK_RESPONSE_OK) { gtk_color_selection_get_current_color(colorsel, &global->monitor->options.color[type]); gtk_widget_modify_bg(global->monitor->opt_da[type], GTK_STATE_NORMAL, &global->monitor->options.color[type]); setup_monitor(global); } gtk_widget_destroy(dialog); }
static void dialog_response (GtkWidget * widget, GtkResponseType response, gpointer data) { GSMColorButton *color_button = GSM_COLOR_BUTTON (data); GtkColorSelection *color_selection; if (response == GTK_RESPONSE_OK) { color_selection = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog))); gtk_color_selection_get_current_color (color_selection, &color_button->priv->color); gtk_widget_hide (color_button->priv->cs_dialog); gtk_widget_queue_draw (GTK_WIDGET (&color_button->widget)); g_signal_emit (color_button, color_button_signals[COLOR_SET], 0); g_object_freeze_notify (G_OBJECT (color_button)); g_object_notify (G_OBJECT (color_button), "color"); g_object_thaw_notify (G_OBJECT (color_button)); } else /* (response == GTK_RESPONSE_CANCEL) */ gtk_widget_hide (color_button->priv->cs_dialog); }
static void change_color_cb(GtkWidget *button, t_sload *sload) { GtkWidget *dialog; GtkColorSelection *colorsel; gint response; dialog = gtk_color_selection_dialog_new("Select color"); gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(sload->opt_dialog)); colorsel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dialog)->colorsel); gtk_color_selection_set_previous_color(colorsel, &sload->options.color); gtk_color_selection_set_current_color(colorsel, &sload->options.color); gtk_color_selection_set_has_palette(colorsel, TRUE); response = gtk_dialog_run(GTK_DIALOG(dialog)); if (response == GTK_RESPONSE_OK) { gtk_color_selection_get_current_color(colorsel, &sload->options.color); gtk_widget_modify_bg(sload->opt_da, GTK_STATE_NORMAL, &sload->options.color); setup_sload(sload); } gtk_widget_destroy(dialog); }
static void color_changed(GtkColorSelection *widget, gpointer *user_data) { int id = (int) g_object_get_data(G_OBJECT(widget),"selected"); GtkComboBox *combo = (GtkComboBox *) g_object_get_data(G_OBJECT(widget),"combo"); Trace("Color(%d) changed",id); if(id < 0 || id >= TERMINAL_COLOR_COUNT) return; gtk_color_selection_get_current_color(widget,color+id); gdk_colormap_alloc_color(gtk_widget_get_default_colormap(),color+id,TRUE,TRUE); if(gtk_combo_box_get_active(combo)) { gtk_combo_box_set_active(combo,0); } else { if(id >= TERMINAL_COLOR_OIA) oia_release_pixmaps(); update_terminal_contents(); gtk_widget_queue_draw(terminal); } }
/** * uber_label_block_button_press_event: * @widget: A #GtkWidget. * @event: A #GdkEventButton. * @label: An #UberLabel. * * Callback to handle a button press event within the colored block. * * Returns: %FALSE always to allow further signal emission. * Side effects: None. */ static gboolean uber_label_block_button_press_event (GtkWidget *widget, /* IN */ GdkEventButton *event, /* IN */ UberLabel *label) /* IN */ { UberLabelPrivate *priv; GtkWidget *dialog; GtkWidget *selection; g_return_val_if_fail(UBER_IS_LABEL(label), FALSE); priv = label->priv; dialog = gtk_color_selection_dialog_new(""); selection = gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(dialog)); gtk_color_selection_set_current_color( GTK_COLOR_SELECTION(selection), &priv->color); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) { gtk_color_selection_get_current_color( GTK_COLOR_SELECTION(selection), &priv->color); gtk_widget_queue_draw(widget); g_signal_emit(label, signals[COLOR_CHANGED], 0, &priv->color); } gtk_widget_destroy(dialog); return FALSE; }
static void change_color_callback (GtkWidget *button, gpointer data) { GtkWidget *dialog; GtkColorSelection *colorsel; gint response; dialog = gtk_color_selection_dialog_new ("Changing color"); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window)); colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (dialog)->colorsel); gtk_color_selection_set_previous_color (colorsel, &color); gtk_color_selection_set_current_color (colorsel, &color); gtk_color_selection_set_has_palette (colorsel, TRUE); response = gtk_dialog_run (GTK_DIALOG (dialog)); if (response == GTK_RESPONSE_OK) { gtk_color_selection_get_current_color (colorsel, &color); gtk_widget_modify_bg (da, GTK_STATE_NORMAL, &color); } gtk_widget_destroy (dialog); }
void wxColourDialog::DialogToColourData() { #if wxUSE_LIBHILDON HildonColorSelector * const sel = HILDON_COLOR_SELECTOR(m_widget); const GdkColor * const clr = hildon_color_selector_get_color(sel); if ( clr ) m_data.SetColour(*clr); #elif wxUSE_LIBHILDON2 // !wxUSE_LIBHILDON const GdkColor * const col = m_data.GetColour().IsOk() ? m_data.GetColour().GetColor() : NULL; GdkColor clr; if (col) clr = *col; else { clr.pixel = 0; clr.red = 32768; clr.green = 32768; clr.blue = 32768; } GdkColor new_color = clr; hildon_color_chooser_dialog_get_color((HildonColorChooserDialog *)m_widget, &new_color); m_data.SetColour(new_color); #else // !wxUSE_LIBHILDON2 GtkColorSelection* sel = GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(m_widget))); #ifdef __WXGTK3__ GdkRGBA clr; gtk_color_selection_get_current_rgba(sel, &clr); #else GdkColor clr; gtk_color_selection_get_current_color(sel, &clr); #endif m_data.SetColour(clr); // Extract custom palette: GtkSettings *settings = gtk_widget_get_settings(GTK_WIDGET(sel)); gchar *pal; g_object_get(settings, "gtk-color-palette", &pal, NULL); GdkColor *colors; gint n_colors; if (gtk_color_selection_palette_from_string(pal, &colors, &n_colors)) { for (int i = 0; i < n_colors && i < wxColourData::NUM_CUSTOM; i++) { m_data.SetCustomColour(i, wxColour(colors[i])); } g_free(colors); } g_free(pal); #endif // wxUSE_LIBHILDON / wxUSE_LIBHILDON2 /!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 }
void GTKColourSelectionDialog::GetColour(char *R, char *G, char *B) { GdkColor col; gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(Selector->colorsel), &col); *R = round(double(col.red) / 257.0); *G = round(double(col.green) / 257.0); *B = round(double(col.blue) / 257.0); }
void hyphy_store_color (GtkWidget *widget, gpointer user_data) { _HYColor *color_ref = (_HYColor*)user_data; GdkColor newColor; gtk_color_selection_get_current_color (GTK_COLOR_SELECTION(widget),&newColor); *color_ref = (_HYColor) { newColor.red/256,newColor.green/256,newColor.blue/256 }; }
static void cb_save_hime_win_color(GtkWidget *widget, gpointer user_data) { COLORSEL *sel = (COLORSEL *)user_data; GtkWidget *color_selector = sel->color_selector; gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(color_selector))), sel->color); *sel->color_str = gtk_color_selection_palette_to_string(sel->color, 1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_hime_win_color_use), TRUE); disp_win_sample(); }
/** * Print the color currently selected in a color selection widget. * @param color_selection color selection widget to print information about */ void mk_print_GtkColorSelection_info(GtkColorSelection* color_selection) { GdkColor color; gtk_color_selection_get_current_color(color_selection, &color); guint16 alpha = gtk_color_selection_get_current_alpha(color_selection); g_printf("\t%d,%d,%d,%d", color.red, color.green, color.blue, alpha); }
void set_colour_widget(GtkWidget *cs, GtkWidget *w) { GdkColor colour; if (GTK_IS_WIDGET(cs)) gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(cs), &colour); if (GTK_IS_WIDGET(w)) gtk_widget_modify_bg(w, GTK_STATE_NORMAL, &colour); }
void ColorToolItem::selectColor() { XOJ_CHECK_TYPE(ColorToolItem); GdkColor color = { 0 }; GtkWidget * cw = gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(this->colorDlg)); gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(cw), &color); this->color = Util::gdkColorToInt(color); }
void nsColorPicker::ReadValueFromColorSelection(GtkColorSelection* colorselection) { GdkColor rgba; gtk_color_selection_get_current_color(colorselection, &rgba); mColor.Assign('#'); mColor += ToHexString(convertGdkColorComponent(rgba.red)); mColor += ToHexString(convertGdkColorComponent(rgba.green)); mColor += ToHexString(convertGdkColorComponent(rgba.blue)); }
void set_colour_value(GtkWidget *cs, gdouble *x) { GdkColor colour; gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(cs), &colour); x[0] = colour.red; x[1] = colour.green; x[2] = colour.blue; VEC3MUL(x, 1.0/65535.0); }
static void set_axis_color(GtkColorSelection *Sel,gpointer *d) { GdkColor color; gdouble *v = g_object_get_data(G_OBJECT (Sel), "Color"); gtk_color_selection_get_current_color(Sel,&color); v[0] =color.red/65535.0; v[1] =color.green/65535.0; v[2] =color.blue/65535.0; }
static void cb_save_tsin_phrase_line_color(GtkWidget *widget, gpointer user_data) { GtkColorSelectionDialog *color_selector = (GtkColorSelectionDialog *)user_data; gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(color_selector)), &tsin_phrase_line_gcolor); #if !GTK_CHECK_VERSION(2,91,6) gtk_widget_modify_bg(da_phrase_line, GTK_STATE_NORMAL, &tsin_phrase_line_gcolor); #else GdkRGBA rgbbg; gdk_rgba_parse(&rgbbg, gdk_color_to_string(&tsin_phrase_line_gcolor)); gtk_widget_override_background_color(da_phrase_line, GTK_STATE_FLAG_NORMAL, &rgbbg); #endif }
void nsColorPicker::ReadValueFromColorChooser(GtkWidget* color_chooser) { GdkColor rgba; gtk_color_selection_get_current_color( GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(color_chooser))), &rgba); mColor.AssignLiteral("#"); mColor += ToHexString(convertGdkColorComponent(rgba.red)); mColor += ToHexString(convertGdkColorComponent(rgba.green)); mColor += ToHexString(convertGdkColorComponent(rgba.blue)); }
void color_print_result (void) { GdkColor c; gchar *cs; gtk_color_selection_get_current_color (GTK_COLOR_SELECTION (color), &c); cs = gdk_color_to_string (&c); if (options.color_data.extra) g_print ("%s\n", cs); else g_printf ("#%c%c%c%c%c%c\n", cs[1], cs[2], cs[5], cs[6], cs[9], cs[10]); g_free (cs); }