This is quite cheesy for now. It's just three hard-coded, primary colors.
(Much nicer would be to take N evenly-spaced colors from a percpetually
linear space.) But this gives us parity with the functionality of the
original motorsim plot, so it's enough for getting us closer to being
able to replace that.
cairo_t *cr = acre->cr;
unsigned int d, i;
acre_data_t *data;
+#define NUM_COLORS 3
+ struct {
+ double r;
+ double g;
+ double b;
+ } colors [NUM_COLORS] = {
+ {1, 0, 0},
+ {0, 1, 0},
+ {0, 0, 1}
+ };
cairo_save (cr);
_set_transform_to_data_space (acre);
for (d = 0; d < acre->num_data; d++) {
+ int color = d % NUM_COLORS;
+ cairo_set_source_rgb (cr,
+ colors[color].r,
+ colors[color].g,
+ colors[color].b);
data = acre->data[d];
cairo_new_path (cr);
for (i = 0; i < data->num_points; i++) {