r726: Implementing ability to add textural info to the labels
[cinelerra_cv/mob.git] / plugins / deinterlace / deinterwindow.h
blobd0aca547098170429bf3d281bf486e88a831459e
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 *temporalswap_top_fields;
37 DeInterlaceOption *temporalswap_bottom_fields;
38 DeInterlaceOption *avg_even;
39 DeInterlaceOption *avg_odd;
40 DeInterlaceOption *none;
41 DeInterlaceAdaptive *adaptive;
42 DeInterlaceThreshold *threshold;
43 BC_Title *status;
46 class DeInterlaceOption : public BC_Radial
48 public:
49 DeInterlaceOption(DeInterlaceMain *client,
50 DeInterlaceWindow *window,
51 int output,
52 int x,
53 int y,
54 char *text);
55 ~DeInterlaceOption();
56 int handle_event();
58 DeInterlaceMain *client;
59 DeInterlaceWindow *window;
60 int output;
63 class DeInterlaceAdaptive : public BC_CheckBox
65 public:
66 DeInterlaceAdaptive(DeInterlaceMain *client, int x, int y);
67 int handle_event();
68 DeInterlaceMain *client;
71 class DeInterlaceThreshold : public BC_IPot
73 public:
74 DeInterlaceThreshold(DeInterlaceMain *client, int x, int y);
75 int handle_event();
76 DeInterlaceMain *client;
82 #endif