From ce5fb1f1fa5a766c75735e0b4064d31fdb80a877 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Sat, 7 Nov 2015 10:20:55 -0500 Subject: [PATCH 1/2] Don't draw text when it's completely clipped away --- src/_backend_agg.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/_backend_agg.h b/src/_backend_agg.h index 0249b3f4f13a..d9b200e9e9f0 100644 --- a/src/_backend_agg.h +++ b/src/_backend_agg.h @@ -788,9 +788,11 @@ inline void RendererAgg::draw_text_image(GCAgg &gc, ImageArray &image, int x, in text.clip(clip); } - for (int yi = text.y1; yi < text.y2; ++yi) { - pixFmt.blend_solid_hspan(text.x1, yi, (text.x2 - text.x1), gc.color, - &image(yi - (y - image.dim(0)), text.x1 - x)); + if (text.x2 > text.x1) { + for (int yi = text.y1; yi < text.y2; ++yi) { + pixFmt.blend_solid_hspan(text.x1, yi, (text.x2 - text.x1), gc.color, + &image((yi - y) - image.dim(0), text.x1 - x)); + } } } } From e4048e747839fcc0f9bb804870f9b41d8f26958b Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Sun, 8 Nov 2015 06:29:37 -0500 Subject: [PATCH 2/2] Fix y calculation --- src/_backend_agg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_backend_agg.h b/src/_backend_agg.h index d9b200e9e9f0..83311a6d8538 100644 --- a/src/_backend_agg.h +++ b/src/_backend_agg.h @@ -791,7 +791,7 @@ inline void RendererAgg::draw_text_image(GCAgg &gc, ImageArray &image, int x, in if (text.x2 > text.x1) { for (int yi = text.y1; yi < text.y2; ++yi) { pixFmt.blend_solid_hspan(text.x1, yi, (text.x2 - text.x1), gc.color, - &image((yi - y) - image.dim(0), text.x1 - x)); + &image(yi - (y - image.dim(0)), text.x1 - x)); } } }