libgimpwidgets: return the formats from gimp_widget_get_color_transform()

Turn the src_format and dest_formats into "const Babl **" and make
them return the actually used formats. Change the lcms display module
accordingly.
This commit is contained in:
Michael Natterer
2015-05-11 00:42:23 +02:00
parent 4d9cf01965
commit 394bc25be1
3 changed files with 35 additions and 30 deletions

View File

@ -502,8 +502,8 @@ GimpColorTransform
gimp_widget_get_color_transform (GtkWidget *widget, gimp_widget_get_color_transform (GtkWidget *widget,
GimpColorManaged *managed, GimpColorManaged *managed,
GimpColorConfig *config, GimpColorConfig *config,
const Babl *src_format, const Babl **src_format,
const Babl *dest_format) const Babl **dest_format)
{ {
GimpColorTransform transform = NULL; GimpColorTransform transform = NULL;
GimpColorProfile src_profile = NULL; GimpColorProfile src_profile = NULL;
@ -534,8 +534,8 @@ gimp_widget_get_color_transform (GtkWidget *widget,
break; break;
} }
src_format = gimp_lcms_get_format (src_format, &lcms_src_format); *src_format = gimp_lcms_get_format (*src_format, &lcms_src_format);
dest_format = gimp_lcms_get_format (dest_format, &lcms_dest_format); *dest_format = gimp_lcms_get_format (*dest_format, &lcms_dest_format);
if (proof_profile) if (proof_profile)
{ {

View File

@ -51,8 +51,8 @@ GimpColorProfile gimp_widget_get_color_profile (GtkWidget *widget);
GimpColorTransform gimp_widget_get_color_transform (GtkWidget *widget, GimpColorTransform gimp_widget_get_color_transform (GtkWidget *widget,
GimpColorManaged *managed, GimpColorManaged *managed,
GimpColorConfig *config, GimpColorConfig *config,
const Babl *src_format, const Babl **src_format,
const Babl *dest_format); const Babl **dest_format);
G_END_DECLS G_END_DECLS

View File

@ -63,6 +63,8 @@ struct _CdisplayLcms
GimpColorDisplay parent_instance; GimpColorDisplay parent_instance;
GimpColorTransform transform; GimpColorTransform transform;
const Babl *src_format;
const Babl *dest_format;
}; };
struct _CdisplayLcmsClass struct _CdisplayLcmsClass
@ -240,7 +242,7 @@ cdisplay_lcms_convert_buffer (GimpColorDisplay *display,
return; return;
iter = gegl_buffer_iterator_new (buffer, area, 0, iter = gegl_buffer_iterator_new (buffer, area, 0,
babl_format ("R'G'B'A float"), lcms->src_format,
GEGL_ACCESS_READWRITE, GEGL_ABYSS_NONE); GEGL_ACCESS_READWRITE, GEGL_ABYSS_NONE);
while (gegl_buffer_iterator_next (iter)) while (gegl_buffer_iterator_next (iter))
@ -274,11 +276,14 @@ cdisplay_lcms_changed (GimpColorDisplay *display)
if (GTK_IS_WIDGET (managed)) if (GTK_IS_WIDGET (managed))
widget = gtk_widget_get_toplevel (GTK_WIDGET (managed)); widget = gtk_widget_get_toplevel (GTK_WIDGET (managed));
lcms->src_format = babl_format ("R'G'B'A float");
lcms->dest_format = babl_format ("R'G'B'A float");
lcms->transform = lcms->transform =
gimp_widget_get_color_transform (widget, gimp_widget_get_color_transform (widget,
managed, config, managed, config,
babl_format ("R'G'B'A float"), &lcms->src_format,
babl_format ("R'G'B'A float")); &lcms->dest_format);
} }
static GimpColorProfile static GimpColorProfile