r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / plugins / translate / translate.h
blob285287d41fa6fcd43b39c6ace4a2d66032b81355
1 #ifndef TRANSLATE_H
2 #define TRANSLATE_H
4 // the simplest plugin possible
6 class TranslateMain;
8 #include "defaults.h"
9 #include "mutex.h"
10 #include "translatewin.h"
11 #include "overlayframe.h"
12 #include "pluginvclient.h"
14 class TranslateConfig
16 public:
17 TranslateConfig();
18 int equivalent(TranslateConfig &that);
19 void copy_from(TranslateConfig &that);
20 void interpolate(TranslateConfig &prev,
21 TranslateConfig &next,
22 int64_t prev_frame,
23 int64_t next_frame,
24 int64_t current_frame);
26 float in_x, in_y, in_w, in_h, out_x, out_y, out_w, out_h;
30 class TranslateMain : public PluginVClient
32 public:
33 TranslateMain(PluginServer *server);
34 ~TranslateMain();
36 // required for all realtime plugins
37 int process_realtime(VFrame *input_ptr, VFrame *output_ptr);
38 int is_realtime();
39 char* plugin_title();
40 int show_gui();
41 void raise_window();
42 void update_gui();
43 int set_string();
44 void save_data(KeyFrame *keyframe);
45 void read_data(KeyFrame *keyframe);
46 VFrame* new_picon();
47 int load_defaults();
48 int save_defaults();
49 int load_configuration();
51 // a thread for the GUI
52 TranslateThread *thread;
54 OverlayFrame *overlayer; // To translate images
55 VFrame *temp_frame; // Used if buffers are the same
56 Defaults *defaults;
57 TranslateConfig config;
61 #endif