cd5b11cc4b1de0eb9980957ed3417e268ae4f667
[Faustine.git] / interpretor / faust-0.9.47mr3 / architecture / gui / UI.h
1 #ifndef FAUST_UI_H
2 #define FAUST_UI_H
3
4
5 /*******************************************************************************
6 * UI : Faust User Interface
7 * This abstract class contains only the method that the faust compiler can
8 * generate to describe a DSP interface.
9 ******************************************************************************/
10
11 class UI
12 {
13
14 public:
15
16 UI() { }
17
18 virtual ~UI() { }
19
20 // -- widget's layouts
21
22 virtual void openFrameBox(const char* label) = 0;
23 virtual void openTabBox(const char* label) = 0;
24 virtual void openHorizontalBox(const char* label) = 0;
25 virtual void openVerticalBox(const char* label) = 0;
26 virtual void closeBox() = 0;
27
28 // -- active widgets
29
30 virtual void addButton(const char* label, float* zone) = 0;
31 virtual void addToggleButton(const char* label, float* zone) = 0;
32 virtual void addCheckButton(const char* label, float* zone) = 0;
33 virtual void addVerticalSlider(const char* label, float* zone, float init, float min, float max, float step) = 0;
34 virtual void addHorizontalSlider(const char* label, float* zone, float init, float min, float max, float step) = 0;
35 virtual void addNumEntry(const char* label, float* zone, float init, float min, float max, float step) = 0;
36
37 // -- passive widgets
38
39 virtual void addNumDisplay(const char* label, float* zone, int precision) = 0;
40 virtual void addTextDisplay(const char* label, float* zone, const char* names[], float min, float max) = 0;
41 virtual void addHorizontalBargraph(const char* label, float* zone, float min, float max) = 0;
42 virtual void addVerticalBargraph(const char* label, float* zone, float min, float max) = 0;
43
44 // -- metadata declarations
45
46 virtual void declare(float* , const char* , const char* ) {}
47 };
48
49 #endif