diff options
author | Imre Deak <imre.deak@intel.com> | 2013-06-05 22:11:11 +0300 |
---|---|---|
committer | Imre Deak <imre.deak@intel.com> | 2013-06-06 01:43:51 +0300 |
commit | 334baf05ca4f90a49a86893a702f4cd1270a8dbb (patch) | |
tree | b265bda75195ba6b0e946bf2398537c7d462a5a1 | |
parent | 542a40c485361909a40830ffd2421082a0e85c89 (diff) |
lib: use kmstest_cairo_printf_line in paint_marker
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
-rw-r--r-- | lib/drmtest.c | 64 |
1 files changed, 14 insertions, 50 deletions
diff --git a/lib/drmtest.c b/lib/drmtest.c index 71dd06b0..3ad77a89 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -951,46 +951,12 @@ int kmstest_cairo_printf_line(cairo_t *cr, enum kmstest_text_align align, return extents.width; } -enum corner { - topleft, - topright, - bottomleft, - bottomright, -}; - static void -paint_marker(cairo_t *cr, int x, int y, char *str, enum corner text_location) +paint_marker(cairo_t *cr, int x, int y) { - cairo_text_extents_t extents; + enum kmstest_text_align align; int xoff, yoff; - cairo_set_font_size(cr, 18); - cairo_text_extents(cr, str, &extents); - - switch (text_location) { - case topleft: - xoff = -20; - xoff -= extents.width; - yoff = -20; - break; - case topright: - xoff = 20; - yoff = -20; - break; - case bottomleft: - xoff = -20; - xoff -= extents.width; - yoff = 20; - break; - case bottomright: - xoff = 20; - yoff = 20; - break; - default: - xoff = 0; - yoff = 0; - } - cairo_move_to(cr, x, y - 20); cairo_line_to(cr, x, y + 20); cairo_move_to(cr, x - 20, y); @@ -1004,12 +970,15 @@ paint_marker(cairo_t *cr, int x, int y, char *str, enum corner text_location) cairo_set_line_width(cr, 2); cairo_stroke(cr); + xoff = x ? -20 : 20; + align = x ? align_right : align_left; + + yoff = y ? -20 : 20; + align |= y ? align_bottom : align_top; + cairo_move_to(cr, x + xoff, y + yoff); - cairo_text_path(cr, str); - cairo_set_source_rgb(cr, 0, 0, 0); - cairo_stroke_preserve(cr); - cairo_set_source_rgb(cr, 1, 1, 1); - cairo_fill(cr); + cairo_set_font_size(cr, 18); + kmstest_cairo_printf_line(cr, align, 0, "(%d, %d)", x, y); } unsigned int kmstest_create_fb(int fd, int width, int height, int bpp, @@ -1021,7 +990,6 @@ unsigned int kmstest_create_fb(int fd, int width, int height, int bpp, cairo_surface_t *surface; cairo_status_t status; cairo_t *cr; - char buf[128]; unsigned int fb_id; surface = paint_allocate_surface(fd, width, height, depth, bpp, @@ -1035,14 +1003,10 @@ unsigned int kmstest_create_fb(int fd, int width, int height, int bpp, cairo_set_line_cap(cr, CAIRO_LINE_CAP_SQUARE); /* Paint corner markers */ - snprintf(buf, sizeof buf, "(%d, %d)", 0, 0); - paint_marker(cr, 0, 0, buf, bottomright); - snprintf(buf, sizeof buf, "(%d, %d)", width, 0); - paint_marker(cr, width, 0, buf, bottomleft); - snprintf(buf, sizeof buf, "(%d, %d)", 0, height); - paint_marker(cr, 0, height, buf, topright); - snprintf(buf, sizeof buf, "(%d, %d)", width, height); - paint_marker(cr, width, height, buf, topleft); + paint_marker(cr, 0, 0); + paint_marker(cr, width, 0); + paint_marker(cr, 0, height); + paint_marker(cr, width, height); if (paint_func) paint_func(cr, width, height, func_arg); |