mirror of https://github.com/GNOME/gimp.git
libgimpcolor: Port gimp_cairo_checkerboard_create ()...
to GeglColor.
This commit is contained in:
parent
796ff8233d
commit
99e0446dfd
|
@ -113,19 +113,19 @@ gimp_display_shell_draw_checkerboard (GimpDisplayShell *shell,
|
||||||
|
|
||||||
if (G_UNLIKELY (! shell->checkerboard))
|
if (G_UNLIKELY (! shell->checkerboard))
|
||||||
{
|
{
|
||||||
GimpCheckSize check_size;
|
GimpCheckSize check_size;
|
||||||
GimpRGB rgb1;
|
const GeglColor *rgb1;
|
||||||
GimpRGB rgb2;
|
const GeglColor *rgb2;
|
||||||
|
|
||||||
g_object_get (shell->display->config,
|
g_object_get (shell->display->config,
|
||||||
"transparency-size", &check_size,
|
"transparency-size", &check_size,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
gegl_color_get_pixel (GEGL_COLOR (gimp_render_check_color1 ()), babl_format ("R'G'B'A double"), &rgb1);
|
rgb1 = gimp_render_check_color1 ();
|
||||||
gegl_color_get_pixel (GEGL_COLOR (gimp_render_check_color2 ()), babl_format ("R'G'B'A double"), &rgb2);
|
rgb2 = gimp_render_check_color2 ();
|
||||||
|
|
||||||
shell->checkerboard =
|
shell->checkerboard =
|
||||||
gimp_cairo_checkerboard_create (cr, 1 << (check_size + 2), &rgb1, &rgb2);
|
gimp_cairo_checkerboard_create (cr, 1 << (check_size + 2), rgb1, rgb2);
|
||||||
}
|
}
|
||||||
|
|
||||||
cairo_translate (cr, - shell->offset_x, - shell->offset_y);
|
cairo_translate (cr, - shell->offset_x, - shell->offset_y);
|
||||||
|
|
|
@ -778,12 +778,12 @@ gimp_view_renderer_real_draw (GimpViewRenderer *renderer,
|
||||||
{
|
{
|
||||||
if (! renderer->priv->pattern)
|
if (! renderer->priv->pattern)
|
||||||
{
|
{
|
||||||
GimpRGB rgb1;
|
const GeglColor *rgb1;
|
||||||
GimpRGB rgb2;
|
const GeglColor *rgb2;
|
||||||
|
|
||||||
gegl_color_get_pixel ((GeglColor *) gimp_render_check_color1 (), babl_format ("R'G'B'A double"), &rgb1);
|
rgb1 = gimp_render_check_color1 ();
|
||||||
gegl_color_get_pixel ((GeglColor *) gimp_render_check_color2 (), babl_format ("R'G'B'A double"), &rgb2);
|
rgb2 = gimp_render_check_color2 ();
|
||||||
renderer->priv->pattern = gimp_cairo_checkerboard_create (cr, GIMP_CHECK_SIZE_SM, &rgb1, &rgb2);
|
renderer->priv->pattern = gimp_cairo_checkerboard_create (cr, GIMP_CHECK_SIZE_SM, rgb1, rgb2);
|
||||||
}
|
}
|
||||||
|
|
||||||
cairo_set_source (cr, renderer->priv->pattern);
|
cairo_set_source (cr, renderer->priv->pattern);
|
||||||
|
@ -1158,12 +1158,12 @@ gimp_view_render_temp_buf_to_surface (GimpViewRenderer *renderer,
|
||||||
{
|
{
|
||||||
if (! renderer->priv->pattern)
|
if (! renderer->priv->pattern)
|
||||||
{
|
{
|
||||||
GimpRGB rgb1;
|
const GeglColor *rgb1;
|
||||||
GimpRGB rgb2;
|
const GeglColor *rgb2;
|
||||||
|
|
||||||
gegl_color_get_pixel ((GeglColor *) gimp_render_check_color1 (), babl_format ("R'G'B'A double"), &rgb1);
|
rgb1 = gimp_render_check_color1 ();
|
||||||
gegl_color_get_pixel ((GeglColor *) gimp_render_check_color2 (), babl_format ("R'G'B'A double"), &rgb2);
|
rgb2 = gimp_render_check_color2 ();
|
||||||
renderer->priv->pattern = gimp_cairo_checkerboard_create (cr, GIMP_CHECK_SIZE_SM, &rgb1, &rgb2);
|
renderer->priv->pattern = gimp_cairo_checkerboard_create (cr, GIMP_CHECK_SIZE_SM, rgb1, rgb2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -95,10 +95,10 @@ gimp_cairo_set_source_rgba (cairo_t *cr,
|
||||||
* Since: 2.6
|
* Since: 2.6
|
||||||
**/
|
**/
|
||||||
cairo_pattern_t *
|
cairo_pattern_t *
|
||||||
gimp_cairo_checkerboard_create (cairo_t *cr,
|
gimp_cairo_checkerboard_create (cairo_t *cr,
|
||||||
gint size,
|
gint size,
|
||||||
const GimpRGB *light,
|
const GeglColor *light,
|
||||||
const GimpRGB *dark)
|
const GeglColor *dark)
|
||||||
{
|
{
|
||||||
cairo_t *context;
|
cairo_t *context;
|
||||||
cairo_surface_t *surface;
|
cairo_surface_t *surface;
|
||||||
|
@ -113,20 +113,34 @@ gimp_cairo_checkerboard_create (cairo_t *cr,
|
||||||
context = cairo_create (surface);
|
context = cairo_create (surface);
|
||||||
|
|
||||||
if (light)
|
if (light)
|
||||||
gimp_cairo_set_source_rgb (context, light);
|
{
|
||||||
|
gdouble rgb[3];
|
||||||
|
|
||||||
|
gegl_color_get_pixel (GEGL_COLOR (light), babl_format ("R'G'B' double"), rgb);
|
||||||
|
cairo_set_source_rgb (context, rgb[0], rgb[1], rgb[2]);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
cairo_set_source_rgb (context,
|
{
|
||||||
GIMP_CHECK_LIGHT, GIMP_CHECK_LIGHT, GIMP_CHECK_LIGHT);
|
cairo_set_source_rgb (context,
|
||||||
|
GIMP_CHECK_LIGHT, GIMP_CHECK_LIGHT, GIMP_CHECK_LIGHT);
|
||||||
|
}
|
||||||
|
|
||||||
cairo_rectangle (context, 0, 0, size, size);
|
cairo_rectangle (context, 0, 0, size, size);
|
||||||
cairo_rectangle (context, size, size, size, size);
|
cairo_rectangle (context, size, size, size, size);
|
||||||
cairo_fill (context);
|
cairo_fill (context);
|
||||||
|
|
||||||
if (dark)
|
if (dark)
|
||||||
gimp_cairo_set_source_rgb (context, dark);
|
{
|
||||||
|
gdouble rgb[3];
|
||||||
|
|
||||||
|
gegl_color_get_pixel (GEGL_COLOR (dark), babl_format ("R'G'B' double"), rgb);
|
||||||
|
cairo_set_source_rgb (context, rgb[0], rgb[1], rgb[2]);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
cairo_set_source_rgb (context,
|
{
|
||||||
GIMP_CHECK_DARK, GIMP_CHECK_DARK, GIMP_CHECK_DARK);
|
cairo_set_source_rgb (context,
|
||||||
|
GIMP_CHECK_DARK, GIMP_CHECK_DARK, GIMP_CHECK_DARK);
|
||||||
|
}
|
||||||
|
|
||||||
cairo_rectangle (context, 0, size, size, size);
|
cairo_rectangle (context, 0, size, size, size);
|
||||||
cairo_rectangle (context, size, 0, size, size);
|
cairo_rectangle (context, size, 0, size, size);
|
||||||
|
|
|
@ -31,8 +31,8 @@ void gimp_cairo_set_source_rgba (cairo_t *cr,
|
||||||
|
|
||||||
cairo_pattern_t * gimp_cairo_checkerboard_create (cairo_t *cr,
|
cairo_pattern_t * gimp_cairo_checkerboard_create (cairo_t *cr,
|
||||||
gint size,
|
gint size,
|
||||||
const GimpRGB *light,
|
const GeglColor *light,
|
||||||
const GimpRGB *dark);
|
const GeglColor *dark);
|
||||||
|
|
||||||
const Babl * gimp_cairo_surface_get_format (cairo_surface_t *surface);
|
const Babl * gimp_cairo_surface_get_format (cairo_surface_t *surface);
|
||||||
GeglBuffer * gimp_cairo_surface_create_buffer (cairo_surface_t *surface,
|
GeglBuffer * gimp_cairo_surface_create_buffer (cairo_surface_t *surface,
|
||||||
|
|
|
@ -641,14 +641,10 @@ repaint_da (GtkWidget *darea,
|
||||||
cairo_pattern_t *check;
|
cairo_pattern_t *check;
|
||||||
GeglColor *color1 = (GeglColor *) gimp_check_custom_color1 ();
|
GeglColor *color1 = (GeglColor *) gimp_check_custom_color1 ();
|
||||||
GeglColor *color2 = (GeglColor *) gimp_check_custom_color2 ();
|
GeglColor *color2 = (GeglColor *) gimp_check_custom_color2 ();
|
||||||
GimpRGB rgb1;
|
|
||||||
GimpRGB rgb2;
|
|
||||||
|
|
||||||
gimp_checks_get_colors (gimp_check_type (), &color1, &color2);
|
gimp_checks_get_colors (gimp_check_type (), &color1, &color2);
|
||||||
|
|
||||||
gegl_color_get_pixel (color1, babl_format ("R'G'B'A double"), &rgb1);
|
check = gimp_cairo_checkerboard_create (cr, 32, color1, color2);
|
||||||
gegl_color_get_pixel (color2, babl_format ("R'G'B'A double"), &rgb2);
|
|
||||||
check = gimp_cairo_checkerboard_create (cr, 32, &rgb1, &rgb2);
|
|
||||||
|
|
||||||
cairo_set_source (cr, check);
|
cairo_set_source (cr, check);
|
||||||
cairo_paint (cr);
|
cairo_paint (cr);
|
||||||
|
|
Loading…
Reference in New Issue