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