app: add an LCH mode to GimpColorFrame

so picked colors can be displayed as LCH now.
This commit is contained in:
Michael Natterer 2017-05-08 21:33:04 +02:00
parent 2428e850a7
commit 2766a9f807
3 changed files with 31 additions and 0 deletions

View File

@ -788,6 +788,34 @@ gimp_color_frame_update (GimpColorFrame *frame)
}
break;
case GIMP_COLOR_FRAME_MODE_LCH:
names[0] = _("Light.:");
names[1] = _("Chr.:");
names[2] = _("Hue:");
if (has_alpha)
names[3] = _("Alpha:");
if (frame->sample_valid)
{
static const Babl *fish = NULL;
gfloat lch[4];
if (G_UNLIKELY (! fish))
fish = babl_fish (babl_format ("R'G'B'A double"),
babl_format ("CIE LCH(ab) alpha float"));
babl_process (fish, &frame->color, lch, 1);
values = g_new0 (gchar *, 5);
values[0] = g_strdup_printf ("%.01f ", lch[0]);
values[1] = g_strdup_printf ("%.01f ", lch[1]);
values[2] = g_strdup_printf ("%.01f \302\260", lch[2]);
values[3] = g_strdup_printf ("%.01f %%", lch[3] * 100.0);
}
break;
case GIMP_COLOR_FRAME_MODE_CMYK:
names[0] = _("Cyan:");
names[1] = _("Magenta:");

View File

@ -106,6 +106,7 @@ gimp_color_frame_mode_get_type (void)
{ GIMP_COLOR_FRAME_MODE_RGB_PERCENT, "GIMP_COLOR_FRAME_MODE_RGB_PERCENT", "rgb-percent" },
{ GIMP_COLOR_FRAME_MODE_RGB_U8, "GIMP_COLOR_FRAME_MODE_RGB_U8", "rgb-u8" },
{ GIMP_COLOR_FRAME_MODE_HSV, "GIMP_COLOR_FRAME_MODE_HSV", "hsv" },
{ GIMP_COLOR_FRAME_MODE_LCH, "GIMP_COLOR_FRAME_MODE_LCH", "lch" },
{ GIMP_COLOR_FRAME_MODE_CMYK, "GIMP_COLOR_FRAME_MODE_CMYK", "cmyk" },
{ 0, NULL, NULL }
};
@ -116,6 +117,7 @@ gimp_color_frame_mode_get_type (void)
{ GIMP_COLOR_FRAME_MODE_RGB_PERCENT, NC_("color-frame-mode", "RGB (%)"), NULL },
{ GIMP_COLOR_FRAME_MODE_RGB_U8, NC_("color-frame-mode", "RGB (0..255)"), NULL },
{ GIMP_COLOR_FRAME_MODE_HSV, NC_("color-frame-mode", "HSV"), NULL },
{ GIMP_COLOR_FRAME_MODE_LCH, NC_("color-frame-mode", "CIE LCH"), NULL },
{ GIMP_COLOR_FRAME_MODE_CMYK, NC_("color-frame-mode", "CMYK"), NULL },
{ 0, NULL, NULL }
};

View File

@ -67,6 +67,7 @@ typedef enum
GIMP_COLOR_FRAME_MODE_RGB_PERCENT, /*< desc="RGB (%)" >*/
GIMP_COLOR_FRAME_MODE_RGB_U8, /*< desc="RGB (0..255)" >*/
GIMP_COLOR_FRAME_MODE_HSV, /*< desc="HSV" >*/
GIMP_COLOR_FRAME_MODE_LCH, /*< desc="CIE LCH" >*/
GIMP_COLOR_FRAME_MODE_CMYK /*< desc="CMYK" >*/
} GimpColorFrameMode;