Пример #1
0
static gboolean
color_equal (const GdkRGBA *color_a, const GnmColor *color_gb)
{
	if (color_gb == NULL)
		return color_a == NULL;
	/* FIXME: What about ->is_auto?  */
	return color_a && GO_COLOR_FROM_GDK_RGBA (*color_a) == color_gb->go_color;
}
Пример #2
0
static gboolean
handle_color_sel (GtkDialog *dialog,
		  gint response_id, GOColor *res)
{
	if (response_id == GTK_RESPONSE_OK) {
		GtkColorChooser *chooser = g_object_get_data (G_OBJECT (dialog), CCW_KEY);
		GdkRGBA gdk;
		gtk_color_chooser_get_rgba (chooser, &gdk);
		*res = GO_COLOR_FROM_GDK_RGBA (gdk);
	}
	/* destroy _before_ we emit */
	gtk_widget_destroy (GTK_WIDGET (dialog));
	return response_id == GTK_RESPONSE_OK;
}
Пример #3
0
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;
}
Пример #4
0
static void
swatch_activated (GOColorPalette *pal, GtkBin *button)
{
	GList *tmp = gtk_container_get_children (GTK_CONTAINER (gtk_bin_get_child (button)));
	GtkWidget *swatch = (tmp != NULL) ? tmp->data : NULL;
	GtkStyleContext *style_ctx;
	GdkRGBA rgba;

	g_list_free (tmp);

	g_return_if_fail (swatch != NULL);

	style_ctx = gtk_widget_get_style_context (swatch);
	gtk_style_context_get_background_color (style_ctx, GTK_STATE_FLAG_NORMAL, &rgba);
	set_color (pal, GO_COLOR_FROM_GDK_RGBA (rgba),
		   FALSE, TRUE, FALSE);
}