r1008: pt_BR translation update
[cinelerra_cv/mob.git] / plugins / whirl / whirlwindow.h
blob96ac72c77a3ab5f990372f7489d4c19584db477c
1 #ifndef WHIRLWINDOW_H
2 #define WHIRLWINDOW_H
4 #include "guicast.h"
6 class WhirlThread;
7 class WhirlWindow;
9 #include "filexml.h"
10 #include "mutex.h"
11 #include "whirl.h"
13 class WhirlThread : public Thread
15 public:
16 WhirlThread(WhirlMain *client);
17 ~WhirlThread();
19 void run();
21 Mutex gui_started; // prevent loading data until the GUI is started
22 WhirlMain *client;
23 WhirlWindow *window;
26 class AngleSlider;
27 class PinchSlider;
28 class RadiusSlider;
29 class AutomatedFn;
31 class WhirlWindow : public BC_Window
33 public:
34 WhirlWindow(WhirlMain *client);
35 ~WhirlWindow();
37 int create_objects();
38 int close_event();
40 WhirlMain *client;
41 AngleSlider *angle_slider;
42 PinchSlider *pinch_slider;
43 RadiusSlider *radius_slider;
44 AutomatedFn *automation[3];
47 class AngleSlider : public BC_ISlider
49 public:
50 AngleSlider(WhirlMain *client, int x, int y);
51 ~AngleSlider();
52 int handle_event();
54 WhirlMain *client;
57 class PinchSlider : public BC_ISlider
59 public:
60 PinchSlider(WhirlMain *client, int x, int y);
61 ~PinchSlider();
62 int handle_event();
64 WhirlMain *client;
67 class RadiusSlider : public BC_ISlider
69 public:
70 RadiusSlider(WhirlMain *client, int x, int y);
71 ~RadiusSlider();
72 int handle_event();
74 WhirlMain *client;
77 class AutomatedFn : public BC_CheckBox
79 public:
80 AutomatedFn(WhirlMain *client, WhirlWindow *window, int x, int y, int number);
81 ~AutomatedFn();
82 int handle_event();
84 WhirlMain *client;
85 WhirlWindow *window;
86 int number;
90 #endif