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 000000000..b2268f01f Binary files /dev/null and b/test/halo-transform.image16.ref.png differ diff --git a/test/halo-transform.ps.ref.png b/test/halo-transform.ps.ref.png new file mode 100644 index 000000000..89e1f7629 Binary files /dev/null and b/test/halo-transform.ps.ref.png differ diff --git a/test/halo-transform.ref.png b/test/halo-transform.ref.png new file mode 100644 index 000000000..6ad3ce1db Binary files /dev/null and b/test/halo-transform.ref.png differ diff --git a/test/halo-transform.xlib.ref.png b/test/halo-transform.xlib.ref.png new file mode 100644 index 000000000..3abef9ffc Binary files /dev/null and b/test/halo-transform.xlib.ref.png differ 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 050f58b32..a813cd921 100644 Binary files a/test/halo.image16.ref.png and b/test/halo.image16.ref.png differ diff --git a/test/halo.ps.ref.png b/test/halo.ps.ref.png new file mode 100644 index 000000000..1426d2e0c Binary files /dev/null and b/test/halo.ps.ref.png differ diff --git a/test/halo.ref.png b/test/halo.ref.png index 2f3382e38..e2973a0f3 100644 Binary files a/test/halo.ref.png and b/test/halo.ref.png differ diff --git a/test/halo.xlib.ref.png b/test/halo.xlib.ref.png index 1d3e2c522..0433b660d 100644 Binary files a/test/halo.xlib.ref.png and b/test/halo.xlib.ref.png differ