aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2011-11-19 12:47:07 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2011-11-19 12:47:07 -0800
commitabdee5b1b8a97c641bca9bc2ebac9555c3e2ea54 (patch)
tree634fd4dbcbf4ab2a40636e5300600a1078b24763
parente7491d3bf50ad31bbee38abc9da823c9cbdb9cd1 (diff)
downloadsubsurface-abdee5b1b8a97c641bca9bc2ebac9555c3e2ea54.tar.gz
Correctly plot the tank end pressure if it was set manually
While printing the last pressure in the calculated sequence may seem more logical, given that the discrete series will create some amount of error this simply looks wrong. Instead we pick the end pressure that was manually set. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--profile.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/profile.c b/profile.c
index 9fab8b2e8..df1b22b30 100644
--- a/profile.c
+++ b/profile.c
@@ -717,7 +717,7 @@ static void plot_pressure_value(struct graphics_context *gc, int mbar, int sec,
plot_text(gc, &tro, sec, mbar, "%d %s", pressure, unit);
}
-static void plot_cylinder_pressure_text(struct graphics_context *gc, struct plot_info *pi)
+static void plot_cylinder_pressure_text(struct graphics_context *gc, struct plot_info *pi, struct dive *dive)
{
int i;
int mbar, cyl;
@@ -763,7 +763,10 @@ static void plot_cylinder_pressure_text(struct graphics_context *gc, struct plot
for (cyl = 0; cyl < MAX_CYLINDERS; cyl++) {
if (last_time[cyl]) {
- plot_pressure_value(gc, last_pressure[cyl], last_time[cyl], CENTER, TOP);
+ if (dive->cylinder[cyl].end.mbar)
+ plot_pressure_value(gc, dive->cylinder[cyl].end.mbar, last_time[cyl], CENTER, TOP);
+ else
+ plot_pressure_value(gc, last_pressure[cyl], last_time[cyl], CENTER, TOP);
}
}
}
@@ -1322,7 +1325,7 @@ void plot(struct graphics_context *gc, cairo_rectangle_int_t *drawing_area, stru
/* Text on top of all graphs.. */
plot_temperature_text(gc, pi);
plot_depth_text(gc, pi);
- plot_cylinder_pressure_text(gc, pi);
+ plot_cylinder_pressure_text(gc, pi, dive);
/* Bounding box last */
gc->leftx = 0; gc->rightx = 1.0;