]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Correctly plot the tank end pressure if it was set manually
authorDirk Hohndel <dirk@hohndel.org>
Sat, 19 Nov 2011 20:47:07 +0000 (12:47 -0800)
committerDirk Hohndel <dirk@hohndel.org>
Sat, 19 Nov 2011 20:47:07 +0000 (12:47 -0800)
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>
profile.c

index 9fab8b2e89f5ae72cf4732f91e48d4a3cb73de00..df1b22b30caeedad3cd81220ed4d6529a00d277d 100644 (file)
--- 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;