From 059f047788a9549e448f6e9f108a9f55b81ee64c Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Wed, 31 Aug 2011 14:23:35 -0700 Subject: [PATCH] plot a fancier 'filled' depth profile Now I'm just dicking around with cairo. Signed-off-by: Linus Torvalds --- profile.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/profile.c b/profile.c index 3649bc1..b675570 100644 --- a/profile.c +++ b/profile.c @@ -29,6 +29,7 @@ static void plot(cairo_t *cr, int w, int h, struct dive *dive, int samples, stru double topx, topy, maxx, maxy; double scalex, scaley; int maxtime, maxdepth; + int begins, sec, depth; topx = w / 20.0; topy = h / 20.0; @@ -63,11 +64,21 @@ static void plot(cairo_t *cr, int w, int h, struct dive *dive, int samples, stru /* Depth profile */ cairo_set_source_rgba(cr, 1, 0.2, 0.2, 0.80); + begins = sample->time.seconds; cairo_move_to(cr, SCALE(sample->time.seconds, to_feet(sample->depth))); for (i = 1; i < dive->samples; i++) { sample++; - cairo_line_to(cr, SCALE(sample->time.seconds, to_feet(sample->depth))); + sec = sample->time.seconds; + depth = to_feet(sample->depth); + cairo_line_to(cr, SCALE(sec, depth)); } + scaley = 1.0; + cairo_line_to(cr, SCALE(sec, 0)); + cairo_line_to(cr, SCALE(begins, 0)); + cairo_close_path(cr); + cairo_set_source_rgba(cr, 1, 0.2, 0.2, 0.20); + cairo_fill_preserve(cr); + cairo_set_source_rgba(cr, 1, 0.2, 0.2, 0.80); cairo_stroke(cr); /* Bounding box last */ -- 2.43.0