static gint gsm_color_button_clicked (GtkWidget * widget, GdkEventButton * event) { GSMColorButton *color_button = GSM_COLOR_BUTTON (widget); GtkColorSelectionDialog *color_dialog; /* if dialog already exists, make sure it's shown and raised */ if (!color_button->priv->cs_dialog) { /* Create the dialog and connects its buttons */ GtkWidget *parent; parent = gtk_widget_get_toplevel (GTK_WIDGET (color_button)); color_button->priv->cs_dialog = gtk_color_selection_dialog_new (color_button->priv->title); color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog); if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent)) { if (GTK_WINDOW (parent) != gtk_window_get_transient_for (GTK_WINDOW (color_dialog))) gtk_window_set_transient_for (GTK_WINDOW (color_dialog), GTK_WINDOW (parent)); gtk_window_set_modal (GTK_WINDOW (color_dialog), gtk_window_get_modal (GTK_WINDOW (parent))); } g_signal_connect (color_dialog, "response", G_CALLBACK (dialog_response), color_button); g_signal_connect (color_dialog, "destroy", G_CALLBACK (dialog_destroy), color_button); } color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog); gtk_color_selection_set_previous_color (GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (color_dialog)), &color_button->priv->color); gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (color_dialog)), &color_button->priv->color); gtk_window_present (GTK_WINDOW (color_button->priv->cs_dialog)); return 0; }
bool wxColourDialog::Create(wxWindow *parent, wxColourData *data) { if (data) m_data = *data; m_parent = GetParentForModalDialog(parent, 0); GtkWindow * const parentGTK = m_parent ? GTK_WINDOW(m_parent->m_widget) : NULL; wxString title(_("Choose colour")); m_widget = gtk_color_selection_dialog_new(wxGTK_CONV(title)); g_object_ref(m_widget); if ( parentGTK ) { gtk_window_set_transient_for(GTK_WINDOW(m_widget), parentGTK); } GtkColorSelection* sel = GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(m_widget))); gtk_color_selection_set_has_palette(sel, true); return true; }
static gboolean cb_tsin_cursor_color( GtkWidget *widget, gpointer data ) { GtkWidget *color_selector = gtk_color_selection_dialog_new (_("詞音游標的顏色")); gtk_color_selection_set_current_color( GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(color_selector))), &tsin_cursor_gcolor); #if 0 g_signal_connect (GTK_OBJECT (color_selector->ok_button), "clicked", G_CALLBACK (cb_save_tsin_cursor_color), (gpointer) color_selector); #if 1 g_signal_connect_swapped (GTK_OBJECT (color_selector->ok_button), "clicked", G_CALLBACK (gtk_widget_destroy), (gpointer) color_selector); #endif g_signal_connect_swapped (GTK_OBJECT (color_selector->cancel_button), "clicked", G_CALLBACK (gtk_widget_destroy), (gpointer) color_selector); #endif gtk_widget_show((GtkWidget*)color_selector); #if 1 if (gtk_dialog_run(GTK_DIALOG(color_selector)) == GTK_RESPONSE_OK) cb_save_tsin_cursor_color((GtkWidget *)color_selector, (gpointer) color_selector); gtk_widget_destroy((GtkWidget *)color_selector); #endif return TRUE; }
static void change_color_callback (GtkWidget *button, gpointer data) { GtkWidget *dialog; GtkColorSelection *colorsel; GtkColorSelectionDialog *selection_dialog; gint response; dialog = gtk_color_selection_dialog_new ("Changing color"); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window)); selection_dialog = GTK_COLOR_SELECTION_DIALOG (dialog); colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (selection_dialog)); gtk_color_selection_set_previous_rgba (colorsel, &color); gtk_color_selection_set_current_rgba (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_rgba (colorsel, &color); gtk_widget_override_background_color (da, 0, &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); }
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); }
/** * 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 purplerc_set_color(GtkWidget *widget, gpointer data) { GdkColor color; gchar title[128]; const gchar *pref = NULL; GtkWidget *color_dialog = NULL; gint subscript = GPOINTER_TO_INT(data); g_snprintf(title, sizeof(title), _("Select Color for %s"), _(color_names[GPOINTER_TO_INT(data)])); color_dialog = gtk_color_selection_dialog_new(_("Select Color")); g_signal_connect(G_OBJECT(color_dialog), "response", G_CALLBACK(purplerc_color_response), data); pref = purple_prefs_get_string(color_prefs[subscript]); if (pref != NULL && strcmp(pref, "")) { if (gdk_color_parse(pref, &color)) { #if GTK_CHECK_VERSION(2,14,0) gtk_color_selection_set_current_color(GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(color_dialog))), &color); #else gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel), &color); #endif } } gtk_window_present(GTK_WINDOW(color_dialog)); }
/* void open (in nsIColorPickerShownCallback aColorPickerShownCallback); */ NS_IMETHODIMP nsColorPicker::Open(nsIColorPickerShownCallback *aColorPickerShownCallback) { if (mCallback) { // It means Open has already been called: this is not allowed NS_WARNING("mCallback is already set. Open called twice?"); return NS_ERROR_FAILURE; } mCallback = aColorPickerShownCallback; nsXPIDLCString title; title.Adopt(ToNewUTF8String(mTitle)); GtkWidget *color_chooser = gtk_color_selection_dialog_new(title); GtkWindow *window = GTK_WINDOW(color_chooser); gtk_window_set_modal(window, TRUE); GtkWindow *parent_window = GTK_WINDOW(mParentWidget->GetNativeData(NS_NATIVE_SHELLWIDGET)); if (parent_window) { gtk_window_set_transient_for(window, parent_window); gtk_window_set_destroy_with_parent(window, TRUE); } gtk_color_selection_set_current_color( GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(color_chooser))), &mDefaultColor); NS_ADDREF_THIS(); g_signal_connect(color_chooser, "response", G_CALLBACK(OnResponse), this); g_signal_connect(color_chooser, "destroy", G_CALLBACK(OnDestroy), this); gtk_widget_show(color_chooser); return NS_OK; }
bool wxColourDialog::Create(wxWindow *parent, wxColourData *data) { if (data) m_data = *data; m_parent = GetParentForModalDialog(parent, 0); GtkWindow * const parentGTK = m_parent ? GTK_WINDOW(m_parent->m_widget) : NULL; #if wxUSE_LIBHILDON m_widget = hildon_color_selector_new(parentGTK); #elif wxUSE_LIBHILDON2 // !wxUSE_LIBHILDON m_widget = hildon_color_chooser_dialog_new(); #else // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 wxString title(_("Choose colour")); m_widget = gtk_color_selection_dialog_new(wxGTK_CONV(title)); #endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON g_object_ref(m_widget); if ( parentGTK ) { gtk_window_set_transient_for(GTK_WINDOW(m_widget), parentGTK); } #if !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 GtkColorSelection* sel = GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(m_widget))); gtk_color_selection_set_has_palette(sel, true); #endif // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 return true; }
void ColorToolItem::activated(GdkEvent *event, GtkMenuItem *menuitem, GtkToolButton *toolbutton) { XOJ_CHECK_TYPE(ColorToolItem); if (inUpdate) { return; } inUpdate = true; if (isSelector()) { this->colorDlg = gtk_color_selection_dialog_new(_("Select color")); g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(this->colorDlg)->ok_button), "clicked", G_CALLBACK(&customColorSelected), this); GdkColor color = Util::intToGdkColor(this->color); GtkWidget* cw = gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(this->colorDlg)); gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(cw), &color); gtk_window_set_transient_for(GTK_WINDOW (this->colorDlg), GTK_WINDOW (this->parent)); gtk_dialog_run(GTK_DIALOG(this->colorDlg)); gtk_widget_destroy(this->colorDlg); this->colorDlg = NULL; } toolHandler->setColor(this->color); inUpdate = false; }
void wxColourDialog::ColourDataToDialog() { GtkColorSelection* sel = GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(m_widget))); const wxColour& color = m_data.GetColour(); if (color.IsOk()) { #ifdef __WXGTK3__ gtk_color_selection_set_current_rgba(sel, color); #else gtk_color_selection_set_current_color(sel, color.GetColor()); #endif } // setup the palette: GdkColor colors[wxColourData::NUM_CUSTOM]; gint n_colors = 0; for (unsigned i = 0; i < WXSIZEOF(colors); i++) { wxColour c = m_data.GetCustomColour(i); if (c.IsOk()) { colors[n_colors] = *c.GetColor(); n_colors++; } } wxGtkString pal(gtk_color_selection_palette_to_string(colors, n_colors)); GtkSettings *settings = gtk_widget_get_settings(GTK_WIDGET(sel)); g_object_set(settings, "gtk-color-palette", pal.c_str(), NULL); }
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 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 }
/** * Print the color currently selected by a color selection dialog. * @param dialog selection dialog to print information about */ void mk_print_GtkColorSelectionDialog_info(GtkColorSelectionDialog* dialog) { #if GTK_CHECK_VERSION(2,14,0) GtkColorSelection* color_sel; color_sel = (GtkColorSelection*) gtk_color_selection_dialog_get_color_selection(dialog); mk_print_GtkColorSelection_info(color_sel); #endif }
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(); }
void wxColourDialog::ColourDataToDialog() { #if wxUSE_LIBHILDON || wxUSE_LIBHILDON2 const GdkColor * const col = m_data.GetColour().IsOk() ? m_data.GetColour().GetColor() : NULL; #endif #if wxUSE_LIBHILDON HildonColorSelector * const sel = HILDON_COLOR_SELECTOR(m_widget); hildon_color_selector_set_color(sel, const_cast<GdkColor *>(col)); #elif wxUSE_LIBHILDON2 GdkColor clr; if (col) clr = *col; else { clr.pixel = 0; clr.red = 32768; clr.green = 32768; clr.blue = 32768; } hildon_color_chooser_dialog_set_color((HildonColorChooserDialog *)m_widget, &clr); #else // !wxUSE_LIBHILDON2/!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 GtkColorSelection* sel = GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(m_widget))); const wxColour& c = m_data.GetColour(); if (c.IsOk()) { #ifdef __WXGTK3__ gtk_color_selection_set_current_rgba(sel, c); #else gtk_color_selection_set_current_color(sel, c.GetColor()); #endif } // setup the palette: GdkColor colors[wxColourData::NUM_CUSTOM]; gint n_colors = 0; for (unsigned i = 0; i < WXSIZEOF(colors); i++) { wxColour c = m_data.GetCustomColour(i); if (c.IsOk()) { colors[n_colors] = *c.GetColor(); n_colors++; } } wxGtkString pal(gtk_color_selection_palette_to_string(colors, n_colors)); GtkSettings *settings = gtk_widget_get_settings(GTK_WIDGET(sel)); g_object_set(settings, "gtk-color-palette", pal.c_str(), NULL); #endif // wxUSE_LIBHILDON / wxUSE_LIBHILDON2 /!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 }
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); }
GtkToolkitColorChooser::GtkToolkitColorChooser() : m_dialog(NULL) , m_color_selector(NULL) , m_color(0x0) { m_dialog = gtk_color_selection_dialog_new( NULL /* gchar *title */ ); m_color_selector = gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG(m_dialog)); }
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)); }
static gboolean handle_color_sel (GtkColorSelectionDialog *dialog, gint response_id, GOColor *res) { if (response_id == GTK_RESPONSE_OK) { GdkRGBA gdk; GtkColorSelection *colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (dialog)); gtk_color_selection_get_current_rgba (colorsel, &gdk); *res = GO_COLOR_FROM_GDK_RGBA (gdk); } /* destroy _before_ we emit */ gtk_widget_destroy (GTK_WIDGET (dialog)); return response_id == GTK_RESPONSE_OK; }
static void colorpick_callback (GtkDarktableButton *button, gpointer user_data) { dt_iop_module_t *self = (dt_iop_module_t *)user_data; dt_iop_splittoning_gui_data_t *g = (dt_iop_splittoning_gui_data_t *)self->gui_data; if(self->dt->gui->reset) return; dt_iop_splittoning_params_t *p = (dt_iop_splittoning_params_t *)self->params; GtkColorSelectionDialog *csd = GTK_COLOR_SELECTION_DIALOG(gtk_color_selection_dialog_new(_("select tone color"))); gtk_window_set_transient_for(GTK_WINDOW(csd), GTK_WINDOW(dt_ui_main_window(darktable.gui->ui))); GtkWidget *okButton, *cancelButton = 0; g_object_get(G_OBJECT(csd), "ok-button", &okButton, NULL); g_object_get(G_OBJECT(csd), "cancel-button", &cancelButton, NULL); g_signal_connect (G_OBJECT (okButton), "clicked", G_CALLBACK (colorpick_button_callback), csd); g_signal_connect (G_OBJECT (cancelButton), "clicked", G_CALLBACK (colorpick_button_callback), csd); GtkColorSelection *cs = GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(csd)); GdkColor c; float color[3],h,s,l; h=(button==g->colorpick1)?p->shadow_hue:p->highlight_hue; s=(button==g->colorpick1)?p->shadow_saturation:p->highlight_saturation; l=0.5; hsl2rgb(color,h,s,l); c.red= 65535 * color[0]; c.green= 65535 * color[1]; c.blue= 65535 * 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); color[0]=c.red/65535.0; color[1]=c.green/65535.0; color[2]=c.blue/65535.0; rgb2hsl(color,&h,&s,&l); l=0.5; hsl2rgb(color,h,s,l); dt_bauhaus_slider_set( (button==g->colorpick1)? g->gslider1: g->gslider3 ,h ); dt_bauhaus_slider_set( (button==g->colorpick1)? g->gslider2: g->gslider4 ,s ); } gtk_widget_destroy(GTK_WIDGET(csd)); dt_dev_add_history_item(darktable.develop, self, TRUE); }
static void colorpick_callback (GtkDarktableButton *button, gpointer user_data) { dt_iop_module_t *self = (dt_iop_module_t *)user_data; dt_iop_colorize_gui_data_t *g = (dt_iop_colorize_gui_data_t *)self->gui_data; if(self->dt->gui->reset) return; dt_iop_colorize_params_t *p = (dt_iop_colorize_params_t *)self->params; GtkColorSelectionDialog *csd = GTK_COLOR_SELECTION_DIALOG(gtk_color_selection_dialog_new(_("select tone color"))); 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; float color[3],h,s,l; h = p->hue; s = p->saturation; l=0.5; hsl2rgb(color,h,s,l); c.red= 65535 * color[0]; c.green= 65535 * color[1]; c.blue= 65535 * 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); color[0]=c.red/65535.0; color[1]=c.green/65535.0; color[2]=c.blue/65535.0; rgb2hsl(color,&h,&s,&l); l=0.5; hsl2rgb(color,h,s,l); dtgtk_gradient_slider_set_value(g->gslider1, h); dtgtk_gradient_slider_set_value(g->gslider2, s); } gtk_widget_destroy(GTK_WIDGET(csd)); dt_dev_add_history_item(darktable.develop, self, TRUE); }
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)) { #if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */ # pragma ivdep # pragma swp # pragma unroll # pragma prefetch # if 0 # pragma simd noassert # endif #endif /* VDM auto patch */ 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); }
int DIA_colorSel(uint8_t *r, uint8_t *g, uint8_t *b) { GtkWidget *dialog = gtk_color_selection_dialog_new(QT_TR_NOOP("Select Color")); int ret = 0; GdkColor color; color.red = *r<<8; color.green = *g<<8; color.blue = *b<<8; GtkWidget *sel = gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(dialog)); gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(sel), &color); if(GTK_RESPONSE_OK == gtk_dialog_run(GTK_DIALOG(dialog))) { gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(sel), &color); *r = color.red>>8; *g = color.green>>8; *b = color.blue>>8; ret = 1; }
static GtkWidget * create_color_sel (GObject *action_proxy, GOColor c, GCallback handler, gboolean allow_alpha) { char *title = g_object_get_data (G_OBJECT (action_proxy), "title"); GtkWidget *w = gtk_color_selection_dialog_new (title), *hb; GtkColorSelectionDialog *dialog = GTK_COLOR_SELECTION_DIALOG (w); GtkColorSelection *colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (dialog)); GdkRGBA gdk; g_object_get (G_OBJECT (w), "help-button", &hb, NULL); gtk_widget_hide (hb); gtk_color_selection_set_has_opacity_control (colorsel, allow_alpha); gtk_color_selection_set_current_rgba (colorsel, go_color_to_gdk_rgba (c, &gdk)); g_signal_connect_object (dialog, "response", handler, action_proxy, 0); /* require an explicit show _after_ the custom-dialog signal fires */ return w; }
static void frame_colorpick_callback (GtkDarktableButton *button, dt_iop_module_t *self) { if(self->dt->gui->reset) return; dt_iop_borders_gui_data_t *g = (dt_iop_borders_gui_data_t *)self->gui_data; dt_iop_borders_params_t *p = (dt_iop_borders_params_t *)self->params; // turn off the other color picker so that this tool actually works ... gtk_toggle_button_set_active(g->frame_picker, FALSE); gtk_toggle_button_set_active(g->border_picker, FALSE); GtkColorSelectionDialog *csd = GTK_COLOR_SELECTION_DIALOG(gtk_color_selection_dialog_new(_("select frame line color"))); gtk_window_set_transient_for(GTK_WINDOW(csd), GTK_WINDOW(dt_ui_main_window(darktable.gui->ui))); GtkWidget *okButton, *cancelButton = 0; g_object_get(G_OBJECT(csd), "ok-button", &okButton, NULL); g_object_get(G_OBJECT(csd), "cancel-button", &cancelButton, NULL); g_signal_connect (G_OBJECT (okButton), "clicked", G_CALLBACK (colorpick_button_callback), csd); g_signal_connect (G_OBJECT (cancelButton), "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->frame_color[0]; c.green = 65535 * p->frame_color[1]; c.blue = 65535 * p->frame_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->frame_color[0] = c.red /65535.0; p->frame_color[1] = c.green/65535.0; p->frame_color[2] = c.blue /65535.0; gtk_widget_modify_fg(GTK_WIDGET(g->frame_colorpick), GTK_STATE_NORMAL, &c); } gtk_widget_destroy(GTK_WIDGET(csd)); dt_dev_add_history_item(darktable.develop, self, TRUE); }
void SelectBackgroundColorDialog::buttonSelectedCallback(GtkButton* button, ColorEntry* e) { XOJ_CHECK_TYPE_OBJ(e, ColorEntry); e->dlg->selected = e->color; if (e->custom) { if (e->color == -1 && e->dlg->colorDlg) { GdkColor color = { 0 }; GtkWidget* cw = gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(e->dlg->colorDlg)); gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(cw), &color); e->dlg->selected = (color.red / 256) << 16 | (color.green / 256) << 8 | (color.blue / 256); } e->dlg->updateLastUsedColors(); } gtk_widget_hide(e->dlg->window); }
static gboolean cb_hime_win_color( GtkWidget *widget, gpointer data) { COLORSEL *sel = (COLORSEL *)data; GtkWidget *color_selector = gtk_color_selection_dialog_new (_(sel->title)); gdk_color_parse(*sel->color_str, sel->color); gtk_color_selection_set_current_color( GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(color_selector))), sel->color); sel->color_selector = color_selector; gtk_widget_show((GtkWidget*)color_selector); if (gtk_dialog_run(GTK_DIALOG(color_selector)) == GTK_RESPONSE_OK) cb_save_hime_win_color((GtkWidget *)color_selector, (gpointer) sel); gtk_widget_destroy(color_selector); return TRUE; }