From 8689d75caaa9c6ee42976873d21684fa9f48834f Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 16 Jun 2010 15:09:22 +0100 Subject: [PATCH] test/halo: Transformation seems key to the bug... Only it is actually transformation of the result that is required in order to magnify the effect to a detectable level. --- test/Makefile.am | 5 +++ test/halo-transform.image16.ref.png | Bin 0 -> 10983 bytes test/halo-transform.ps.ref.png | Bin 0 -> 8691 bytes test/halo-transform.ref.png | Bin 0 -> 15086 bytes test/halo-transform.xlib.ref.png | Bin 0 -> 15346 bytes test/halo.c | 64 +++++++++++++++++++++++++++- test/halo.image16.ref.png | Bin 5328 -> 6172 bytes test/halo.ps.ref.png | Bin 0 -> 5220 bytes test/halo.ref.png | Bin 7524 -> 8839 bytes test/halo.xlib.ref.png | Bin 7404 -> 8835 bytes 10 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 test/halo-transform.image16.ref.png create mode 100644 test/halo-transform.ps.ref.png create mode 100644 test/halo-transform.ref.png create mode 100644 test/halo-transform.xlib.ref.png create mode 100644 test/halo.ps.ref.png diff --git a/test/Makefile.am b/test/Makefile.am index 6e3147301..b76b8148f 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -690,6 +690,11 @@ REFERENCE_IMAGES = \ halo.ref.png \ halo.image16.ref.png \ halo.xlib.ref.png \ + halo.ps.ref.png \ + halo-transform.ref.png \ + halo-transform.image16.ref.png \ + halo-transform.xlib.ref.png \ + halo-transform.ps.ref.png \ huge-linear.image16.ref.png \ huge-linear.pdf.ref.png \ huge-linear.ps3.ref.png \ diff --git a/test/halo-transform.image16.ref.png b/test/halo-transform.image16.ref.png new file mode 100644 index 0000000000000000000000000000000000000000..b2268f01faa9f258e9df855ed1891bd258c9e9b2 GIT binary patch literal 10983 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 Y^-BEN!Z%R@Y+wbEkx&%>EovC_KcP+yaR2}S literal 0 HcmV?d00001 diff --git a/test/halo-transform.xlib.ref.png b/test/halo-transform.xlib.ref.png new file mode 100644 index 0000000000000000000000000000000000000000..3abef9ffca3fc3b36a7c37020ddda0955f49cd37 GIT binary patch literal 15346 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 QhIoOb#TCTrM2v#|7YJ^7!vFvP literal 0 HcmV?d00001 diff --git a/test/halo.c b/test/halo.c index 87ca861a1..30064e51a 100644 --- a/test/halo.c +++ b/test/halo.c @@ -35,7 +35,7 @@ halo_around_path (cairo_t *cr, const char *str) { cairo_text_path (cr, str); - cairo_set_source_rgba (cr, 0, .5, 1, .5); + cairo_set_source_rgb (cr, 0, .5, 1); cairo_stroke_preserve (cr); cairo_set_source_rgb (cr, 1, .5, 0); cairo_fill (cr); @@ -49,7 +49,7 @@ halo_around_text (cairo_t *cr, const char *str) cairo_get_current_point (cr, &x, &y); cairo_text_path (cr, str); - cairo_set_source_rgba (cr, 0, .5, 1, .5); + cairo_set_source_rgb (cr, 0, .5, 1); cairo_stroke(cr); cairo_set_source_rgb (cr, 1, .5, 0); @@ -68,13 +68,66 @@ draw (cairo_t *cr, int width, int height) cairo_text_extents (cr, string, &extents); + cairo_set_font_size (cr, 12); cairo_set_line_width (cr, 3); cairo_move_to (cr, 9, 4 + extents.height); halo_around_path (cr, string); cairo_move_to (cr, 109, 4 + extents.height); + halo_around_text (cr, string); + + cairo_set_font_size (cr, 6); + cairo_set_line_width (cr, 3); + cairo_move_to (cr, 19 + extents.width, 20 + extents.height); + halo_around_path (cr, "0"); + + cairo_move_to (cr, 119 + extents.width, 20 + extents.height); + halo_around_text (cr, "0"); + + cairo_set_font_size (cr, 64); + cairo_set_line_width (cr, 10); + cairo_move_to (cr, 8, 70); + halo_around_path (cr, "6"); + cairo_move_to (cr, 32, 90); + halo_around_path (cr, "7"); + + cairo_move_to (cr, 108, 70); + halo_around_text (cr, "6"); + cairo_move_to (cr, 132, 90); + halo_around_text (cr, "7"); + + return CAIRO_TEST_SUCCESS; +} + +static cairo_test_status_t +draw_transform (cairo_t *cr, int width, int height) +{ + const char *string = "0123456789"; + cairo_text_extents_t extents; + + cairo_translate (cr, 50, 50); + cairo_scale (cr, M_SQRT2, M_SQRT2); + + cairo_set_source_rgb (cr, 1, 1, 1); + cairo_paint (cr); + + cairo_text_extents (cr, string, &extents); + + cairo_set_line_width (cr, 3); + cairo_move_to (cr, 9, 4 + extents.height); halo_around_path (cr, string); + cairo_move_to (cr, 109, 4 + extents.height); + halo_around_text (cr, string); + + cairo_set_font_size (cr, 6); + cairo_set_line_width (cr, 3); + cairo_move_to (cr, 19 + extents.width, 20 + extents.height); + halo_around_path (cr, "0"); + + cairo_move_to (cr, 119 + extents.width, 20 + extents.height); + halo_around_text (cr, "0"); + cairo_set_font_size (cr, 64); cairo_set_line_width (cr, 10); cairo_move_to (cr, 8, 70); @@ -96,3 +149,10 @@ CAIRO_TEST (halo, NULL, /* requirements */ 200, 100, NULL, draw) + +CAIRO_TEST (halo_transform, + "Check the show_glyphs() vs glyph_path()", + "text", /* keywords */ + NULL, /* requirements */ + 400, 200, + NULL, draw_transform) diff --git a/test/halo.image16.ref.png b/test/halo.image16.ref.png index 050f58b32fc47747d98e22ce5afd859d837fc2fe..a813cd92117e88e70155ef5d2384ad56c1b8eac9 100644 GIT binary patch literal 6172 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 diff --git a/test/halo.ps.ref.png b/test/halo.ps.ref.png new file mode 100644 index 0000000000000000000000000000000000000000..1426d2e0c6a6bb948af20c294f3483450ca34a4d GIT binary patch literal 5220 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 JPDHLkV1gLdM@|3$ literal 7524 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 diff --git a/test/halo.xlib.ref.png b/test/halo.xlib.ref.png index 1d3e2c52204b0e73b097d16d847af405501a3793..0433b660d5c1b156b909d68dfa438ddbb55dfa31 100644 GIT binary patch literal 8835 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 FV1gD8LzMsk literal 7404 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 eI@Y4*MgJcvOVg_~$7jF*0000