mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Fix up printing some more
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>
This commit is contained in:
parent
368623113c
commit
957aaf619f
3 changed files with 19 additions and 13 deletions
3
dive.h
3
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 */
|
||||
|
|
|
@ -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();
|
||||
|
|
21
profile.c
21
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++) {
|
||||
|
|
Loading…
Reference in a new issue