Fixed initialisation of tf in file_open(). Without setting the memory to 0,
[cinelerra_cv/mob.git] / plugins / deinterlace / deinterwindow.h
blobcdee0d875c514da429ffd70c100aacaf42e2b2de
1 #ifndef DEINTERWINDOW_H
2 #define DEINTERWINDOW_H
5 class DeInterlaceThread;
6 class DeInterlaceWindow;
8 #include "guicast.h"
9 #include "mutex.h"
10 #include "deinterlace.h"
11 #include "pluginclient.h"
13 PLUGIN_THREAD_HEADER(DeInterlaceMain, DeInterlaceThread, DeInterlaceWindow);
15 class DeInterlaceOption;
16 class DeInterlaceMode;
17 class DeInterlaceDominanceTop;
18 class DeInterlaceDominanceBottom;
19 class DeInterlaceAdaptive;
20 class DeInterlaceThreshold;
22 class DeInterlaceWindow : public BC_Window
24 public:
25 DeInterlaceWindow(DeInterlaceMain *client, int x, int y);
26 ~DeInterlaceWindow();
28 int create_objects();
29 int close_event();
30 int set_mode(int mode, int recursive);
31 void get_status_string(char *string, int changed_rows);
32 DeInterlaceMain *client;
33 DeInterlaceMode *mode;
34 DeInterlaceAdaptive *adaptive;
35 DeInterlaceDominanceTop *dominance_top;
36 DeInterlaceDominanceBottom *dominance_bottom;
37 DeInterlaceThreshold *threshold;
38 int optional_controls_x,optional_controls_y;
39 BC_Title *status;
42 class DeInterlaceOption : public BC_Radial
44 public:
45 DeInterlaceOption(DeInterlaceMain *client,
46 DeInterlaceWindow *window,
47 int output,
48 int x,
49 int y,
50 char *text);
51 ~DeInterlaceOption();
52 int handle_event();
54 DeInterlaceMain *client;
55 DeInterlaceWindow *window;
56 int output;
59 class DeInterlaceAdaptive : public BC_CheckBox
61 public:
62 DeInterlaceAdaptive(DeInterlaceMain *client, int x, int y);
63 int handle_event();
64 DeInterlaceMain *client;
67 class DeInterlaceDominanceTop : public BC_Radial
69 public:
70 DeInterlaceDominanceTop(DeInterlaceMain *client, DeInterlaceWindow *window, int x, int y, char * title);
71 int handle_event();
72 DeInterlaceMain *client;
73 DeInterlaceWindow *window;
76 class DeInterlaceDominanceBottom : public BC_Radial
78 public:
79 DeInterlaceDominanceBottom(DeInterlaceMain *client, DeInterlaceWindow *window, int x, int y, char * title);
80 int handle_event();
81 DeInterlaceMain *client;
82 DeInterlaceWindow *window;
85 class DeInterlaceThreshold : public BC_IPot
87 public:
88 DeInterlaceThreshold(DeInterlaceMain *client, int x, int y);
89 ~DeInterlaceThreshold();
91 int handle_event();
92 DeInterlaceMain *client;
93 BC_Title *title_caption;
98 class DeInterlaceMode : public BC_PopupMenu
100 public:
101 DeInterlaceMode(DeInterlaceMain *client,
102 DeInterlaceWindow *window,
103 int x,
104 int y);
105 void create_objects();
106 static char* to_text(int shape);
107 static int from_text(char *text);
108 int handle_event();
109 DeInterlaceMain *plugin;
110 DeInterlaceWindow *gui;
114 #endif