diff --git a/app/actions/context-commands.c b/app/actions/context-commands.c index e6c20049b9..5bd2899347 100644 --- a/app/actions/context-commands.c +++ b/app/actions/context-commands.c @@ -67,7 +67,7 @@ static void context_select_color (GimpActionSelectType select_type, static gint context_get_color_index (gboolean use_colormap, gboolean use_palette, - const GimpRGB *color); + GeglColor *color); static gint context_max_color_index (gboolean use_colormap, gboolean use_palette); static gboolean context_set_color_index (gint index, @@ -868,13 +868,16 @@ context_paint_mode_index (GimpLayerMode paint_mode, static void context_select_color (GimpActionSelectType select_type, - GimpRGB *color, + GimpRGB *rgb, gboolean use_colormap, gboolean use_palette) { - gint index; - gint max; + GeglColor *color; + gint index; + gint max; + color = gegl_color_new ("black"); + gegl_color_set_rgba_with_space (color, rgb->r, rgb->g, rgb->b, rgb->a, NULL); index = context_get_color_index (use_colormap, use_palette, color); max = context_max_color_index (use_colormap, use_palette); @@ -883,13 +886,15 @@ context_select_color (GimpActionSelectType select_type, 0, max, 0, 0, 1, 4, 0, FALSE); - context_set_color_index (index, use_colormap, use_palette, color); + context_set_color_index (index, use_colormap, use_palette, rgb); + + g_object_unref (color); } static gint -context_get_color_index (gboolean use_colormap, - gboolean use_palette, - const GimpRGB *color) +context_get_color_index (gboolean use_colormap, + gboolean use_palette, + GeglColor *color) { if (use_colormap) { diff --git a/app/core/gimppalette-load.c b/app/core/gimppalette-load.c index 8695fe3c6d..b744e05e51 100644 --- a/app/core/gimppalette-load.c +++ b/app/core/gimppalette-load.c @@ -1305,15 +1305,20 @@ gimp_palette_load_css (GimpContext *context, if (g_regex_match (regex, buf, 0, &matches)) { - GimpRGB color; + GimpRGB rgb; gchar *word = g_match_info_fetch_named (matches, "param"); - if (gimp_rgb_parse_css (&color, word, -1)) + if (gimp_rgb_parse_css (&rgb, word, -1)) { - if (! gimp_palette_find_entry (palette, &color, NULL)) + GeglColor *color = gegl_color_new ("black"); + + gegl_color_set_rgba_with_space (color, rgb.r, rgb.g, rgb.b, rgb.a, NULL); + if (! gimp_palette_find_entry (palette, color, NULL)) { - gimp_palette_add_entry (palette, -1, NULL, &color); + gimp_palette_add_entry (palette, -1, NULL, &rgb); } + + g_object_unref (color); } g_free (word); diff --git a/app/core/gimppalette.c b/app/core/gimppalette.c index 7f2505f498..92172e8e5f 100644 --- a/app/core/gimppalette.c +++ b/app/core/gimppalette.c @@ -642,14 +642,19 @@ gimp_palette_get_columns (GimpPalette *palette) GimpPaletteEntry * gimp_palette_find_entry (GimpPalette *palette, - const GimpRGB *color, + GeglColor *color, GimpPaletteEntry *start_from) { GimpPaletteEntry *entry; + GimpRGB rgb; g_return_val_if_fail (GIMP_IS_PALETTE (palette), NULL); - g_return_val_if_fail (color != NULL, NULL); + g_return_val_if_fail (GEGL_IS_COLOR (color), NULL); + /* TODO: we should have a gimp_color_distance() function to compare 2 + * GeglColor. + */ + gegl_color_get_rgba_with_space (color, &rgb.r, &rgb.g, &rgb.b, &rgb.a, NULL); if (! start_from) { GList *list; @@ -659,11 +664,11 @@ gimp_palette_find_entry (GimpPalette *palette, for (list = palette->colors; list; list = g_list_next (list)) { entry = (GimpPaletteEntry *) list->data; - if (gimp_rgb_distance (&entry->color, color) < RGB_EPSILON) + if (gimp_rgb_distance (&entry->color, &rgb) < RGB_EPSILON) return entry; } } - else if (gimp_rgb_distance (&start_from->color, color) < RGB_EPSILON) + else if (gimp_rgb_distance (&start_from->color, &rgb) < RGB_EPSILON) { return start_from; } @@ -685,7 +690,7 @@ gimp_palette_find_entry (GimpPalette *palette, if (next) { entry = (GimpPaletteEntry *) next->data; - if (gimp_rgb_distance (&entry->color, color) < RGB_EPSILON) + if (gimp_rgb_distance (&entry->color, &rgb) < RGB_EPSILON) return entry; next = next->next; @@ -694,7 +699,7 @@ gimp_palette_find_entry (GimpPalette *palette, if (prev) { entry = (GimpPaletteEntry *) prev->data; - if (gimp_rgb_distance (&entry->color, color) < RGB_EPSILON) + if (gimp_rgb_distance (&entry->color, &rgb) < RGB_EPSILON) return entry; prev = prev->prev; diff --git a/app/core/gimppalette.h b/app/core/gimppalette.h index aedc1986c4..a32133b1cd 100644 --- a/app/core/gimppalette.h +++ b/app/core/gimppalette.h @@ -99,7 +99,7 @@ void gimp_palette_set_columns (GimpPalette *palette, gint gimp_palette_get_columns (GimpPalette *palette); GimpPaletteEntry * gimp_palette_find_entry (GimpPalette *palette, - const GimpRGB *color, + GeglColor *color, GimpPaletteEntry *start_from); diff --git a/app/tools/gimpcolorpickertool.c b/app/tools/gimpcolorpickertool.c index 17e82940fe..84f310247b 100644 --- a/app/tools/gimpcolorpickertool.c +++ b/app/tools/gimpcolorpickertool.c @@ -72,7 +72,7 @@ static void gimp_color_picker_tool_picked (GimpColorTool *color_t GimpColorPickState pick_state, const Babl *sample_format, gpointer pixel, - const GimpRGB *color); + GeglColor *color); static void gimp_color_picker_tool_info_create (GimpColorPickerTool *picker_tool, GimpDisplay *display); @@ -84,7 +84,7 @@ static void gimp_color_picker_tool_info_update (GimpColorPickerTool *picker_ gboolean sample_average, const Babl *sample_format, gpointer pixel, - const GimpRGB *color, + GeglColor *color, gint x, gint y); @@ -300,7 +300,7 @@ gimp_color_picker_tool_picked (GimpColorTool *color_tool, GimpColorPickState pick_state, const Babl *sample_format, gpointer pixel, - const GimpRGB *color) + GeglColor *color) { GimpColorPickerTool *picker_tool = GIMP_COLOR_PICKER_TOOL (color_tool); GimpColorPickerOptions *options; @@ -428,13 +428,14 @@ gimp_color_picker_tool_info_update (GimpColorPickerTool *picker_tool, gboolean sample_average, const Babl *sample_format, gpointer pixel, - const GimpRGB *color, + GeglColor *color, gint x, gint y) { GimpTool *tool = GIMP_TOOL (picker_tool); GimpImage *image = gimp_display_get_image (display); GList *drawables = gimp_image_get_selected_drawables (image); + GimpRGB rgb; tool->display = display; @@ -443,14 +444,15 @@ gimp_color_picker_tool_info_update (GimpColorPickerTool *picker_tool, gimp_tool_gui_set_viewables (picker_tool->gui, drawables); g_list_free (drawables); + gegl_color_get_rgba_with_space (color, &rgb.r, &rgb.g, &rgb.b, &rgb.a, NULL); gimp_color_area_set_color (GIMP_COLOR_AREA (picker_tool->color_area), - color); + &rgb); gimp_color_frame_set_color (GIMP_COLOR_FRAME (picker_tool->color_frame1), - sample_average, sample_format, pixel, color, + sample_average, sample_format, pixel, &rgb, x, y); gimp_color_frame_set_color (GIMP_COLOR_FRAME (picker_tool->color_frame2), - sample_average, sample_format, pixel, color, + sample_average, sample_format, pixel, &rgb, x, y); gimp_tool_gui_show (picker_tool->gui); diff --git a/app/tools/gimpcolortool.c b/app/tools/gimpcolortool.c index 1394a04243..38efe4cf02 100644 --- a/app/tools/gimpcolortool.c +++ b/app/tools/gimpcolortool.c @@ -113,7 +113,7 @@ static void gimp_color_tool_real_picked (GimpColorTool *color_tool, GimpColorPickState pick_state, const Babl *sample_format, gpointer pixel, - const GimpRGB *color); + GeglColor *color); static gboolean gimp_color_tool_can_pick (GimpColorTool *tool, const GimpCoords *coords, @@ -151,7 +151,7 @@ gimp_color_tool_class_init (GimpColorToolClass *klass) GIMP_TYPE_COLOR_PICK_STATE, G_TYPE_POINTER, G_TYPE_POINTER, - GIMP_TYPE_RGB | G_SIGNAL_TYPE_STATIC_SCOPE); + GEGL_TYPE_COLOR); object_class->finalize = gimp_color_tool_finalize; @@ -485,13 +485,16 @@ gimp_color_tool_real_picked (GimpColorTool *color_tool, GimpColorPickState pick_state, const Babl *sample_format, gpointer pixel, - const GimpRGB *color) + GeglColor *color) { GimpTool *tool = GIMP_TOOL (color_tool); GimpDisplayShell *shell = gimp_display_get_shell (display); GimpImageWindow *image_window; GimpDialogFactory *dialog_factory; GimpContext *context; + GimpRGB rgb = { 0 }; + + g_return_if_fail (GEGL_IS_COLOR (color)); image_window = gimp_display_shell_get_window (shell); dialog_factory = gimp_dock_container_get_dialog_factory (GIMP_DOCK_CONTAINER (image_window)); @@ -554,17 +557,19 @@ gimp_color_tool_real_picked (GimpColorTool *color_tool, } } + gegl_color_get_rgba_with_space (color, &rgb.r, &rgb.g, &rgb.b, &rgb.a, sample_format); switch (color_tool->pick_target) { case GIMP_COLOR_PICK_TARGET_NONE: break; case GIMP_COLOR_PICK_TARGET_FOREGROUND: - gimp_context_set_foreground (context, color); + /* TODO: FG/BG colors should be stored as GeglColor. */ + gimp_context_set_foreground (context, &rgb); break; case GIMP_COLOR_PICK_TARGET_BACKGROUND: - gimp_context_set_background (context, color); + gimp_context_set_background (context, &rgb); break; case GIMP_COLOR_PICK_TARGET_PALETTE: @@ -636,15 +641,9 @@ gimp_color_tool_pick (GimpColorTool *tool, if (klass->pick && klass->pick (tool, coords, display, &sample_format, pixel, &color)) - { - GimpRGB rgb; - - gegl_color_get_rgba_with_space (color, &rgb.r, &rgb.g, &rgb.b, &rgb.a, NULL); - /* TODO: the "picked" signal should emit a GeglColor. */ - g_signal_emit (tool, gimp_color_tool_signals[PICKED], 0, - coords, display, pick_state, - sample_format, pixel, &rgb); - } + g_signal_emit (tool, gimp_color_tool_signals[PICKED], 0, + coords, display, pick_state, + sample_format, pixel, color); g_object_unref (color); } diff --git a/app/tools/gimpcolortool.h b/app/tools/gimpcolortool.h index 80f88a4370..2d9f8e0665 100644 --- a/app/tools/gimpcolortool.h +++ b/app/tools/gimpcolortool.h @@ -72,7 +72,7 @@ struct _GimpColorToolClass GimpColorPickState pick_state, const Babl *sample_format, gpointer pixel, - const GimpRGB *color); + GeglColor *color); }; diff --git a/app/tools/gimpfiltertool.c b/app/tools/gimpfiltertool.c index 175d2fccb3..0011595c0b 100644 --- a/app/tools/gimpfiltertool.c +++ b/app/tools/gimpfiltertool.c @@ -144,7 +144,7 @@ static void gimp_filter_tool_color_picked (GimpColorTool *color_too GimpColorPickState pick_state, const Babl *sample_format, gpointer pixel, - const GimpRGB *color); + GeglColor *color); static void gimp_filter_tool_real_reset (GimpFilterTool *filter_tool); static void gimp_filter_tool_real_set_config(GimpFilterTool *filter_tool, @@ -859,9 +859,12 @@ gimp_filter_tool_color_picked (GimpColorTool *color_tool, GimpColorPickState pick_state, const Babl *sample_format, gpointer pixel, - const GimpRGB *color) + GeglColor *color) { GimpFilterTool *filter_tool = GIMP_FILTER_TOOL (color_tool); + GimpRGB rgb; + + gegl_color_get_rgba_with_space (color, &rgb.r, &rgb.g, &rgb.b, &rgb.a, NULL); if (filter_tool->active_picker) { @@ -879,7 +882,7 @@ gimp_filter_tool_color_picked (GimpColorTool *color_tool, filter_tool->pick_identifier, coords->x, coords->y, - sample_format, color); + sample_format, &rgb); return; } @@ -889,7 +892,7 @@ gimp_filter_tool_color_picked (GimpColorTool *color_tool, filter_tool->pick_identifier, coords->x, coords->y, - sample_format, color); + sample_format, &rgb); } static void diff --git a/app/widgets/gimpcolorhistory.c b/app/widgets/gimpcolorhistory.c index 8f9bfe715c..643ce8f9eb 100644 --- a/app/widgets/gimpcolorhistory.c +++ b/app/widgets/gimpcolorhistory.c @@ -487,8 +487,9 @@ gimp_color_history_palette_dirty (GimpColorHistory *history) for (i = 0; i < history->history_size; i++) { GimpPaletteEntry *entry = gimp_palette_get_entry (palette, i); + GeglColor *color = gegl_color_new ("black"); GimpRGB black = { 0.0, 0.0, 0.0, 1.0 }; - GimpRGB color = entry ? entry->color : black; + GimpRGB rgb = entry ? entry->color : black; gboolean oog = FALSE; g_signal_handlers_block_by_func (history->color_areas[i], @@ -496,24 +497,28 @@ gimp_color_history_palette_dirty (GimpColorHistory *history) GINT_TO_POINTER (i)); gimp_color_area_set_color (GIMP_COLOR_AREA (history->color_areas[i]), - &color); + &rgb); + + gegl_color_set_rgba_with_space (color, rgb.r, rgb.g, rgb.b, rgb.a, NULL); if (/* Common out-of-gamut case */ - (color.r < 0.0 || color.r > 1.0 || - color.g < 0.0 || color.g > 1.0 || - color.b < 0.0 || color.b > 1.0) || + (rgb.r < 0.0 || rgb.r > 1.0 || + rgb.g < 0.0 || rgb.g > 1.0 || + rgb.b < 0.0 || rgb.b > 1.0) || /* Indexed images */ - (colormap_palette && ! gimp_palette_find_entry (colormap_palette, &color, NULL)) || + (colormap_palette && ! gimp_palette_find_entry (colormap_palette, color, NULL)) || /* Grayscale images */ (base_type == GIMP_GRAY && - (ABS (color.r - color.g) > CHANNEL_EPSILON || - ABS (color.r - color.b) > CHANNEL_EPSILON || - ABS (color.g - color.b) > CHANNEL_EPSILON))) + (ABS (rgb.r - rgb.g) > CHANNEL_EPSILON || + ABS (rgb.r - rgb.b) > CHANNEL_EPSILON || + ABS (rgb.g - rgb.b) > CHANNEL_EPSILON))) oog = TRUE; gimp_color_area_set_out_of_gamut (GIMP_COLOR_AREA (history->color_areas[i]), oog); g_signal_handlers_unblock_by_func (history->color_areas[i], gimp_color_history_color_changed, GINT_TO_POINTER (i)); + + g_object_unref (color); } } diff --git a/app/widgets/gimpcolormapeditor.c b/app/widgets/gimpcolormapeditor.c index 3ea4d71868..17838a80af 100644 --- a/app/widgets/gimpcolormapeditor.c +++ b/app/widgets/gimpcolormapeditor.c @@ -326,7 +326,7 @@ gimp_colormap_editor_is_color_deletable (GimpColormapEditor *editor) gint gimp_colormap_editor_get_index (GimpColormapEditor *editor, - const GimpRGB *search) + GeglColor *search) { g_return_val_if_fail (GIMP_IS_COLORMAP_EDITOR (editor), 0); diff --git a/app/widgets/gimpcolormapeditor.h b/app/widgets/gimpcolormapeditor.h index bacf5df2d5..49d940be18 100644 --- a/app/widgets/gimpcolormapeditor.h +++ b/app/widgets/gimpcolormapeditor.h @@ -55,7 +55,7 @@ void gimp_colormap_editor_delete_color (GimpColormapEditor *editor) gboolean gimp_colormap_editor_is_color_deletable (GimpColormapEditor *editor); gint gimp_colormap_editor_get_index (GimpColormapEditor *editor, - const GimpRGB *search); + GeglColor *search); gboolean gimp_colormap_editor_set_index (GimpColormapEditor *editor, gint index, GimpRGB *color); diff --git a/app/widgets/gimpcolormapselection.c b/app/widgets/gimpcolormapselection.c index e7a653f369..593239e074 100644 --- a/app/widgets/gimpcolormapselection.c +++ b/app/widgets/gimpcolormapselection.c @@ -368,7 +368,7 @@ gimp_colormap_selection_new (GimpContext *context) gint gimp_colormap_selection_get_index (GimpColormapSelection *selection, - const GimpRGB *search) + GeglColor *search) { GimpImage *image; gint index; @@ -385,10 +385,16 @@ gimp_colormap_selection_get_index (GimpColormapSelection *selection, if (search) { GimpRGB temp; + GimpRGB search_rgb; + /* TODO: this is likely very wrong as we don't seem to care about the + * color space of neither search nor temp. They should be fit into a same + * space before comparing. + */ + gegl_color_get_rgba_with_space (search, &search_rgb.r, &search_rgb.g, &search_rgb.b, &search_rgb.a, NULL); gimp_image_get_colormap_entry (image, index, &temp); - if (gimp_rgb_distance (&temp, search) > RGB_EPSILON) + if (gimp_rgb_distance (&temp, &search_rgb) > RGB_EPSILON) { gint n_colors = gimp_image_get_colormap_size (image); gint i; @@ -397,7 +403,7 @@ gimp_colormap_selection_get_index (GimpColormapSelection *selection, { gimp_image_get_colormap_entry (image, i, &temp); - if (gimp_rgb_distance (&temp, search) < RGB_EPSILON) + if (gimp_rgb_distance (&temp, &search_rgb) < RGB_EPSILON) { index = i; break; diff --git a/app/widgets/gimpcolormapselection.h b/app/widgets/gimpcolormapselection.h index d500ba1bbb..08e58df1b4 100644 --- a/app/widgets/gimpcolormapselection.h +++ b/app/widgets/gimpcolormapselection.h @@ -67,7 +67,7 @@ GType gimp_colormap_selection_get_type (void) G_GNUC_CONST; GtkWidget * gimp_colormap_selection_new (GimpContext *context); gint gimp_colormap_selection_get_index (GimpColormapSelection *selection, - const GimpRGB *search); + GeglColor *search); gboolean gimp_colormap_selection_set_index (GimpColormapSelection *selection, gint index, GimpRGB *color); diff --git a/app/widgets/gimpcolorselectorpalette.c b/app/widgets/gimpcolorselectorpalette.c index f698dfd75d..da1ee795ec 100644 --- a/app/widgets/gimpcolorselectorpalette.c +++ b/app/widgets/gimpcolorselectorpalette.c @@ -86,13 +86,17 @@ gimp_color_selector_palette_set_color (GimpColorSelector *selector, if (palette && gimp_palette_get_n_colors (palette) > 0) { GimpPaletteEntry *entry; + GeglColor *color = gegl_color_new ("black"); - entry = gimp_palette_find_entry (palette, rgb, + gegl_color_set_rgba_with_space (color, rgb->r, rgb->g, rgb->b, rgb->a, NULL); + entry = gimp_palette_find_entry (palette, color, GIMP_PALETTE_VIEW (select->view)->selected); if (entry) gimp_palette_view_select_entry (GIMP_PALETTE_VIEW (select->view), entry); + + g_object_unref (color); } } } diff --git a/app/widgets/gimpfgbgeditor.c b/app/widgets/gimpfgbgeditor.c index 900a9833b1..3b8b9f9e04 100644 --- a/app/widgets/gimpfgbgeditor.c +++ b/app/widgets/gimpfgbgeditor.c @@ -869,7 +869,7 @@ gimp_fg_bg_editor_image_changed (GimpFgBgEditor *editor, static void gimp_fg_bg_editor_draw_color_frame (GimpFgBgEditor *editor, cairo_t *cr, - const GimpRGB *color, + const GimpRGB *rgb, gint x, gint y, gint width, @@ -877,6 +877,7 @@ gimp_fg_bg_editor_draw_color_frame (GimpFgBgEditor *editor, gint corner_dx, gint corner_dy) { + GeglColor *color; GimpPalette *colormap_palette = NULL; GimpImageBaseType base_type = GIMP_RGB; GimpRGB transformed_color; @@ -896,14 +897,14 @@ gimp_fg_bg_editor_draw_color_frame (GimpFgBgEditor *editor, { gimp_color_transform_process_pixels (editor->transform, babl_format ("R'G'B'A double"), - color, + rgb, babl_format ("R'G'B'A double"), &transformed_color, 1); } else { - transformed_color = *color; + transformed_color = *rgb; } cairo_save (cr); @@ -913,19 +914,22 @@ gimp_fg_bg_editor_draw_color_frame (GimpFgBgEditor *editor, cairo_rectangle (cr, x, y, width, height); cairo_fill (cr); + color = gegl_color_new ("black"); + gegl_color_set_rgba_with_space (color, rgb->r, rgb->g, rgb->b, rgb->a, NULL); + if (editor->color_config && /* Common out-of-gamut case */ - ((color->r < 0.0 || color->r > 1.0 || - color->g < 0.0 || color->g > 1.0 || - color->b < 0.0 || color->b > 1.0) || + ((rgb->r < 0.0 || rgb->r > 1.0 || + rgb->g < 0.0 || rgb->g > 1.0 || + rgb->b < 0.0 || rgb->b > 1.0) || /* Indexed images */ (colormap_palette && ! gimp_palette_find_entry (colormap_palette, color, NULL)) || /* Grayscale images */ (base_type == GIMP_GRAY && - (ABS (color->r - color->g) > CHANNEL_EPSILON || - ABS (color->r - color->b) > CHANNEL_EPSILON || - ABS (color->g - color->b) > CHANNEL_EPSILON)))) + (ABS (rgb->r - rgb->g) > CHANNEL_EPSILON || + ABS (rgb->r - rgb->b) > CHANNEL_EPSILON || + ABS (rgb->g - rgb->b) > CHANNEL_EPSILON)))) { gint corner_x = x + 0.5 * (1.0 - corner_dx) * width; gint corner_y = y + 0.5 * (1.0 - corner_dy) * height; @@ -954,4 +958,6 @@ gimp_fg_bg_editor_draw_color_frame (GimpFgBgEditor *editor, cairo_stroke (cr); cairo_restore (cr); + + g_object_unref (color); } diff --git a/app/widgets/gimppaletteeditor.c b/app/widgets/gimppaletteeditor.c index 5af7efbfe9..f37cf10445 100644 --- a/app/widgets/gimppaletteeditor.c +++ b/app/widgets/gimppaletteeditor.c @@ -524,16 +524,17 @@ gimp_palette_editor_edit_color (GimpPaletteEditor *editor) void gimp_palette_editor_pick_color (GimpPaletteEditor *editor, - const GimpRGB *color, + GeglColor *color, GimpColorPickState pick_state) { g_return_if_fail (GIMP_IS_PALETTE_EDITOR (editor)); - g_return_if_fail (color != NULL); + g_return_if_fail (GEGL_IS_COLOR (color)); if (GIMP_DATA_EDITOR (editor)->data_editable) { GimpPaletteEntry *entry; GimpData *data; + GimpRGB rgb; gint index = -1; data = gimp_data_editor_get_data (GIMP_DATA_EDITOR (editor)); @@ -541,6 +542,7 @@ gimp_palette_editor_pick_color (GimpPaletteEditor *editor, index = gimp_palette_get_entry_position (GIMP_PALETTE (data), editor->color); + gegl_color_get_rgba_with_space (color, &rgb.r, &rgb.g, &rgb.b, &rgb.a, NULL); switch (pick_state) { case GIMP_COLOR_PICK_STATE_START: @@ -548,7 +550,7 @@ gimp_palette_editor_pick_color (GimpPaletteEditor *editor, index += 1; entry = gimp_palette_add_entry (GIMP_PALETTE (data), index, - NULL, color); + NULL, &rgb); gimp_palette_view_select_entry (GIMP_PALETTE_VIEW (editor->view), entry); break; @@ -556,7 +558,7 @@ gimp_palette_editor_pick_color (GimpPaletteEditor *editor, case GIMP_COLOR_PICK_STATE_UPDATE: case GIMP_COLOR_PICK_STATE_END: gimp_palette_set_entry_color (GIMP_PALETTE (data), - index, color, FALSE); + index, &rgb, FALSE); break; } } @@ -635,12 +637,12 @@ gimp_palette_editor_zoom (GimpPaletteEditor *editor, gint gimp_palette_editor_get_index (GimpPaletteEditor *editor, - const GimpRGB *search) + GeglColor *search) { GimpPalette *palette; g_return_val_if_fail (GIMP_IS_PALETTE_EDITOR (editor), -1); - g_return_val_if_fail (search != NULL, -1); + g_return_val_if_fail (GEGL_IS_COLOR (search), -1); palette = GIMP_PALETTE (GIMP_DATA_EDITOR (editor)->data); diff --git a/app/widgets/gimppaletteeditor.h b/app/widgets/gimppaletteeditor.h index 4c5febc38c..2e69c9f527 100644 --- a/app/widgets/gimppaletteeditor.h +++ b/app/widgets/gimppaletteeditor.h @@ -65,13 +65,13 @@ GtkWidget * gimp_palette_editor_new (GimpContext *context, void gimp_palette_editor_edit_color (GimpPaletteEditor *editor); void gimp_palette_editor_pick_color (GimpPaletteEditor *editor, - const GimpRGB *color, + GeglColor *color, GimpColorPickState pick_state); void gimp_palette_editor_zoom (GimpPaletteEditor *editor, GimpZoomType zoom_type); gint gimp_palette_editor_get_index (GimpPaletteEditor *editor, - const GimpRGB *search); + GeglColor *search); gboolean gimp_palette_editor_set_index (GimpPaletteEditor *editor, gint index, GimpRGB *color);