+#define SENSOR_PR 0
+#define INTERPOLATED_PR 1
+#define SENSOR_PRESSURE(_entry) (_entry)->pressure[SENSOR_PR]
+#define INTERPOLATED_PRESSURE(_entry) (_entry)->pressure[INTERPOLATED_PR]
+#define GET_PRESSURE(_entry) (SENSOR_PRESSURE(_entry) ? : INTERPOLATED_PRESSURE(_entry))
+
+typedef enum { TEXT_BACKGROUND, TRIANGULAR_BG, TRIANGULAR_FG, EVENTS, SAMPLE_DEEP, SAMPLE_SHALLOW,
+ SMOOTHED, MINUTE, TIME_MARKER, TIME_TEXT, DEPTH_MARKER, MEAN_DEPTH, DEPTH_TOP,
+ DEPTH_BOTTOM, DEPTH_FILL_PRINTER, DEPTH_STROKE_PRINTER, TEMP_TEXT, TEMP_PLOT, SAC_DEFAULT,
+ BOUNDING_BOX, PRESSURE_TEXT, VELO_STABLE, VELO_SLOW, VELO_MODERATE, VELO_FAST, VELO_CRAZY,
+ SAC_1, SAC_2, SAC_3, SAC_4, SAC_5, SAC_6, SAC_7, SAC_8, SAC_9, BACKGROUND } color_t;
+
+/* convert velocity to colors */
+typedef struct { double r, g, b; } rgb_t;
+static const color_t velocity_color[] = {
+ [STABLE] = VELO_STABLE,
+ [SLOW] = VELO_SLOW,
+ [MODERATE] = VELO_MODERATE,
+ [FAST] = VELO_FAST,
+ [CRAZY] = VELO_CRAZY,
+};
+
+static const rgb_t profile_color[] = {
+ [TEXT_BACKGROUND] = {0.95, 0.95, 0.95},
+ [TRIANGULAR_BG] = {1.0, 1.0, 0.1},
+ [TRIANGULAR_FG] = {0.0, 0.0, 0.0},
+ [EVENTS] = {1.0, 0.2, 0.2},
+ [SAMPLE_DEEP] = {0.8, 0.2, 0.2},
+ [SAMPLE_SHALLOW] = {0.8, 0.2, 0.2},
+ [SMOOTHED] = {1.0, 0.2, 0.2},
+ [MINUTE] = {0.7, 0.2, 0.7},
+ [TIME_MARKER] = {1.0, 1.0, 1.0},
+ [TIME_TEXT] = {0.1, 0.5, 0.1},
+ [DEPTH_MARKER] = {1.0, 1.0, 1.0},
+ [MEAN_DEPTH] = {1.0, 0.2, 0.2},
+ [DEPTH_TOP] = {0.2, 0.2, 0.8},
+ [DEPTH_BOTTOM] = {0.9, 0.9, 0.9},
+ [DEPTH_FILL_PRINTER] = {1.0, 1.0, 1.0},
+ [DEPTH_STROKE_PRINTER] = {1.0, 1.0, 1.0},
+ [TEMP_TEXT] = {0.2, 0.2, 0.7},
+ [TEMP_PLOT] = {0.2, 0.2, 0.9},
+ [SAC_DEFAULT] = {1.0, 1.0, 1.0},
+ [BOUNDING_BOX] = {1.0, 1.0, 1.0},
+ [PRESSURE_TEXT] = {0.2, 0.4, 0.2},
+ [VELO_STABLE] = {0.0, 0.4, 0.0},
+ [VELO_SLOW] = {0.4, 0.8, 0.0},
+ [VELO_MODERATE] = {0.8, 0.8, 0.0},
+ [VELO_FAST] = {0.8, 0.5, 0.0},
+ [VELO_CRAZY] = {1.0, 0.0, 0.0},
+ [SAC_1] = {0.0, 0.4, 0.2},
+ [SAC_2] = {0.2, 0.6, 0.2},
+ [SAC_3] = {0.4, 0.8, 0.2},
+ [SAC_4] = {0.6, 0.8, 0.2},
+ [SAC_5] = {0.8, 0.8, 0.2},
+ [SAC_6] = {0.8, 0.6, 0.2},
+ [SAC_7] = {0.8, 0.4, 0.2},
+ [SAC_8] = {0.9, 0.3, 0.2},
+ [SAC_9] = {1.0, 0.2, 0.2},
+ [BACKGROUND] = {0.95, 0.95, 0.9},
+};
+
+#define SAC_COLORS 9
+static const color_t sac_color[SAC_COLORS] = {
+ SAC_1, SAC_2, SAC_3, SAC_4, SAC_5, SAC_6, SAC_7, SAC_8, SAC_9
+};
+