From: Linus Torvalds Date: Wed, 31 Aug 2011 21:23:35 +0000 (-0700) Subject: plot a fancier 'filled' depth profile X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;ds=sidebyside;h=059f047788a9549e448f6e9f108a9f55b81ee64c;p=ext%2Fsubsurface.git plot a fancier 'filled' depth profile Now I'm just dicking around with cairo. Signed-off-by: Linus Torvalds --- 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 */