From: Jens Axboe Date: Thu, 12 Apr 2012 09:16:17 +0000 (+0200) Subject: graph: add shading for line graphs X-Git-Tag: gfio-0.1~10 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=f3a3176b359554ffe5e67bfcd5e63dbb1aa830b2 graph: add shading for line graphs Pretty simple, just a continually ligher shade of gray off the top X border, and rightmost Y border. Signed-off-by: Jens Axboe --- diff --git a/graph.c b/graph.c index 81b1524d..040e344f 100644 --- a/graph.c +++ b/graph.c @@ -267,17 +267,36 @@ static void draw_bars(struct graph *bg, cairo_t *cr, struct graph_label *lb, } } -static void graph_draw_common(struct graph *g, cairo_t *cr, - double *x1, double *y1, double *x2, double *y2) +static void graph_draw_common(struct graph *g, cairo_t *cr, double *x1, + double *y1, double *x2, double *y2) { - cairo_set_source_rgb(cr, 0, 0, 0); - cairo_set_line_width(cr, 0.8); + const double shade_col[3][3] = { { 0.55, 0.54, 0.54 }, + { 0.80, 0.78, 0.78 }, + { 0.93, 0.91, 0.91 } }; + int i; *x1 = 0.10 * g->xdim; *x2 = 0.95 * g->xdim; *y1 = 0.10 * g->ydim; *y2 = 0.90 * g->ydim; + /* + * Add shade + */ + cairo_set_line_width(cr, 1.0); + for (i = 0; i < 3; i++) { + float offset = i + 1.0; + + cairo_set_source_rgb(cr, shade_col[i][0], shade_col[i][1], shade_col[i][2]); + cairo_move_to(cr, offset + *x1, *y1 - offset); + cairo_line_to(cr, *x2 + offset, *y1 - offset); + cairo_line_to(cr, *x2 + offset, *y2 - offset); + cairo_stroke(cr); + } + + cairo_set_source_rgb(cr, 0, 0, 0); + cairo_set_line_width(cr, 1.2); + cairo_move_to(cr, *x1, *y1); cairo_line_to(cr, *x1, *y2); cairo_line_to(cr, *x2, *y2);