Skip to content

Commit

Permalink
test/halo: Transformation seems key to the bug...
Browse files Browse the repository at this point in the history
Only it is actually transformation of the result that is required in
order to magnify the effect to a detectable level.
  • Loading branch information
Chris Wilson committed Jun 16, 2010
1 parent 71936a1 commit 8689d75
Show file tree
Hide file tree
Showing 10 changed files with 67 additions and 2 deletions.
5 changes: 5 additions & 0 deletions test/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
Binary file added test/halo-transform.image16.ref.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test/halo-transform.ps.ref.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test/halo-transform.ref.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test/halo-transform.xlib.ref.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
64 changes: 62 additions & 2 deletions test/halo.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand All @@ -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);
Expand All @@ -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)
Binary file modified test/halo.image16.ref.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test/halo.ps.ref.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified test/halo.ref.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified test/halo.xlib.ref.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 8689d75

Please sign in to comment.