r784: Fix to bug 250 by Dan Streetman
[cinelerra_cv/mob.git] / plugins / huesaturation / huewindow.h
blob959f475b37d646f1183e1159254a4c618b375008
1 #ifndef HUEWINDOW_H
2 #define HUEWINDOW_H
4 #include "bcbase.h"
6 class HueThread;
7 class HueWindow;
9 #include "filexml.h"
10 #include "mutex.h"
11 #include "huesaturation.h"
13 class HueThread : public Thread
15 public:
16 HueThread(HueMain *client);
17 ~HueThread();
19 void run();
21 Mutex gui_started; // prevent loading data until the GUI is started
22 HueMain *client;
23 HueWindow *window;
26 class HueSlider;
27 class SaturationSlider;
28 class ValueSlider;
29 class AutomatedFn;
31 class HueWindow : public BC_Window
33 public:
34 HueWindow(HueMain *client);
35 ~HueWindow();
37 int create_objects();
38 int close_event();
40 HueMain *client;
41 HueSlider *hue_slider;
42 SaturationSlider *saturation_slider;
43 ValueSlider *value_slider;
44 AutomatedFn *automation[3];
47 class HueSlider : public BC_ISlider
49 public:
50 HueSlider(HueMain *client, int x, int y);
51 ~HueSlider();
52 int handle_event();
54 HueMain *client;
57 class SaturationSlider : public BC_ISlider
59 public:
60 SaturationSlider(HueMain *client, int x, int y);
61 ~SaturationSlider();
62 int handle_event();
64 HueMain *client;
67 class ValueSlider : public BC_ISlider
69 public:
70 ValueSlider(HueMain *client, int x, int y);
71 ~ValueSlider();
72 int handle_event();
74 HueMain *client;
77 class AutomatedFn : public BC_CheckBox
79 public:
80 AutomatedFn(HueMain *client, HueWindow *window, int x, int y, int number);
81 ~AutomatedFn();
82 int handle_event();
84 HueMain *client;
85 HueWindow *window;
86 int number;
90 #endif