app: color manage palette and gradient previews
This commit is contained in:
parent
a35276ed91
commit
9a871f6262
2 changed files with 29 additions and 1 deletions
|
|
@ -159,6 +159,7 @@ gimp_view_renderer_gradient_render (GimpViewRenderer *renderer,
|
|||
GimpViewRendererGradient *rendergrad = GIMP_VIEW_RENDERER_GRADIENT (renderer);
|
||||
GimpGradient *gradient = GIMP_GRADIENT (renderer->viewable);
|
||||
GimpGradientSegment *seg = NULL;
|
||||
GimpColorTransform *transform;
|
||||
guchar *buf;
|
||||
guchar *dest;
|
||||
gint dest_stride;
|
||||
|
|
@ -194,6 +195,16 @@ gimp_view_renderer_gradient_render (GimpViewRenderer *renderer,
|
|||
dest = cairo_image_surface_get_data (renderer->surface);
|
||||
dest_stride = cairo_image_surface_get_stride (renderer->surface);
|
||||
|
||||
transform = gimp_view_renderer_get_color_transform (renderer, widget,
|
||||
babl_format ("cairo-ARGB32"),
|
||||
babl_format ("cairo-ARGB32"));
|
||||
|
||||
if (transform)
|
||||
gimp_color_transform_process_pixels (transform,
|
||||
babl_format ("cairo-ARGB32"), buf,
|
||||
babl_format ("cairo-ARGB32"), buf,
|
||||
renderer->width);
|
||||
|
||||
for (y = 0; y < renderer->height; y++, dest += dest_stride)
|
||||
{
|
||||
memcpy (dest, buf, renderer->width * 4);
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ gimp_view_renderer_palette_render (GimpViewRenderer *renderer,
|
|||
{
|
||||
GimpViewRendererPalette *renderpal = GIMP_VIEW_RENDERER_PALETTE (renderer);
|
||||
GimpPalette *palette;
|
||||
GimpColorTransform *transform;
|
||||
guchar *row;
|
||||
guchar *dest;
|
||||
GList *list;
|
||||
|
|
@ -150,6 +151,10 @@ gimp_view_renderer_palette_render (GimpViewRenderer *renderer,
|
|||
dest = cairo_image_surface_get_data (renderer->surface);
|
||||
dest_stride = cairo_image_surface_get_stride (renderer->surface);
|
||||
|
||||
transform = gimp_view_renderer_get_color_transform (renderer, widget,
|
||||
babl_format ("cairo-RGB24"),
|
||||
babl_format ("cairo-RGB24"));
|
||||
|
||||
for (y = 0; y < renderer->height; y++)
|
||||
{
|
||||
if ((y % renderpal->cell_height) == 0)
|
||||
|
|
@ -200,7 +205,19 @@ gimp_view_renderer_palette_render (GimpViewRenderer *renderer,
|
|||
}
|
||||
else
|
||||
{
|
||||
memcpy (dest, row, renderer->width * 4);
|
||||
if (transform)
|
||||
{
|
||||
gimp_color_transform_process_pixels (transform,
|
||||
babl_format ("cairo-RGB24"),
|
||||
row,
|
||||
babl_format ("cairo-RGB24"),
|
||||
dest,
|
||||
renderer->width);
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy (dest, row, renderer->width * 4);
|
||||
}
|
||||
}
|
||||
|
||||
dest += dest_stride;
|
||||
|
|
|
|||
Loading…
Reference in a new issue