summaryrefslogtreecommitdiff
path: root/libs/widgets/widgets/ui_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/widgets/widgets/ui_config.h')
-rw-r--r--libs/widgets/widgets/ui_config.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/libs/widgets/widgets/ui_config.h b/libs/widgets/widgets/ui_config.h
new file mode 100644
index 0000000000..4087dae192
--- /dev/null
+++ b/libs/widgets/widgets/ui_config.h
@@ -0,0 +1,31 @@
+#ifndef _WIDGETS_UI_BASE_H_
+#define _WIDGETS_UI_BASE_H_
+
+#include <cassert>
+
+#include "pbd/stateful.h"
+#include "canvas/colors.h"
+
+#include "widgets/visibility.h"
+
+namespace ArdourWidgets {
+
+class LIBWIDGETS_API UIConfigurationBase : public PBD::Stateful
+{
+protected:
+ virtual ~UIConfigurationBase() { _instance = 0; }
+ static UIConfigurationBase* _instance;
+
+public:
+ static UIConfigurationBase& instance() { return *_instance; }
+
+ sigc::signal<void> DPIReset;
+ sigc::signal<void> ColorsChanged;
+
+ virtual float get_ui_scale () = 0;
+ virtual bool get_widget_prelight () const = 0;
+ virtual ArdourCanvas::Color color (const std::string&, bool* failed = 0) const = 0;
+};
+
+}
+#endif