-#undef CANVAS_BASE_COLOR
-#define CANVAS_BASE_COLOR(var,name,val) \
- ArdourCanvas::Color get_##var() const { return var.get(); } \
- bool set_##var (ArdourCanvas::Color v) { bool ret = var.set (v); if (ret) { ParameterChanged (#var); } return ret; } \
- bool set_##var(const ArdourCanvas::HSV& v) const { return set_##var (v.color()); }
-#include "base_colors.h"
-#undef CANVAS_BASE_COLOR
-
-#undef CANVAS_COLOR
-#define CANVAS_COLOR(var,name,base,modifier) ArdourCanvas::Color get_##var() const { return var.get().color(); }
-#include "colors.h"
-#undef CANVAS_COLOR
-
- private:
-
- struct RelativeHSV {
- RelativeHSV (const std::string& b, const ArdourCanvas::HSV& mod)
- : base_color (b)
- , modifier (mod)
- , quantized_hue (-1.0) {}
- std::string base_color;
- ArdourCanvas::HSV modifier;
- double quantized_hue;
-
- ArdourCanvas::HSV get() const;
- };
-
- /* these are loaded from serialized state (e.g. XML) */
- std::map<std::string,RelativeHSV> relative_colors;
- /* these are computed during color_compute()*/
- std::map<std::string,ArdourCanvas::HSV> actual_colors;
- /* these map from the name/key of relative colors to the color/value of actual colors */
- std::map<std::string,std::string> color_aliases;
-