summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2012-04-12 11:16:17 +0200
committerJens Axboe <axboe@kernel.dk>2012-04-12 11:16:17 +0200
commitf3a3176b359554ffe5e67bfcd5e63dbb1aa830b2 (patch)
tree528c32623b59faef9401409976b1d84d6d6bf7cb
parent33765372d5588c347e44d868d0bd6bc416a0fd05 (diff)
downloadfio-f3a3176b359554ffe5e67bfcd5e63dbb1aa830b2.tar.gz
fio-f3a3176b359554ffe5e67bfcd5e63dbb1aa830b2.tar.bz2
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 <axboe@kernel.dk>
-rw-r--r--graph.c27
1 files changed, 23 insertions, 4 deletions
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);