r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / plugins / svg / svg.h
blob6eb27a6f91dea7ec9c1eb922b5870cf8dcb60cb3
1 #ifndef SVG_H
2 #define SVG_H
4 // the simplest plugin possible
6 class SvgMain;
7 class SvgThread;
9 #include "defaults.h"
10 #include "mutex.h"
11 #include "svgwin.h"
12 #include "overlayframe.h"
13 #include "pluginvclient.h"
14 #include "thread.h"
16 class SvgConfig
18 public:
19 SvgConfig();
20 int equivalent(SvgConfig &that);
21 void copy_from(SvgConfig &that);
22 void interpolate(SvgConfig &prev,
23 SvgConfig &next,
24 long prev_frame,
25 long next_frame,
26 long current_frame);
28 float in_x, in_y, in_w, in_h, out_x, out_y, out_w, out_h;
29 char svg_file[BCTEXTLEN];
30 time_t last_load;
34 class SvgMain : public PluginVClient
36 public:
37 SvgMain(PluginServer *server);
38 ~SvgMain();
40 // required for all realtime plugins
41 int process_realtime(VFrame *input_ptr, VFrame *output_ptr);
42 int is_realtime();
43 char* plugin_title();
44 int show_gui();
45 void raise_window();
46 void update_gui();
47 int set_string();
48 void save_data(KeyFrame *keyframe);
49 void read_data(KeyFrame *keyframe);
50 VFrame* new_picon();
51 int load_defaults();
52 int save_defaults();
53 int load_configuration();
55 // a thread for the GUI
56 SvgThread *thread;
58 OverlayFrame *overlayer; // To translate images
59 VFrame *temp_frame; // Used if buffers are the same
60 Defaults *defaults;
61 SvgConfig config;
62 int need_reconfigure;
63 int force_png_render; //force rendering of PNG on first start
67 #endif