00001 #ifndef BANDWIPE_H
00002 #define BANDWIPE_H
00003
00004 class BandWipeMain;
00005 class BandWipeWindow;
00006
00007
00008 #include "overlayframe.inc"
00009 #include "pluginvclient.h"
00010 #include "vframe.inc"
00011
00012
00013
00014
00015 class BandWipeCount : public BC_TumbleTextBox
00016 {
00017 public:
00018 BandWipeCount(BandWipeMain *plugin,
00019 BandWipeWindow *window,
00020 int x,
00021 int y);
00022 int handle_event();
00023 BandWipeMain *plugin;
00024 BandWipeWindow *window;
00025 };
00026
00027 class BandWipeIn : public BC_Radial
00028 {
00029 public:
00030 BandWipeIn(BandWipeMain *plugin,
00031 BandWipeWindow *window,
00032 int x,
00033 int y);
00034 int handle_event();
00035 BandWipeMain *plugin;
00036 BandWipeWindow *window;
00037 };
00038
00039 class BandWipeOut : public BC_Radial
00040 {
00041 public:
00042 BandWipeOut(BandWipeMain *plugin,
00043 BandWipeWindow *window,
00044 int x,
00045 int y);
00046 int handle_event();
00047 BandWipeMain *plugin;
00048 BandWipeWindow *window;
00049 };
00050
00051
00052
00053
00054 class BandWipeWindow : public BC_Window
00055 {
00056 public:
00057 BandWipeWindow(BandWipeMain *plugin, int x, int y);
00058 void create_objects();
00059 int close_event();
00060 BandWipeMain *plugin;
00061 BandWipeCount *count;
00062 BandWipeIn *in;
00063 BandWipeOut *out;
00064 };
00065
00066
00067 PLUGIN_THREAD_HEADER(BandWipeMain, BandWipeThread, BandWipeWindow)
00068
00069
00070 class BandWipeMain : public PluginVClient
00071 {
00072 public:
00073 BandWipeMain(PluginServer *server);
00074 ~BandWipeMain();
00075
00076
00077 void load_configuration();
00078 int process_realtime(VFrame *incoming, VFrame *outgoing);
00079 int load_defaults();
00080 int save_defaults();
00081 void save_data(KeyFrame *keyframe);
00082 void read_data(KeyFrame *keyframe);
00083 int show_gui();
00084 void raise_window();
00085 int uses_gui();
00086 int is_transition();
00087 int is_video();
00088 char* plugin_title();
00089 int set_string();
00090 VFrame* new_picon();
00091
00092 int bands;
00093 int direction;
00094 BandWipeThread *thread;
00095 BC_Hash *defaults;
00096 };
00097
00098 #endif