00001 #ifndef BANDSLIDE_H
00002 #define BANDSLIDE_H
00003
00004 class BandSlideMain;
00005 class BandSlideWindow;
00006
00007
00008 #include "overlayframe.inc"
00009 #include "pluginvclient.h"
00010 #include "vframe.inc"
00011
00012
00013
00014
00015 class BandSlideCount : public BC_TumbleTextBox
00016 {
00017 public:
00018 BandSlideCount(BandSlideMain *plugin,
00019 BandSlideWindow *window,
00020 int x,
00021 int y);
00022 int handle_event();
00023 BandSlideMain *plugin;
00024 BandSlideWindow *window;
00025 };
00026
00027 class BandSlideIn : public BC_Radial
00028 {
00029 public:
00030 BandSlideIn(BandSlideMain *plugin,
00031 BandSlideWindow *window,
00032 int x,
00033 int y);
00034 int handle_event();
00035 BandSlideMain *plugin;
00036 BandSlideWindow *window;
00037 };
00038
00039 class BandSlideOut : public BC_Radial
00040 {
00041 public:
00042 BandSlideOut(BandSlideMain *plugin,
00043 BandSlideWindow *window,
00044 int x,
00045 int y);
00046 int handle_event();
00047 BandSlideMain *plugin;
00048 BandSlideWindow *window;
00049 };
00050
00051
00052
00053
00054 class BandSlideWindow : public BC_Window
00055 {
00056 public:
00057 BandSlideWindow(BandSlideMain *plugin, int x, int y);
00058 void create_objects();
00059 int close_event();
00060 BandSlideMain *plugin;
00061 BandSlideCount *count;
00062 BandSlideIn *in;
00063 BandSlideOut *out;
00064 };
00065
00066
00067 PLUGIN_THREAD_HEADER(BandSlideMain, BandSlideThread, BandSlideWindow)
00068
00069
00070 class BandSlideMain : public PluginVClient
00071 {
00072 public:
00073 BandSlideMain(PluginServer *server);
00074 ~BandSlideMain();
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 BandSlideThread *thread;
00095 BC_Hash *defaults;
00096 };
00097
00098 #endif