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,
GimpColorManaged *managed,
GimpColorConfig *config,
const Babl *src_format,
const Babl *dest_format)
const Babl **src_format,
const Babl **dest_format)
{
GimpColorTransform transform = NULL;
GimpColorProfile src_profile = NULL;
@ -534,8 +534,8 @@ gimp_widget_get_color_transform (GtkWidget *widget,
break;
}
src_format = gimp_lcms_get_format (src_format, &lcms_src_format);
dest_format = gimp_lcms_get_format (dest_format, &lcms_dest_format);
*src_format = gimp_lcms_get_format (*src_format, &lcms_src_format);
*dest_format = gimp_lcms_get_format (*dest_format, &lcms_dest_format);
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,
GimpColorManaged *managed,
GimpColorConfig *config,
const Babl *src_format,
const Babl *dest_format);
const Babl **src_format,
const Babl **dest_format);
G_END_DECLS

View File

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