]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Fix up printing some more
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 21 Sep 2011 00:52:04 +0000 (17:52 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 21 Sep 2011 00:56:56 +0000 (17:56 -0700)
Use the actual degree sign for temperatures (°F and °C), and make sure
everything uses the proper "set_source_rgb[a]()" wrappers to set the
colors.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
dive.h
divelist.c
profile.c

diff --git a/dive.h b/dive.h
index 1927da7215a68e69ece2ce062cb58e61b6914bd9..85fdabf5d5f2d8ecda15f6c279022467693c649a 100644 (file)
--- a/dive.h
+++ b/dive.h
@@ -242,4 +242,7 @@ extern int open_import_file_dialog(char *filterpattern, char *filtertext,
 const char *weekday(int wday);
 const char *monthname(int mon);
 
+#define UTF8_DEGREE "\xc2\xb0"
+#define UTF8_SUBSCRIPT_2 "\xe2\x82\x82"
+
 #endif /* DIVE_H */
index 641e3c8b31a22a5d9ee8558112df6ddbf0589363..88825dd8913465c13d532e05bb638e4f20abb878 100644 (file)
@@ -364,10 +364,10 @@ void update_dive_list_units(void)
 
        switch (output_units.temperature) {
        case CELSIUS:
-               unit = "degC";
+               unit = UTF8_DEGREE "C";
                break;
        case FAHRENHEIT:
-               unit = "degF";
+               unit = UTF8_DEGREE "F";
                break;
        case KELVIN:
                unit = "Kelvin";
@@ -473,9 +473,9 @@ GtkWidget *dive_list_create(void)
        dive_list.depth = divelist_column(&dive_list, DIVE_DEPTH, "max/ft", depth_data_func, 1, 0);
        dive_list.duration = divelist_column(&dive_list, DIVE_DURATION, "min", duration_data_func, 1, 0);
        dive_list.location = divelist_column(&dive_list, DIVE_LOCATION, "Location", NULL, 0, 1);
-       dive_list.temperature = divelist_column(&dive_list, DIVE_TEMPERATURE, "degF", temperature_data_func, 1, 0);
+       dive_list.temperature = divelist_column(&dive_list, DIVE_TEMPERATURE, UTF8_DEGREE "F", temperature_data_func, 1, 0);
        dive_list.cylinder = divelist_column(&dive_list, DIVE_CYLINDER, "Cyl", NULL, 0, 0);
-       dive_list.nitrox = divelist_column(&dive_list, DIVE_NITROX, "O2%", nitrox_data_func, 1, 0);
+       dive_list.nitrox = divelist_column(&dive_list, DIVE_NITROX, "O" UTF8_SUBSCRIPT_2 "%", nitrox_data_func, 1, 0);
        dive_list.sac = divelist_column(&dive_list, DIVE_SAC, "SAC", sac_data_func, 1, 0);
 
        fill_dive_list();
index 7185822aafd9bce0ade03495301c84ea539df7b9..531839368bf4cd53b89c386ef84a5c15c5b02078 100644 (file)
--- a/profile.c
+++ b/profile.c
@@ -65,12 +65,15 @@ static void line_to(struct graphics_context *gc, double x, double y)
 
 static void set_source_rgba(struct graphics_context *gc, double r, double g, double b, double a)
 {
+       /*
+        * For printers, we still honor 'a', but ignore colors
+        * for now. Black is white and white is black
+        */
        if (gc->printer) {
-               /* Black is white and white is black */
                double sum = r+g+b;
-               if (sum > 2)
+               if (sum > 0.8)
                        r = g = b = 0;
-               else if (sum < 1)
+               else
                        r = g = b = 1;
        }
        cairo_set_source_rgba(gc->cr, r, g, b, a);
@@ -212,7 +215,7 @@ static void plot_smoothed_profile(struct graphics_context *gc, struct plot_info
        int i;
        struct plot_data *entry = pi->entry;
 
-       cairo_set_source_rgba(gc->cr, 1, 0.2, 0.2, 0.20);
+       set_source_rgba(gc, 1, 0.2, 0.2, 0.20);
        move_to(gc, entry->sec, entry->smoothed);
        for (i = 1; i < pi->nr; i++) {
                entry++;
@@ -227,7 +230,7 @@ static void plot_minmax_profile_minute(struct graphics_context *gc, struct plot_
        int i;
        struct plot_data *entry = pi->entry;
 
-       cairo_set_source_rgba(gc->cr, 1, 0.2, 1, a);
+       set_source_rgba(gc, 1, 0.2, 1, a);
        move_to(gc, entry->sec, entry->min[index]->val);
        for (i = 1; i < pi->nr; i++) {
                entry++;
@@ -372,12 +375,12 @@ static void plot_single_temp_text(struct graphics_context *gc, int sec, int mkel
 
        if (output_units.temperature == FAHRENHEIT) {
                deg = to_F(temperature);
-               unit = "F";
+               unit = UTF8_DEGREE "F";
        } else {
                deg = to_C(temperature);
-               unit = "C";
+               unit = UTF8_DEGREE "C";
        }
-       plot_text(gc, &tro, sec, temperature.mkelvin, "%d %s", deg, unit);
+       plot_text(gc, &tro, sec, temperature.mkelvin, "%d%s", deg, unit);
 }
 
 static void plot_temperature_text(struct graphics_context *gc, struct plot_info *pi)
@@ -453,7 +456,7 @@ static void plot_cylinder_pressure(struct graphics_context *gc, struct plot_info
        if (!get_cylinder_pressure_range(gc, pi))
                return;
 
-       cairo_set_source_rgba(gc->cr, 0.2, 1.0, 0.2, 0.80);
+       set_source_rgba(gc, 0.2, 1.0, 0.2, 0.80);
 
        move_to(gc, 0, pi->maxpressure);
        for (i = 1; i < pi->nr; i++) {