summaryrefslogtreecommitdiff
path: root/libs/widgets/widgets/ui_config.h
blob: 4087dae192b9ce767f1bf5d9a68f631f3183142d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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