- if (sac < 9)
- set_source_rgba(gc, 0.0, 0.4, 0.2, 0.80);
- else if (sac < 11)
- set_source_rgba(gc, 0.2, 0.6, 0.2, 0.80);
- else if (sac < 13)
- set_source_rgba(gc, 0.4, 0.8, 0.2, 0.80);
- else if (sac < 15)
- set_source_rgba(gc, 0.6, 0.8, 0.2, 0.80);
- else if (sac < 17)
- set_source_rgba(gc, 0.8, 0.8, 0.2, 0.80);
- else if (sac < 19)
- set_source_rgba(gc, 0.8, 0.6, 0.2, 0.80);
- else if (sac < 21)
- set_source_rgba(gc, 0.8, 0.4, 0.2, 0.80);
- else if (sac < 23)
- set_source_rgba(gc, 0.9, 0.3, 0.2, 0.80);
- else
- set_source_rgba(gc, 1.0, 0.2, 0.2, 0.80);
+ int sac_index = 0;
+ int delta = sac - avg_sac + 7000;
+
+ if (!gc->printer) {
+ 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]);
+ } else {
+ set_source_rgb(gc, 1.0, 1.0, 1.0);
+ }