r1008: pt_BR translation update
[cinelerra_cv/mob.git] / plugins / shapewipe / shapewipe.h
blob69272ae2ff0ad9c3c73a6024e7a85dbc0fca4f27
1 #ifndef SHAPEWIPE_H
2 #define SHAPEWIPE_H
4 class ShapeWipeMain;
5 class ShapeWipeWindow;
7 #include "overlayframe.inc"
8 #include "pluginvclient.h"
9 #include "vframe.inc"
11 class ShapeWipeW2B : public BC_Radial
13 public:
14 ShapeWipeW2B(ShapeWipeMain *plugin,
15 ShapeWipeWindow *window,
16 int x,
17 int y);
18 int handle_event();
19 ShapeWipeMain *plugin;
20 ShapeWipeWindow *window;
23 class ShapeWipeB2W : public BC_Radial
25 public:
26 ShapeWipeB2W(ShapeWipeMain *plugin,
27 ShapeWipeWindow *window,
28 int x,
29 int y);
30 int handle_event();
31 ShapeWipeMain *plugin;
32 ShapeWipeWindow *window;
35 class ShapeWipeFilename : public BC_TextBox
37 public:
38 ShapeWipeFilename(ShapeWipeMain *plugin,
39 ShapeWipeWindow *window,
40 char *value,
41 int x,
42 int y);
43 int handle_event();
44 ShapeWipeMain *plugin;
45 ShapeWipeWindow *window;
46 char *value;
49 class ShapeWipeBrowseButton : public BC_GenericButton
51 public:
52 ShapeWipeBrowseButton(ShapeWipeMain *plugin,
53 ShapeWipeWindow *window,
54 ShapeWipeFilename *filename,
55 int x,
56 int y);
57 int handle_event();
58 ShapeWipeMain *plugin;
59 ShapeWipeWindow *window;
60 ShapeWipeFilename *filename;
63 class ShapeWipeAntiAlias : public BC_CheckBox
65 public:
66 ShapeWipeAntiAlias(ShapeWipeMain *plugin,
67 ShapeWipeWindow *window,
68 int x,
69 int y);
70 int handle_event();
71 ShapeWipeMain *plugin;
72 ShapeWipeWindow *window;
76 class ShapeWipePreserveAspectRatio : public BC_CheckBox
78 public:
79 ShapeWipePreserveAspectRatio(ShapeWipeMain *plugin,
80 ShapeWipeWindow *window,
81 int x,
82 int y);
83 int handle_event();
84 ShapeWipeMain *plugin;
85 ShapeWipeWindow *window;
89 class ShapeWipeLoad : public BC_FileBox
91 public:
92 ShapeWipeLoad(ShapeWipeFilename *filename,
93 char *init_directory);
94 ShapeWipeFilename *filename;
97 class ShapeWipeWindow : public BC_Window
99 public:
100 ShapeWipeWindow(ShapeWipeMain *plugin, int x, int y);
101 void create_objects();
102 int close_event();
103 void reset_pattern_image();
104 ShapeWipeMain *plugin;
105 ShapeWipeW2B *left;
106 ShapeWipeB2W *right;
107 ShapeWipeFilename *filename_widget;
110 PLUGIN_THREAD_HEADER(ShapeWipeMain, ShapeWipeThread, ShapeWipeWindow)
112 class ShapeWipeMain : public PluginVClient
114 public:
115 ShapeWipeMain(PluginServer *server);
116 ~ShapeWipeMain();
118 // required for all realtime plugins
119 void load_configuration();
120 int process_realtime(VFrame *incoming, VFrame *outgoing);
121 int load_defaults();
122 int save_defaults();
123 void save_data(KeyFrame *keyframe);
124 void read_data(KeyFrame *keyframe);
125 int show_gui();
126 void raise_window();
127 int uses_gui();
128 int is_transition();
129 int is_video();
130 char* plugin_title();
131 int set_string();
132 VFrame* new_picon();
133 int read_pattern_image(int new_frame_width, int new_frame_height);
134 void reset_pattern_image();
136 int direction;
137 char filename[BCTEXTLEN];
138 char last_read_filename[BCTEXTLEN];
139 unsigned char **pattern_image;
140 unsigned char min_value;
141 unsigned char max_value;
142 int frame_width;
143 int frame_height;
144 int antialias;
145 int preserve_aspect;
146 int last_preserve_aspect;
147 ShapeWipeThread *thread;
148 BC_Hash *defaults;
151 #endif