diff options
author | Carl Worth <cworth@cworth.org> | 2006-06-10 08:21:18 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2006-06-10 08:21:18 -0700 |
commit | ebb53b2572cc74f90d2afd03807b7d4f41a4965a (patch) | |
tree | c202b04293ced7677bd70e591b9656001a2602df /test/fallback-resolution.c | |
parent | 6efeb1e19b4c30d6a88bd9248a1d67b791b8df0d (diff) | |
download | cairo-ebb53b2572cc74f90d2afd03807b7d4f41a4965a.tar.gz |
Add text and stroke to falback-resolution test (showing bugs in each).
Diffstat (limited to 'test/fallback-resolution.c')
-rw-r--r-- | test/fallback-resolution.c | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/test/fallback-resolution.c b/test/fallback-resolution.c index 421755d9b..d3ab6c712 100644 --- a/test/fallback-resolution.c +++ b/test/fallback-resolution.c @@ -36,6 +36,35 @@ #define INCHES_TO_POINTS(in) ((in) * 72.0) #define SIZE INCHES_TO_POINTS(1) +static void +draw (cairo_t *cr, double width, double height, double ppi) +{ + char message[80]; + + cairo_save (cr); + + cairo_new_path (cr); + + cairo_set_line_width (cr, .05 * SIZE / 2.0); + cairo_arc (cr, SIZE / 2.0, SIZE / 2.0, + 0.75 * SIZE / 2.0, + 0, 2.0 * M_PI); + cairo_stroke (cr); + + cairo_arc (cr, SIZE / 2.0, SIZE / 2.0, + 0.6 * SIZE / 2.0, + 0, 2.0 * M_PI); + cairo_fill (cr); + + cairo_move_to (cr, .4 * SIZE/2.0, SIZE/2.0); + sprintf (message, "Fallback PPI: %g", ppi); + cairo_set_source_rgb (cr, 1, 1, 1); /* white */ + cairo_set_font_size (cr, .1 * SIZE / 2.0); + cairo_show_text (cr, message); + + cairo_restore (cr); +} + int main (void) { @@ -43,7 +72,7 @@ main (void) cairo_t *cr; cairo_status_t status; char *filename; - double dpi[] = { 37.5, 75., 150., 300., 600. }; + double ppi[] = { 600., 300., 150., 75., 37.5 }; int i; printf("\n"); @@ -57,12 +86,11 @@ main (void) /* Force image fallbacks before drawing anything. */ cairo_pdf_test_force_fallbacks (); - for (i = 0; i < sizeof(dpi) / sizeof (dpi[0]); i++) { - cairo_surface_set_fallback_resolution (surface, dpi[i], dpi[i]); - cairo_arc (cr, SIZE / 2.0, SIZE / 2.0, - 0.75 * SIZE / 2.0, - 0, 2.0 * M_PI); - cairo_fill (cr); + for (i = 0; i < sizeof(ppi) / sizeof (ppi[0]); i++) + { + cairo_surface_set_fallback_resolution (surface, ppi[i], ppi[i]); + + draw (cr, SIZE, SIZE, ppi[i]); cairo_show_page (cr); } |