mirror of https://github.com/GNOME/gimp.git
libgimpwidgets: Convert CIE LCH(ab) babl format to float
This patch converts the few instances of CIE LCH(ab) double to float to match babl's precision.
This commit is contained in:
parent
ddfb4d4f73
commit
3833ab2b1d
|
@ -139,7 +139,7 @@ gimp_color_scale_class_init (GimpColorScaleClass *klass)
|
|||
|
||||
gtk_widget_class_set_css_name (widget_class, "GimpColorScale");
|
||||
|
||||
fish_lch_to_rgb = babl_fish (babl_format ("CIE LCH(ab) double"),
|
||||
fish_lch_to_rgb = babl_fish (babl_format ("CIE LCH(ab) float"),
|
||||
babl_format ("R'G'B' double"));
|
||||
fish_hsv_to_rgb = babl_fish (babl_format ("HSV float"),
|
||||
babl_format ("R'G'B' double"));
|
||||
|
@ -503,10 +503,10 @@ gimp_color_scale_set_format (GimpColorScale *scale,
|
|||
if (scale->format != format)
|
||||
{
|
||||
scale->format = format;
|
||||
fish_lch_to_rgb = babl_fish (babl_format ("CIE LCH(ab) double"),
|
||||
babl_format_with_space ("R'G'B' double", format));
|
||||
fish_hsv_to_rgb = babl_fish (babl_format_with_space ("HSV float", format),
|
||||
babl_format_with_space ("R'G'B' double", format));
|
||||
fish_lch_to_rgb = babl_fish (babl_format ("CIE LCH(ab) float"),
|
||||
babl_format_with_space ("R'G'B' double", format));
|
||||
fish_hsv_to_rgb = babl_fish (babl_format_with_space ("HSV float", format),
|
||||
babl_format_with_space ("R'G'B' double", format));
|
||||
scale->needs_render = TRUE;
|
||||
gtk_widget_queue_draw (GTK_WIDGET (scale));
|
||||
}
|
||||
|
@ -632,7 +632,7 @@ gimp_color_scale_render (GimpColorScale *scale)
|
|||
GtkRange *range = GTK_RANGE (scale);
|
||||
gdouble rgb[4];
|
||||
gfloat hsv[3];
|
||||
gdouble lch[3];
|
||||
gfloat lch[3];
|
||||
gint multiplier = 1;
|
||||
guint x, y;
|
||||
gdouble *channel_value = NULL;
|
||||
|
@ -654,7 +654,7 @@ gimp_color_scale_render (GimpColorScale *scale)
|
|||
|
||||
gegl_color_get_pixel (scale->color, babl_format_with_space ("R'G'B'A double", scale->format), rgb);
|
||||
gegl_color_get_pixel (scale->color, babl_format_with_space ("HSV float", scale->format), hsv);
|
||||
gegl_color_get_pixel (scale->color, babl_format ("CIE LCH(ab) double"), lch);
|
||||
gegl_color_get_pixel (scale->color, babl_format ("CIE LCH(ab) float"), lch);
|
||||
|
||||
switch (scale->channel)
|
||||
{
|
||||
|
@ -667,9 +667,9 @@ gimp_color_scale_render (GimpColorScale *scale)
|
|||
case GIMP_COLOR_SELECTOR_BLUE: channel_value = &rgb[2]; break;
|
||||
case GIMP_COLOR_SELECTOR_ALPHA: channel_value = &rgb[3]; break;
|
||||
|
||||
case GIMP_COLOR_SELECTOR_LCH_LIGHTNESS: channel_value = &lch[0]; break;
|
||||
case GIMP_COLOR_SELECTOR_LCH_CHROMA: channel_value = &lch[1]; break;
|
||||
case GIMP_COLOR_SELECTOR_LCH_HUE: channel_value = &lch[2]; break;
|
||||
case GIMP_COLOR_SELECTOR_LCH_LIGHTNESS: channel_value_f = &lch[0]; break;
|
||||
case GIMP_COLOR_SELECTOR_LCH_CHROMA: channel_value_f = &lch[1]; break;
|
||||
case GIMP_COLOR_SELECTOR_LCH_HUE: channel_value_f = &lch[2]; break;
|
||||
}
|
||||
|
||||
switch (scale->channel)
|
||||
|
|
|
@ -832,10 +832,10 @@ gimp_color_scales_update_scales (GimpColorScales *scales,
|
|||
values[GIMP_COLOR_SELECTOR_BLUE_U8] = pixel[2] * 255.0;
|
||||
values[GIMP_COLOR_SELECTOR_ALPHA_U8] = pixel[3] * 255.0;
|
||||
|
||||
gegl_color_get_pixel (color, babl_format ("CIE LCH(ab) double"), pixel);
|
||||
values[GIMP_COLOR_SELECTOR_LCH_LIGHTNESS] = pixel[0];
|
||||
values[GIMP_COLOR_SELECTOR_LCH_CHROMA] = pixel[1];
|
||||
values[GIMP_COLOR_SELECTOR_LCH_HUE] = pixel[2];
|
||||
gegl_color_get_pixel (color, babl_format ("CIE LCH(ab) float"), pixel_f);
|
||||
values[GIMP_COLOR_SELECTOR_LCH_LIGHTNESS] = pixel_f[0];
|
||||
values[GIMP_COLOR_SELECTOR_LCH_CHROMA] = pixel_f[1];
|
||||
values[GIMP_COLOR_SELECTOR_LCH_HUE] = pixel_f[2];
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS (scale_defs); i++)
|
||||
{
|
||||
|
|
|
@ -347,9 +347,9 @@ gimp_color_select_class_init (GimpColorSelectClass *klass)
|
|||
|
||||
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS (klass), "GimpColorSelect");
|
||||
|
||||
fish_lch_to_rgb = babl_fish (babl_format ("CIE LCH(ab) double"),
|
||||
fish_lch_to_rgb = babl_fish (babl_format ("CIE LCH(ab) float"),
|
||||
babl_format ("R'G'B' double"));
|
||||
fish_lch_to_rgb_u8 = babl_fish (babl_format ("CIE LCH(ab) double"),
|
||||
fish_lch_to_rgb_u8 = babl_fish (babl_format ("CIE LCH(ab) float"),
|
||||
babl_format ("R'G'B' u8"));
|
||||
rgbf_format = babl_format ("R'G'B' float");
|
||||
rgbu_format = babl_format ("R'G'B' u8");
|
||||
|
@ -681,9 +681,9 @@ gimp_color_select_set_format (GimpColorSelector *selector,
|
|||
rgbf_format = babl_format_with_space ("R'G'B' float", format);
|
||||
rgbu_format = babl_format_with_space ("R'G'B' u8", format);
|
||||
hsvf_format = babl_format_with_space ("HSV float", format);
|
||||
fish_lch_to_rgb = babl_fish (babl_format ("CIE LCH(ab) double"),
|
||||
fish_lch_to_rgb = babl_fish (babl_format ("CIE LCH(ab) float"),
|
||||
babl_format_with_space ("R'G'B' double", format));
|
||||
fish_lch_to_rgb_u8 = babl_fish (babl_format ("CIE LCH(ab) double"),
|
||||
fish_lch_to_rgb_u8 = babl_fish (babl_format ("CIE LCH(ab) float"),
|
||||
babl_format_with_space ("R'G'B' u8", format));
|
||||
|
||||
if (format == NULL || babl_format_get_space (format) == babl_space ("sRGB"))
|
||||
|
@ -806,7 +806,7 @@ gimp_color_select_simulation (GimpColorSelector *selector,
|
|||
if (format)
|
||||
{
|
||||
softproof_format = format;
|
||||
fish_lch_to_softproof = babl_fish (babl_format ("CIE LCH(ab) double"), format);
|
||||
fish_lch_to_softproof = babl_fish (babl_format ("CIE LCH(ab) float"), format);
|
||||
|
||||
if (babl_format_get_space (format) == babl_space ("sRGB"))
|
||||
{
|
||||
|
@ -939,22 +939,22 @@ gimp_color_select_update_values (GimpColorSelect *select)
|
|||
break;
|
||||
|
||||
case COLOR_SELECT_LCH_LIGHTNESS:
|
||||
values[0] = select->pos[2] * 100.0;
|
||||
values[1] = select->pos[1] * 200.0;
|
||||
values[2] = select->pos[0] * 360.0;
|
||||
gegl_color_set_pixel (color, babl_format ("CIE LCH(ab) double"), values);
|
||||
values_float[0] = select->pos[2] * 100.0;
|
||||
values_float[1] = select->pos[1] * 200.0;
|
||||
values_float[2] = select->pos[0] * 360.0;
|
||||
gegl_color_set_pixel (color, babl_format ("CIE LCH(ab) float"), values);
|
||||
break;
|
||||
case COLOR_SELECT_LCH_CHROMA:
|
||||
values[0] = select->pos[1] * 100.0;
|
||||
values[1] = select->pos[2] * 200.0;
|
||||
values[2] = select->pos[0] * 360.0;
|
||||
gegl_color_set_pixel (color, babl_format ("CIE LCH(ab) double"), values);
|
||||
values_float[0] = select->pos[1] * 100.0;
|
||||
values_float[1] = select->pos[2] * 200.0;
|
||||
values_float[2] = select->pos[0] * 360.0;
|
||||
gegl_color_set_pixel (color, babl_format ("CIE LCH(ab) float"), values);
|
||||
break;
|
||||
case COLOR_SELECT_LCH_HUE:
|
||||
values[0] = select->pos[1] * 100.0;
|
||||
values[1] = select->pos[0] * 200.0;
|
||||
values[2] = select->pos[2] * 360.0;
|
||||
gegl_color_set_pixel (color, babl_format ("CIE LCH(ab) double"), values);
|
||||
values_float[0] = select->pos[1] * 100.0;
|
||||
values_float[1] = select->pos[0] * 200.0;
|
||||
values_float[2] = select->pos[2] * 360.0;
|
||||
gegl_color_set_pixel (color, babl_format ("CIE LCH(ab) float"), values);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -971,13 +971,13 @@ gimp_color_select_update_pos (GimpColorSelect *select)
|
|||
{
|
||||
GimpColorSelector *selector = GIMP_COLOR_SELECTOR (select);
|
||||
GeglColor *color = gimp_color_selector_get_color (selector);
|
||||
gdouble rgb[3];
|
||||
gfloat rgb[3];
|
||||
gdouble lch[3];
|
||||
gfloat hsv[3];
|
||||
|
||||
gegl_color_get_pixel (color, babl_format_with_space ("R'G'B' double", select->format), rgb);
|
||||
gegl_color_get_pixel (color, babl_format_with_space ("HSV float", select->format), hsv);
|
||||
gegl_color_get_pixel (color, babl_format ("CIE LCH(ab) double"), lch);
|
||||
gegl_color_get_pixel (color, babl_format ("CIE LCH(ab) float"), lch);
|
||||
g_object_unref (color);
|
||||
|
||||
switch (select->z_color_fill)
|
||||
|
@ -1602,7 +1602,7 @@ static void
|
|||
color_select_render_lch_lightness (ColorSelectFill *csf)
|
||||
{
|
||||
guchar *p = csf->buffer;
|
||||
gdouble lch[4] = { 0.0, 0.0, 0.0, 1.0 };
|
||||
gfloat lch[4] = { 0.0, 0.0, 0.0, 1.0 };
|
||||
guchar rgb[3];
|
||||
gint i;
|
||||
|
||||
|
@ -1621,7 +1621,7 @@ static void
|
|||
color_select_render_lch_chroma (ColorSelectFill *csf)
|
||||
{
|
||||
guchar *p = csf->buffer;
|
||||
gdouble lch[4] = { 80.0, 0.0, 0.0, 1.0 };
|
||||
gfloat lch[4] = { 80.0, 0.0, 0.0, 1.0 };
|
||||
guchar rgb[3];
|
||||
gint i;
|
||||
|
||||
|
@ -1640,7 +1640,7 @@ static void
|
|||
color_select_render_lch_hue (ColorSelectFill *csf)
|
||||
{
|
||||
guchar *p = csf->buffer;
|
||||
gdouble lch[4] = { 80.0, 200.0, 0.0, 1.0 };
|
||||
gfloat lch[4] = { 80.0, 200.0, 0.0, 1.0 };
|
||||
guchar rgb[3];
|
||||
gint i;
|
||||
|
||||
|
@ -1895,7 +1895,7 @@ color_select_render_lch_chroma_lightness (ColorSelectFill *csf)
|
|||
{
|
||||
GeglColor *c = NULL;
|
||||
guchar *p = csf->buffer;
|
||||
gdouble lch[3];
|
||||
gfloat lch[3];
|
||||
|
||||
c = gegl_color_new (NULL);
|
||||
|
||||
|
@ -1906,7 +1906,7 @@ color_select_render_lch_chroma_lightness (ColorSelectFill *csf)
|
|||
{
|
||||
lch[1] = i * 200.0 / csf->width;
|
||||
|
||||
gegl_color_set_pixel (c, babl_format ("CIE LCH(ab) double"), lch);
|
||||
gegl_color_set_pixel (c, babl_format ("CIE LCH(ab) float"), lch);
|
||||
|
||||
if (gimp_color_is_out_of_gamut (c, babl_format_get_space (rgbf_format)) ||
|
||||
(softproof_format &&
|
||||
|
@ -1932,7 +1932,7 @@ color_select_render_lch_hue_lightness (ColorSelectFill *csf)
|
|||
{
|
||||
GeglColor *c = NULL;
|
||||
guchar *p = csf->buffer;
|
||||
gdouble lch[3];
|
||||
gfloat lch[3];
|
||||
|
||||
c = gegl_color_new (NULL);
|
||||
|
||||
|
@ -1943,7 +1943,7 @@ color_select_render_lch_hue_lightness (ColorSelectFill *csf)
|
|||
{
|
||||
lch[2] = i * 360.0 / csf->width;
|
||||
|
||||
gegl_color_set_pixel (c, babl_format ("CIE LCH(ab) double"), lch);
|
||||
gegl_color_set_pixel (c, babl_format ("CIE LCH(ab) float"), lch);
|
||||
|
||||
if (gimp_color_is_out_of_gamut (c, babl_format_get_space (rgbf_format)) ||
|
||||
(softproof_format &&
|
||||
|
@ -1969,7 +1969,7 @@ color_select_render_lch_hue_chroma (ColorSelectFill *csf)
|
|||
{
|
||||
GeglColor *c = NULL;
|
||||
guchar *p = csf->buffer;
|
||||
gdouble lch[3];
|
||||
gfloat lch[3];
|
||||
gint i;
|
||||
|
||||
c = gegl_color_new (NULL);
|
||||
|
@ -1981,7 +1981,7 @@ color_select_render_lch_hue_chroma (ColorSelectFill *csf)
|
|||
{
|
||||
lch[2] = i * 360.0 / csf->width;
|
||||
|
||||
gegl_color_set_pixel (c, babl_format ("CIE LCH(ab) double"), lch);
|
||||
gegl_color_set_pixel (c, babl_format ("CIE LCH(ab) float"), lch);
|
||||
|
||||
if (gimp_color_is_out_of_gamut (c, babl_format_get_space (rgbf_format)) ||
|
||||
(softproof_format &&
|
||||
|
|
Loading…
Reference in New Issue