plot a fancier 'filled' depth profile

Now I'm just dicking around with cairo.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Linus Torvalds 2011-08-31 14:23:35 -07:00
parent eed9538101
commit 059f047788

View file

@ -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 topx, topy, maxx, maxy;
double scalex, scaley; double scalex, scaley;
int maxtime, maxdepth; int maxtime, maxdepth;
int begins, sec, depth;
topx = w / 20.0; topx = w / 20.0;
topy = h / 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 */ /* Depth profile */
cairo_set_source_rgba(cr, 1, 0.2, 0.2, 0.80); 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))); cairo_move_to(cr, SCALE(sample->time.seconds, to_feet(sample->depth)));
for (i = 1; i < dive->samples; i++) { for (i = 1; i < dive->samples; i++) {
sample++; 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); cairo_stroke(cr);
/* Bounding box last */ /* Bounding box last */