diff options
author | Andrea Canciani <ranma42@gmail.com> | 2011-06-25 10:29:04 +0200 |
---|---|---|
committer | Andrea Canciani <ranma42@gmail.com> | 2011-06-25 10:32:45 +0200 |
commit | ffdfdf2fa99dab340e03884267218b134d68265b (patch) | |
tree | 7382acdbf055edd934c725ceae63a35fec1cb600 /test | |
parent | a468489270faabacbf89febc250c2d393fda1a13 (diff) |
test: Merge text-antialias-*
The test-antialias-* tests perform the same operation with just a
different antialias flag. Sharing the code ensures that they are kept
in sync and permits adding new flags combinations easily.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=14268
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile.sources | 4 | ||||
-rw-r--r-- | test/text-antialias-gray.c | 76 | ||||
-rw-r--r-- | test/text-antialias-none.c | 76 | ||||
-rw-r--r-- | test/text-antialias.c (renamed from test/text-antialias-subpixel.c) | 40 |
4 files changed, 37 insertions, 159 deletions
diff --git a/test/Makefile.sources b/test/Makefile.sources index c5a949ae7..70273896d 100644 --- a/test/Makefile.sources +++ b/test/Makefile.sources @@ -273,9 +273,7 @@ test_sources = \ surface-pattern-scale-down.c \ surface-pattern-scale-down-extend.c \ surface-pattern-scale-up.c \ - text-antialias-gray.c \ - text-antialias-none.c \ - text-antialias-subpixel.c \ + text-antialias.c \ text-cache-crash.c \ text-glyph-range.c \ text-pattern.c \ diff --git a/test/text-antialias-gray.c b/test/text-antialias-gray.c deleted file mode 100644 index 84143f04e..000000000 --- a/test/text-antialias-gray.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright © 2005 Red Hat, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software - * and its documentation for any purpose is hereby granted without - * fee, provided that the above copyright notice appear in all copies - * and that both that copyright notice and this permission notice - * appear in supporting documentation, and that the name of - * Red Hat, Inc. not be used in advertising or publicity pertaining to - * distribution of the software without specific, written prior - * permission. Red Hat, Inc. makes no representations about the - * suitability of this software for any purpose. It is provided "as - * is" without express or implied warranty. - * - * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS - * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR - * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * Author: Carl D. Worth <cworth@cworth.org> - */ - -#include "cairo-test.h" - -#define WIDTH 31 -#define HEIGHT 22 -#define TEXT_SIZE 12 - -static cairo_test_status_t -draw (cairo_t *cr, int width, int height) -{ - cairo_text_extents_t extents; - cairo_font_options_t *font_options; - const char black[] = "black", blue[] = "blue"; - - /* We draw in the default black, so paint white first. */ - cairo_save (cr); - cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */ - cairo_paint (cr); - cairo_restore (cr); - - cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans", - CAIRO_FONT_SLANT_NORMAL, - CAIRO_FONT_WEIGHT_NORMAL); - cairo_set_font_size (cr, TEXT_SIZE); - - font_options = cairo_font_options_create (); - cairo_get_font_options (cr, font_options); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - cairo_set_font_options (cr, font_options); - - cairo_font_options_destroy (font_options); - - cairo_set_source_rgb (cr, 0, 0, 0); /* black */ - cairo_text_extents (cr, black, &extents); - cairo_move_to (cr, -extents.x_bearing, -extents.y_bearing); - cairo_show_text (cr, black); - cairo_translate (cr, 0, -extents.y_bearing + 1); - - cairo_set_source_rgb (cr, 0, 0, 1); /* blue */ - cairo_text_extents (cr, blue, &extents); - cairo_move_to (cr, -extents.x_bearing, -extents.y_bearing); - cairo_show_text (cr, blue); - - return CAIRO_TEST_SUCCESS; -} - -CAIRO_TEST (text_antialias_gray, - "Tests text rendering with grayscale antialiasing", - "text", /* keywords */ - "target=raster", /* requirements */ - WIDTH, HEIGHT, - NULL, draw) diff --git a/test/text-antialias-none.c b/test/text-antialias-none.c deleted file mode 100644 index dbfcdee0e..000000000 --- a/test/text-antialias-none.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright © 2005 Red Hat, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software - * and its documentation for any purpose is hereby granted without - * fee, provided that the above copyright notice appear in all copies - * and that both that copyright notice and this permission notice - * appear in supporting documentation, and that the name of - * Red Hat, Inc. not be used in advertising or publicity pertaining to - * distribution of the software without specific, written prior - * permission. Red Hat, Inc. makes no representations about the - * suitability of this software for any purpose. It is provided "as - * is" without express or implied warranty. - * - * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS - * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR - * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * Author: Carl D. Worth <cworth@cworth.org> - */ - -#include "cairo-test.h" - -#define WIDTH 31 -#define HEIGHT 22 -#define TEXT_SIZE 12 - -static cairo_test_status_t -draw (cairo_t *cr, int width, int height) -{ - cairo_text_extents_t extents; - cairo_font_options_t *font_options; - const char black[] = "black", blue[] = "blue"; - - /* We draw in the default black, so paint white first. */ - cairo_save (cr); - cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */ - cairo_paint (cr); - cairo_restore (cr); - - cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans", - CAIRO_FONT_SLANT_NORMAL, - CAIRO_FONT_WEIGHT_NORMAL); - cairo_set_font_size (cr, TEXT_SIZE); - - font_options = cairo_font_options_create (); - cairo_get_font_options (cr, font_options); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_NONE); - cairo_set_font_options (cr, font_options); - - cairo_font_options_destroy (font_options); - - cairo_set_source_rgb (cr, 0, 0, 0); /* black */ - cairo_text_extents (cr, black, &extents); - cairo_move_to (cr, -extents.x_bearing, -extents.y_bearing); - cairo_show_text (cr, black); - cairo_translate (cr, 0, -extents.y_bearing + 1); - - cairo_set_source_rgb (cr, 0, 0, 1); /* blue */ - cairo_text_extents (cr, blue, &extents); - cairo_move_to (cr, -extents.x_bearing, -extents.y_bearing); - cairo_show_text (cr, blue); - - return CAIRO_TEST_SUCCESS; -} - -CAIRO_TEST (text_antialias_none, - "Tests text rendering with no antialiasing", - "text", /* keywords */ - "target=raster", /* requirements */ - WIDTH, HEIGHT, - NULL, draw) diff --git a/test/text-antialias-subpixel.c b/test/text-antialias.c index e6eadc2a4..7d338925e 100644 --- a/test/text-antialias-subpixel.c +++ b/test/text-antialias.c @@ -30,13 +30,13 @@ #define TEXT_SIZE 12 static cairo_test_status_t -draw (cairo_t *cr, int width, int height) +draw (cairo_t *cr, cairo_antialias_t antialias) { cairo_text_extents_t extents; cairo_font_options_t *font_options; const char black[] = "black", blue[] = "blue"; - cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); + cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */ cairo_paint (cr); cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans", @@ -46,7 +46,7 @@ draw (cairo_t *cr, int width, int height) font_options = cairo_font_options_create (); cairo_get_font_options (cr, font_options); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_SUBPIXEL); + cairo_font_options_set_antialias (font_options, antialias); cairo_font_options_set_subpixel_order (font_options, CAIRO_SUBPIXEL_ORDER_RGB); cairo_set_font_options (cr, font_options); @@ -66,9 +66,41 @@ draw (cairo_t *cr, int width, int height) return CAIRO_TEST_SUCCESS; } +static cairo_test_status_t +draw_gray (cairo_t *cr, int width, int height) +{ + return draw (cr, CAIRO_ANTIALIAS_GRAY); +} + +static cairo_test_status_t +draw_none (cairo_t *cr, int width, int height) +{ + return draw (cr, CAIRO_ANTIALIAS_NONE); +} + +static cairo_test_status_t +draw_subpixel (cairo_t *cr, int width, int height) +{ + return draw (cr, CAIRO_ANTIALIAS_SUBPIXEL); +} + +CAIRO_TEST (text_antialias_gray, + "Tests text rendering with grayscale antialiasing", + "text", /* keywords */ + "target=raster", /* requirements */ + WIDTH, HEIGHT, + NULL, draw_gray) + +CAIRO_TEST (text_antialias_none, + "Tests text rendering with no antialiasing", + "text", /* keywords */ + "target=raster", /* requirements */ + WIDTH, HEIGHT, + NULL, draw_none) + CAIRO_TEST (text_antialias_subpixel, "Tests text rendering with subpixel antialiasing", "text", /* keywords */ "target=raster", /* requirements */ WIDTH, HEIGHT, - NULL, draw) + NULL, draw_subpixel) |