diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-06-16 15:09:22 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-06-16 15:40:42 +0100 |
commit | 8689d75caaa9c6ee42976873d21684fa9f48834f (patch) | |
tree | 5ca7ae949ad51401e1e384162216f6452666239c | |
parent | 71936a1f414807a51c68de111362c2d5499bdfa7 (diff) |
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.
-rw-r--r-- | test/Makefile.am | 5 | ||||
-rw-r--r-- | test/halo-transform.image16.ref.png | bin | 0 -> 10983 bytes | |||
-rw-r--r-- | test/halo-transform.ps.ref.png | bin | 0 -> 8691 bytes | |||
-rw-r--r-- | test/halo-transform.ref.png | bin | 0 -> 15086 bytes | |||
-rw-r--r-- | test/halo-transform.xlib.ref.png | bin | 0 -> 15346 bytes | |||
-rw-r--r-- | test/halo.c | 64 | ||||
-rw-r--r-- | test/halo.image16.ref.png | bin | 5328 -> 6172 bytes | |||
-rw-r--r-- | test/halo.ps.ref.png | bin | 0 -> 5220 bytes | |||
-rw-r--r-- | test/halo.ref.png | bin | 7524 -> 8839 bytes | |||
-rw-r--r-- | test/halo.xlib.ref.png | bin | 7404 -> 8835 bytes |
10 files changed, 67 insertions, 2 deletions
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 Binary files differnew file mode 100644 index 000000000..b2268f01f --- /dev/null +++ b/test/halo-transform.image16.ref.png diff --git a/test/halo-transform.ps.ref.png b/test/halo-transform.ps.ref.png Binary files differnew file mode 100644 index 000000000..89e1f7629 --- /dev/null +++ b/test/halo-transform.ps.ref.png diff --git a/test/halo-transform.ref.png b/test/halo-transform.ref.png Binary files differnew file mode 100644 index 000000000..6ad3ce1db --- /dev/null +++ b/test/halo-transform.ref.png diff --git a/test/halo-transform.xlib.ref.png b/test/halo-transform.xlib.ref.png Binary files differnew file mode 100644 index 000000000..3abef9ffc --- /dev/null +++ b/test/halo-transform.xlib.ref.png 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 Binary files differindex 050f58b32..a813cd921 100644 --- a/test/halo.image16.ref.png +++ b/test/halo.image16.ref.png diff --git a/test/halo.ps.ref.png b/test/halo.ps.ref.png Binary files differnew file mode 100644 index 000000000..1426d2e0c --- /dev/null +++ b/test/halo.ps.ref.png diff --git a/test/halo.ref.png b/test/halo.ref.png Binary files differindex 2f3382e38..e2973a0f3 100644 --- a/test/halo.ref.png +++ b/test/halo.ref.png diff --git a/test/halo.xlib.ref.png b/test/halo.xlib.ref.png Binary files differindex 1d3e2c522..0433b660d 100644 --- a/test/halo.xlib.ref.png +++ b/test/halo.xlib.ref.png |