Message ID | 1370460328-635-4-git-send-email-imre.deak@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com> On Wed, Jun 5, 2013 at 4:25 PM, Imre Deak <imre.deak@intel.com> wrote: > Signed-off-by: Imre Deak <imre.deak@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@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
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);
Signed-off-by: Imre Deak <imre.deak@intel.com> --- lib/drmtest.c | 64 +++++++++++++---------------------------------------------- 1 file changed, 14 insertions(+), 50 deletions(-)