26class CGV_API theme_info {
33 float scaling_ = 1.0f;
40 rgb text_background_col;
47 static theme_info& instance();
49 theme_info(
const theme_info&) =
delete;
50 void operator=(
const theme_info&) =
delete;
58 void index(
int index) { index_ = index; }
59 int index()
const {
return index_; }
63 int spacing()
const {
return spacing_; }
64 void spacing(
int i) { spacing_ = i; }
66 float scaling()
const {
return scaling_; }
67 void scaling(
float f) { scaling_ = f; }
70 DEF_COLOR_MEMBER_METHODS(background);
71 DEF_COLOR_MEMBER_METHODS(group);
72 DEF_COLOR_MEMBER_METHODS(control);
73 DEF_COLOR_MEMBER_METHODS(border);
74 DEF_COLOR_MEMBER_METHODS(text);
75 DEF_COLOR_MEMBER_METHODS(text_background);
76 DEF_COLOR_MEMBER_METHODS(selection);
77 DEF_COLOR_MEMBER_METHODS(highlight);
78 DEF_COLOR_MEMBER_METHODS(warning);
79 DEF_COLOR_MEMBER_METHODS(shadow);
82 void notify_observers()
const;
84 cgv::signal::signal<const theme_info&> on_change;