]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Improve tank pressure sac coloring
authorDirk Hohndel <dirk@hohndel.org>
Sat, 19 Nov 2011 19:39:35 +0000 (14:39 -0500)
committerDirk Hohndel <dirk@hohndel.org>
Sat, 19 Nov 2011 20:12:29 +0000 (15:12 -0500)
This changes the algorithm that picks the sac color to consider
+/- 1 l/min to be the same color (before the color changed every
time you crossed above or below the average which looked silly with
our synthetic "constant sac" values as those are discrete and oscilate
around the average.

This also changes the order in which things are drawn so so that the
pressure plot goes over the depth profile plot (so the red shading of the
dive no longer changes the color of the tank pressure plot).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
profile.c

index 9f8fa75b37e8739a8d0144af6e093c716006df00..3b69f18398d2888b41be42a76bd1c603eebc1600 100644 (file)
--- a/profile.c
+++ b/profile.c
@@ -620,14 +620,13 @@ static const rgb_t sac_color[SAC_COLORS] = {
 static void set_sac_color(struct graphics_context *gc, int sac, int avg_sac)
 {
        int sac_index = 0;
-       int delta = sac - avg_sac + 6000;
+       int delta = sac - avg_sac + 7000;
 
        sac_index = delta / 2000;
        if (sac_index < 0)
                sac_index = 0;
        if (sac_index > SAC_COLORS - 1)
                sac_index = SAC_COLORS - 1;
-
        set_source_rgb_struct(gc, &sac_color[sac_index]);
 }
 
@@ -1312,13 +1311,13 @@ void plot(struct graphics_context *gc, cairo_rectangle_int_t *drawing_area, stru
        /* Temperature profile */
        plot_temperature_profile(gc, pi);
 
-       /* Cylinder pressure plot */
-       plot_cylinder_pressure(gc, pi, dive);
-
        /* Depth profile */
        plot_depth_profile(gc, pi);
        plot_events(gc, pi, dive);
 
+       /* Cylinder pressure plot */
+       plot_cylinder_pressure(gc, pi, dive);
+
        /* Text on top of all graphs.. */
        plot_temperature_text(gc, pi);
        plot_depth_text(gc, pi);