[Intel-gfx] [PATCH v2 3/6] lib: use kmstest_cairo_printf_line in paint_marker
Rodrigo Vivi
rodrigo.vivi at gmail.com
Wed Jun 5 21:29:34 CEST 2013
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at gmail.com>
On Wed, Jun 5, 2013 at 4:25 PM, Imre Deak <imre.deak at intel.com> wrote:
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> ---
> lib/drmtest.c | 64 +++++++++++++----------------------------------------------
> 1 file changed, 14 insertions(+), 50 deletions(-)
>
> diff --git a/lib/drmtest.c b/lib/drmtest.c
> index 71dd06b..3ad77a8 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);
> --
> 1.8.1.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
More information about the Intel-gfx
mailing list