r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / plugins / freezeframe / freezeframe.h
blobc8014b9e897bb1402353671cc1e0358db9419f34
1 #ifndef FREEZEFRAME_H
2 #define FREEZEFRAME_H
7 #include "filexml.inc"
8 #include "mutex.h"
9 #include "pluginvclient.h"
13 class FreezeFrameWindow;
14 class FreezeFrameMain;
15 class FreezeFrameThread;
17 class FreezeFrameConfig
19 public:
20 FreezeFrameConfig();
21 void copy_from(FreezeFrameConfig &that);
22 int equivalent(FreezeFrameConfig &that);
23 void interpolate(FreezeFrameConfig &prev,
24 FreezeFrameConfig &next,
25 long prev_frame,
26 long next_frame,
27 long current_frame);
28 int enabled;
29 int line_double;
32 class FreezeFrameToggle : public BC_CheckBox
34 public:
35 FreezeFrameToggle(FreezeFrameMain *client,
36 int *value,
37 int x,
38 int y,
39 char *text);
40 ~FreezeFrameToggle();
41 int handle_event();
42 FreezeFrameMain *client;
43 int *value;
46 class FreezeFrameWindow : public BC_Window
48 public:
49 FreezeFrameWindow(FreezeFrameMain *client, int x, int y);
50 ~FreezeFrameWindow();
52 int create_objects();
53 int close_event();
55 FreezeFrameMain *client;
56 FreezeFrameToggle *enabled;
57 FreezeFrameToggle *line_double;
60 PLUGIN_THREAD_HEADER(FreezeFrameMain, FreezeFrameThread, FreezeFrameWindow)
62 class FreezeFrameMain : public PluginVClient
64 public:
65 FreezeFrameMain(PluginServer *server);
66 ~FreezeFrameMain();
68 // required for all realtime plugins
69 int process_realtime(VFrame *input_ptr, VFrame *output_ptr);
70 int is_realtime();
71 char* plugin_title();
72 int show_gui();
73 void raise_window();
74 int set_string();
75 void update_gui();
76 int load_configuration();
77 void save_data(KeyFrame *keyframe);
78 void read_data(KeyFrame *keyframe);
79 int load_defaults();
80 int save_defaults();
81 VFrame* new_picon();
82 int is_synthesis();
84 // parameters needed for freezeframe
85 VFrame *first_frame;
86 FreezeFrameConfig config;
87 FreezeFrameThread *thread;
88 Defaults *defaults;
92 #endif