fix shuttle for Termux/Android too
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / pluginlv2gui.h
1 #ifndef __PLUGINLV2GUI_H__
2 #define __PLUGINLV2GUI_H__
3
4 #include "guicast.h"
5 #include "forkbase.h"
6 #include "pluginlv2gui.inc"
7 #include "pluginlv2ui.h"
8 #include "pluginaclient.h"
9
10 class PluginLV2ClientUI : public BC_GenericButton {
11 public:
12         PluginLV2ClientWindow *gui;
13
14         PluginLV2ClientUI(PluginLV2ClientWindow *gui, int x, int y);
15         ~PluginLV2ClientUI();
16         int handle_event();
17 };
18
19 class PluginLV2ClientReset : public BC_GenericButton
20 {
21 public:
22         PluginLV2ClientWindow *gui;
23
24         PluginLV2ClientReset(PluginLV2ClientWindow *gui, int x, int y);
25         ~PluginLV2ClientReset();
26         int handle_event();
27 };
28
29 class PluginLV2ClientText : public BC_TextBox {
30 public:
31         PluginLV2ClientWindow *gui;
32
33         PluginLV2ClientText(PluginLV2ClientWindow *gui, int x, int y, int w);
34         ~PluginLV2ClientText();
35         int handle_event();
36 };
37
38 class PluginLV2ClientApply : public BC_GenericButton {
39 public:
40         PluginLV2ClientWindow *gui;
41
42         PluginLV2ClientApply(PluginLV2ClientWindow *gui, int x, int y);
43         ~PluginLV2ClientApply();
44         int handle_event();
45 };
46
47 class PluginLV2Client_OptPanel : public BC_ListBox
48 {
49 public:
50         PluginLV2Client_OptPanel(PluginLV2ClientWindow *gui, int x, int y, int w, int h);
51         ~PluginLV2Client_OptPanel();
52
53         PluginLV2ClientWindow *gui;
54         ArrayList<BC_ListBoxItem*> items[2];
55         ArrayList<BC_ListBoxItem*> &opts;
56         ArrayList<BC_ListBoxItem*> &vals;
57
58         int selection_changed();
59         void update();
60 };
61
62 class PluginLV2ClientPot : public BC_FPot
63 {
64 public:
65         PluginLV2ClientPot(PluginLV2ClientWindow *gui, int x, int y);
66         int handle_event();
67         PluginLV2ClientWindow *gui;
68 };
69
70 class PluginLV2ClientSlider : public BC_FSlider
71 {
72 public:
73         PluginLV2ClientSlider(PluginLV2ClientWindow *gui, int x, int y);
74         int handle_event();
75         PluginLV2ClientWindow *gui;
76 };
77
78 class PluginLV2ClientWindow : public PluginClientWindow
79 {
80 public:
81         PluginLV2ClientWindow(PluginLV2Client *client);
82         ~PluginLV2ClientWindow();
83         void done_event(int result);
84
85         void create_objects();
86         int resize_event(int w, int h);
87         void update_selected();
88         void update_selected(float v);
89         int scalar(float f, char *rp);
90         void update(PluginLV2Client_Opt *opt);
91         void lv2_update();
92         void lv2_update(float *vals);
93         void lv2_ui_enable();
94         void lv2_set(int idx, float val);
95         PluginLV2ParentUI *find_ui();
96         PluginLV2ParentUI *get_ui();
97
98         PluginLV2Client *client;
99         PluginLV2ClientUI *client_ui;
100         PluginLV2ClientReset *reset;
101         PluginLV2ClientApply *apply;
102         PluginLV2ClientPot *pot;
103         PluginLV2ClientSlider *slider;
104         PluginLV2ClientText *text;
105         BC_Title *varbl, *range;
106         PluginLV2Client_OptPanel *panel;
107         PluginLV2Client_Opt *selected;
108
109 };
110
111 #endif