diff options
Diffstat (limited to 'test/halo.c')
-rw-r--r-- | test/halo.c | 64 |
1 files changed, 62 insertions, 2 deletions
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) |