[gimp] modules, libgimpwidgets: use gimp_color_managed_get_color_profile()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] modules, libgimpwidgets: use gimp_color_managed_get_color_profile()
- Date: Wed, 27 May 2015 10:55:20 +0000 (UTC)
commit d3e11c5b2c58e2057eb7dd1c59547f1cfa7466ee
Author: Michael Natterer <mitch gimp org>
Date: Wed May 27 12:53:46 2015 +0200
modules, libgimpwidgets: use gimp_color_managed_get_color_profile()
which always returns a profile, instead of code that uses the ICC
blob and falls back to GimpColorConfig's profile, then falls back
to the built-in profiles.
libgimpwidgets/gimpwidgetsutils.c | 27 +--------------------
modules/display-filter-lcms.c | 47 ++++++------------------------------
2 files changed, 9 insertions(+), 65 deletions(-)
---
diff --git a/libgimpwidgets/gimpwidgetsutils.c b/libgimpwidgets/gimpwidgetsutils.c
index 6396a60..a3341d4 100644
--- a/libgimpwidgets/gimpwidgetsutils.c
+++ b/libgimpwidgets/gimpwidgetsutils.c
@@ -460,31 +460,6 @@ gimp_widget_get_color_profile (GtkWidget *widget)
}
static GimpColorProfile
-get_rgb_profile (GimpColorManaged *managed,
- GimpColorConfig *config)
-{
- GimpColorProfile profile = NULL;
- const guint8 *data;
- gsize len;
-
- data = gimp_color_managed_get_icc_profile (managed, &len);
-
- if (data)
- profile = gimp_lcms_profile_open_from_data (data, len, NULL);
-
- if (profile && ! gimp_lcms_profile_is_rgb (profile))
- {
- gimp_lcms_profile_close (profile);
- profile = NULL;
- }
-
- if (! profile)
- profile = gimp_color_config_get_rgb_profile (config, NULL);
-
- return profile;
-}
-
-static GimpColorProfile
get_display_profile (GtkWidget *widget,
GimpColorConfig *config)
{
@@ -530,7 +505,7 @@ gimp_widget_get_color_transform (GtkWidget *widget,
/* fallthru */
case GIMP_COLOR_MANAGEMENT_DISPLAY:
- src_profile = get_rgb_profile (managed, config);
+ src_profile = gimp_color_managed_get_color_profile (managed);
dest_profile = get_display_profile (widget, config);
break;
}
diff --git a/modules/display-filter-lcms.c b/modules/display-filter-lcms.c
index b75ab80..8fc7c19 100644
--- a/modules/display-filter-lcms.c
+++ b/modules/display-filter-lcms.c
@@ -83,7 +83,6 @@ static void cdisplay_lcms_convert_buffer (GimpColorDisplay *di
GeglRectangle *area);
static void cdisplay_lcms_changed (GimpColorDisplay *display);
-static GimpColorProfile cdisplay_lcms_get_rgb_profile (CdisplayLcms *lcms);
static GimpColorProfile cdisplay_lcms_get_display_profile (CdisplayLcms *lcms);
static void cdisplay_lcms_attach_labelled (GtkTable *table,
@@ -279,42 +278,10 @@ cdisplay_lcms_changed (GimpColorDisplay *display)
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,
- &lcms->src_format,
- &lcms->dest_format);
-}
-
-static GimpColorProfile
-cdisplay_lcms_get_rgb_profile (CdisplayLcms *lcms)
-{
- GimpColorConfig *config;
- GimpColorManaged *managed;
- GimpColorProfile profile = NULL;
-
- config = gimp_color_display_get_config (GIMP_COLOR_DISPLAY (lcms));
- managed = gimp_color_display_get_managed (GIMP_COLOR_DISPLAY (lcms));
-
- if (managed)
- {
- gsize len;
- const guint8 *data = gimp_color_managed_get_icc_profile (managed, &len);
-
- if (data)
- profile = cmsOpenProfileFromMem ((gpointer) data, len);
-
- if (profile && ! gimp_lcms_profile_is_rgb (profile))
- {
- gimp_lcms_profile_close (profile);
- profile = NULL;
- }
- }
-
- if (! profile)
- profile = gimp_color_config_get_rgb_profile (config, NULL);
-
- return profile;
+ lcms->transform = gimp_widget_get_color_transform (widget,
+ managed, config,
+ &lcms->src_format,
+ &lcms->dest_format);
}
static GimpColorProfile
@@ -372,12 +339,14 @@ cdisplay_lcms_update_profile_label (CdisplayLcms *lcms,
const gchar *name)
{
GimpColorConfig *config;
+ GimpColorManaged *managed;
GtkWidget *label;
GimpColorProfile profile = NULL;
gchar *text;
gchar *tooltip;
- config = gimp_color_display_get_config (GIMP_COLOR_DISPLAY (lcms));
+ config = gimp_color_display_get_config (GIMP_COLOR_DISPLAY (lcms));
+ managed = gimp_color_display_get_managed (GIMP_COLOR_DISPLAY (lcms));
label = g_object_get_data (G_OBJECT (lcms), name);
@@ -386,7 +355,7 @@ cdisplay_lcms_update_profile_label (CdisplayLcms *lcms,
if (strcmp (name, "rgb-profile") == 0)
{
- profile = cdisplay_lcms_get_rgb_profile (lcms);
+ profile = gimp_color_managed_get_color_profile (managed);
}
else if (g_str_has_prefix (name, "display-profile"))
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]