r123: Merged HEAD and TEST. New stuff shall be committed to HEAD from now on.
[cinelerra_cv/mob.git] / plugins / deinterlace / deinterwindow.h
blob49cb986389e97201c9086df2efc81d313e4c1304
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 DeInterlaceAdaptive;
17 class DeInterlaceThreshold;
19 class DeInterlaceWindow : public BC_Window
21 public:
22 DeInterlaceWindow(DeInterlaceMain *client, int x, int y);
23 ~DeInterlaceWindow();
25 int create_objects();
26 int close_event();
27 int set_mode(int mode, int recursive);
28 void get_status_string(char *string, int changed_rows);
30 DeInterlaceMain *client;
31 DeInterlaceOption *odd_fields;
32 DeInterlaceOption *even_fields;
33 DeInterlaceOption *average_fields;
34 DeInterlaceOption *swap_odd_fields;
35 DeInterlaceOption *swap_even_fields;
36 DeInterlaceOption *avg_even;
37 DeInterlaceOption *avg_odd;
38 DeInterlaceOption *none;
39 DeInterlaceAdaptive *adaptive;
40 DeInterlaceThreshold *threshold;
41 BC_Title *status;
44 class DeInterlaceOption : public BC_Radial
46 public:
47 DeInterlaceOption(DeInterlaceMain *client,
48 DeInterlaceWindow *window,
49 int output,
50 int x,
51 int y,
52 char *text);
53 ~DeInterlaceOption();
54 int handle_event();
56 DeInterlaceMain *client;
57 DeInterlaceWindow *window;
58 int output;
61 class DeInterlaceAdaptive : public BC_CheckBox
63 public:
64 DeInterlaceAdaptive(DeInterlaceMain *client, int x, int y);
65 int handle_event();
66 DeInterlaceMain *client;
69 class DeInterlaceThreshold : public BC_IPot
71 public:
72 DeInterlaceThreshold(DeInterlaceMain *client, int x, int y);
73 int handle_event();
74 DeInterlaceMain *client;
80 #endif