r864: Merge 2.1:
[cinelerra_cv.git] / plugins / bandwipe / bandwipe.h
blob32a9c520e2af9673b985710d08fb9d7a36b2aaf5
1 #ifndef BANDWIPE_H
2 #define BANDWIPE_H
4 class BandWipeMain;
5 class BandWipeWindow;
8 #include "overlayframe.inc"
9 #include "pluginvclient.h"
10 #include "vframe.inc"
15 class BandWipeCount : public BC_TumbleTextBox
17 public:
18 BandWipeCount(BandWipeMain *plugin,
19 BandWipeWindow *window,
20 int x,
21 int y);
22 int handle_event();
23 BandWipeMain *plugin;
24 BandWipeWindow *window;
27 class BandWipeIn : public BC_Radial
29 public:
30 BandWipeIn(BandWipeMain *plugin,
31 BandWipeWindow *window,
32 int x,
33 int y);
34 int handle_event();
35 BandWipeMain *plugin;
36 BandWipeWindow *window;
39 class BandWipeOut : public BC_Radial
41 public:
42 BandWipeOut(BandWipeMain *plugin,
43 BandWipeWindow *window,
44 int x,
45 int y);
46 int handle_event();
47 BandWipeMain *plugin;
48 BandWipeWindow *window;
54 class BandWipeWindow : public BC_Window
56 public:
57 BandWipeWindow(BandWipeMain *plugin, int x, int y);
58 void create_objects();
59 int close_event();
60 BandWipeMain *plugin;
61 BandWipeCount *count;
62 BandWipeIn *in;
63 BandWipeOut *out;
67 PLUGIN_THREAD_HEADER(BandWipeMain, BandWipeThread, BandWipeWindow)
70 class BandWipeMain : public PluginVClient
72 public:
73 BandWipeMain(PluginServer *server);
74 ~BandWipeMain();
76 // required for all realtime plugins
77 void load_configuration();
78 int process_realtime(VFrame *incoming, VFrame *outgoing);
79 int load_defaults();
80 int save_defaults();
81 void save_data(KeyFrame *keyframe);
82 void read_data(KeyFrame *keyframe);
83 int show_gui();
84 void raise_window();
85 int uses_gui();
86 int is_transition();
87 int is_video();
88 char* plugin_title();
89 int set_string();
90 VFrame* new_picon();
92 int bands;
93 int direction;
94 BandWipeThread *thread;
95 BC_Hash *defaults;
98 #endif