From fbf528f46deaebc7d8cf38fc61be9e016f207575 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Tue, 9 Oct 2012 17:37:53 +0100 Subject: [PATCH] compositor: Reduce glyph "overlap" if the inked pixels are opaque We can ignore the issue of overdraw if when we paint the glyphs, the result is opaque. Signed-off-by: Chris Wilson --- src/cairo-composite-rectangles.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/cairo-composite-rectangles.c b/src/cairo-composite-rectangles.c index c792985b0..c26098af4 100644 --- a/src/cairo-composite-rectangles.c +++ b/src/cairo-composite-rectangles.c @@ -444,6 +444,13 @@ _cairo_composite_rectangles_init_for_glyphs (cairo_composite_rectangles_t *exten if (unlikely (status)) return status; + if (overlap && *overlap && + scaled_font->options.antialias == CAIRO_ANTIALIAS_NONE && + _cairo_pattern_is_opaque_solid (&extents->source_pattern.base)) + { + *overlap = FALSE; + } + return _cairo_composite_rectangles_intersect (extents, clip); }