示例#1
0
/* A new color was chosen at color button */
static void _plugin_on_color_button_color_chosen(GtkColorButton *inButton,
													gpointer inUserData)
{
	GdkRGBA							widgetColor;
	ClutterColor					settingsColor;
	PluginWidgetSettingsMap			*mapping;

	g_return_if_fail(GTK_IS_COLOR_BUTTON(inButton));

	/* Get color from color button */
#if GTK_CHECK_VERSION(3, 4, 0)
	gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(inButton), &widgetColor);
#else
	gtk_color_button_get_rgba(inButton, &widgetColor);
#endif

	/* Convert color for settings */
	settingsColor.red=MIN(255, (gint)(widgetColor.red*255.0f));
	settingsColor.green=MIN(255, (gint)(widgetColor.green*255.0f));
	settingsColor.blue=MIN(255, (gint)(widgetColor.blue*255.0f));
	settingsColor.alpha=MIN(255, (gint)(widgetColor.alpha*255.0f));

	/* Set converted color at settings */
	mapping=(PluginWidgetSettingsMap*)g_object_get_data(G_OBJECT(inButton), CONFIGURATION_MAPPING);
	if(mapping) g_object_set(G_OBJECT(mapping->settings), mapping->property, &settingsColor, NULL);
}
示例#2
0
static void
gtk_color_button_get_property (GObject    *object,
                               guint       param_id,
                               GValue     *value,
                               GParamSpec *pspec)
{
  GtkColorButton *button = GTK_COLOR_BUTTON (object);

  switch (param_id)
    {
    case PROP_USE_ALPHA:
      g_value_set_boolean (value, gtk_color_button_get_use_alpha (button));
      break;
    case PROP_TITLE:
      g_value_set_string (value, gtk_color_button_get_title (button));
      break;
    case PROP_COLOR:
      {
        GdkColor color;
        GdkRGBA rgba;

        gtk_color_button_get_rgba (button, &rgba);

        color.red = (guint16) (rgba.red * 65535 + 0.5);
        color.green = (guint16) (rgba.green * 65535 + 0.5);
        color.blue = (guint16) (rgba.blue * 65535 + 0.5);

        g_value_set_boxed (value, &color);
      }
      break;
    case PROP_ALPHA:
      g_value_set_uint (value, gtk_color_button_get_alpha (button));
      break;
    case PROP_RGBA:
      {
        GdkRGBA rgba;

        gtk_color_button_get_rgba (button, &rgba);
        g_value_set_boxed (value, &rgba);
      }
      break;
    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
      break;
    }
}
示例#3
0
static void color_set_cb (GtkWidget * chooser)
{
    GdkRGBA rgba;
    gtk_color_button_get_rgba ((GtkColorButton *) chooser, & rgba);

    int red = round (rgba.red * 255);
    int green = round (rgba.green * 255);
    int blue = round (rgba.blue * 255);
    color = (red << 16) | (green << 8) | blue;
}
示例#4
0
static void
pgd_annot_color_changed (GtkButton     *button,
                         GParamSpec    *pspec,
                         PgdAnnotsDemo *demo)
{
#if GTK_CHECK_VERSION(3,4,0)
    gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), &demo->annot_color);
#else
    gtk_color_button_get_rgba (GTK_COLOR_BUTTON (button), &demo->annot_color);
#endif
}
示例#5
0
static void
pgd_selections_bg_color_changed (GtkColorButton    *button,
				 GParamSpec        *pspec,
				 PgdSelectionsDemo *demo)
{
	GdkRGBA color;

	gtk_color_button_get_rgba (GTK_COLOR_BUTTON (button), &color);
	demo->background_color.red = CLAMP ((guint) (color.red * 65535), 0, 65535);
	demo->background_color.green = CLAMP ((guint) (color.green * 65535), 0, 65535);
	demo->background_color.blue = CLAMP ((guint) (color.blue * 65535), 0, 65535);
}
示例#6
0
static void
warlock_color_button_color_changed (GtkColorButton *colorbutton,
                WarlockColorButton *button)
{
        GdkRGBA color;

        gtk_color_button_get_rgba (colorbutton, &color);
        warlock_color_button_set_color (button, &color);

        g_signal_emit (G_OBJECT (button),
                        warlock_color_button_signals[COLOR_SET_SIGNAL], 0);
}
示例#7
0
void callback_color_changed(GtkWidget *widget, gpointer data){
	int i, j;
	GdkRGBA rgba;
	gchar color_string[13];
	for(i = 0; i<X_SIZE; i++){
		for(j = 0; j<Y_SIZE; j++){
			gtk_color_button_get_rgba(color_button[i][j], &rgba);
			get_short_color_string(color_string, rgba);
			gtk_button_set_label ((GtkButton*)toggle_button[i][j], color_string);
		}
	}
}
static void
panel_properties_dialog_color_button_changed (PanelPropertiesDialog *dialog,
					      GtkColorButton        *color_button)
{
	GdkRGBA old_color;
	GdkRGBA new_color;

	panel_properties_dialog_background_color_get_rgba (dialog, &old_color);
	gtk_color_button_get_rgba (color_button, &new_color);
	new_color.alpha = old_color.alpha;
	panel_properties_dialog_background_color_set_from_rgba (dialog, &new_color);
}
示例#9
0
static void
background_color_set (GtkColorButton *color_button,
		      MCData    *mc)
{
    GdkRGBA color;
    gchar *str;

    gtk_color_button_get_rgba (color_button, &color);

    str = gdk_rgba_to_string (&color);
    g_settings_set_string (mc->settings, KEY_CMD_LINE_COLOR_BG, str);
    g_free (str);
}
/* Properties Dialog Callback : Color */
void
properties_color_cb (GtkWidget *button, StickyNote *note)
{
	char *color_str = NULL;
	char *font_color_str = NULL;
	
	if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(note->w_def_color)))
	{
#if GTK_CHECK_VERSION (3, 0, 0)
		GdkRGBA color, font_color;

		gtk_color_button_get_rgba (GTK_COLOR_BUTTON (note->w_color), &color);
		gtk_color_button_get_rgba (GTK_COLOR_BUTTON (note->w_font_color), &font_color);

		color_str = gdk_rgba_to_string (&color);
		font_color_str = gdk_rgba_to_string (&font_color);
#else
		GdkColor color, font_color;
			
		gtk_color_button_get_color (GTK_COLOR_BUTTON (note->w_color), &color);
		gtk_color_button_get_color (GTK_COLOR_BUTTON (note->w_font_color), &font_color);

		color_str = g_strdup_printf ("#%.2x%.2x%.2x",
		                             color.red   / 256,
		                             color.green / 256,
		                             color.blue  / 256);
		font_color_str = g_strdup_printf ("#%.2x%.2x%.2x",
		                                  font_color.red   / 256,
		                                  font_color.green / 256,
		                                  font_color.blue  / 256);
#endif
	}

	stickynote_set_color (note, color_str, font_color_str, TRUE);

	g_free (color_str);
	g_free (font_color_str);
}
示例#11
0
static void gtk_clrbutton_setcolor_callback(GtkColorButton *widget,
                                            wxColourButton *p)
{
    // update the m_colour member of the wxColourButton
    wxASSERT(p);
#ifdef __WXGTK3__
    GdkRGBA gdkColor;
    gtk_color_button_get_rgba(widget, &gdkColor);
#else
    GdkColor gdkColor;
    gtk_color_button_get_color(widget, &gdkColor);
#endif
    p->GTKSetColour(gdkColor);

    // fire the colour-changed event
    wxColourPickerEvent event(p, p->GetId(), p->GetColour());
    p->HandleWindowEvent(event);
}
static void sensor_config_dialog_graph_color_set(GtkColorButton *color_button,
                                                 SensorConfigDialog *config_dialog) {
	GtkTreeModel *model;
	GtkTreePath *path;
	GtkTreeIter iter;
        GtkWidget *content_area;
        gchar *color_string;
#if GTK_CHECK_VERSION (3, 0, 0)
        GdkRGBA color;

        gtk_color_button_get_rgba(color_button,
                                  &color);

        color_string = g_strdup_printf ("#%02X%02X%02X", (int)(0.5 + CLAMP (color.red, 0., 1.) * 255.),
					(int)(0.5 + CLAMP (color.green, 0., 1.) * 255.),
					(int)(0.5 + CLAMP (color.blue, 0., 1.) * 255.));
#else
        GdkColor color;

        gtk_color_button_get_color(color_button,
                                   &color);

        color_string = g_strdup_printf("#%02X%02X%02X", color.red / 256, 
                                       color.green / 256, color.blue / 256);
#endif

        gtk_tree_selection_get_selected(config_dialog->sensors_applet->selection,
					&model,
					&iter);

        gtk_tree_store_set(config_dialog->sensors_applet->sensors,
			   &iter,
			   GRAPH_COLOR_COLUMN, color_string,
			   -1);

	g_free(color_string);

	path = gtk_tree_model_get_path(GTK_TREE_MODEL(config_dialog->sensors_applet->sensors),
				       &iter);
	sensors_applet_update_sensor(config_dialog->sensors_applet, path);
	gtk_tree_path_free(path);
}
示例#13
0
void callback_apply_color( GtkWidget *widget, gpointer data ){
	int i,j;
	gboolean any_selected = FALSE;
	GdkRGBA rgba;
	for (i = 0; i<X_SIZE; i++){
		for(j = 0; j<Y_SIZE; j++){
			if(*bool_marked[i][j]){
				gtk_color_button_get_rgba((GtkColorButton*)data,&rgba);
				gtk_color_button_set_rgba(color_button[i][j], &rgba);
				any_selected = TRUE;

			}
		}
	}
	if(!any_selected){
		window_popup_warning("Nothing is selected!");
	}
	callback_color_changed(widget, data);
    return;
}
示例#14
0
static void gtk_clrbutton_setcolor_callback(GtkColorButton *widget,
                                            wxColourButton *p)
{
    // update the m_colour member of the wxColourButton
    wxASSERT(p);
#ifdef __WXGTK4__
    GdkRGBA gdkColor;
    gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(widget), &gdkColor);
#elif defined(__WXGTK3__)
    wxGCC_WARNING_SUPPRESS(deprecated-declarations)
    GdkRGBA gdkColor;
    gtk_color_button_get_rgba(widget, &gdkColor);
    wxGCC_WARNING_RESTORE()
#else
    GdkColor gdkColor;
    gtk_color_button_get_color(widget, &gdkColor);
#endif
    p->GTKSetColour(gdkColor);

    // fire the colour-changed event
    wxColourPickerEvent event(p, p->GetId(), p->GetColour());
    p->HandleWindowEvent(event);
}