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