no longer need ffmpeg patch0 which was for Termux
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / sharpen / sharpenwindow.h
1
2 /*
3  * CINELERRA
4  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  *
20  */
21
22 #ifndef SHARPENWINDOW_H
23 #define SHARPENWINDOW_H
24
25 #include "guicast.h"
26 #include "filexml.h"
27 #include "mutex.h"
28 #include "sharpen.h"
29 #include "theme.h"
30
31 #define RESET_DEFAULT_SETTINGS 10
32 #define RESET_ALL 0
33 #define RESET_SHARPEN 1
34
35 class SharpenWindow;
36 class SharpenInterlace;
37 class SharpenText;
38 class SharpenSlider;
39 class SharpenHorizontal;
40 class SharpenLuminance;
41 class SharpenReset;
42 class SharpenDefaultSettings;
43 class SharpenClr;
44
45 class SharpenWindow : public PluginClientWindow
46 {
47 public:
48         SharpenWindow(SharpenMain *client);
49         ~SharpenWindow();
50
51         void create_objects();
52         void update_gui(int clear);
53
54         SharpenMain *client;
55
56         SharpenText *sharpen_text;
57         SharpenSlider *sharpen_slider;
58         SharpenClr *sharpen_Clr;
59
60         SharpenInterlace *sharpen_interlace;
61         SharpenHorizontal *sharpen_horizontal;
62         SharpenLuminance *sharpen_luminance;
63
64         SharpenReset *reset;
65         SharpenDefaultSettings *default_settings;
66 };
67
68 class SharpenText : public BC_TumbleTextBox
69 {
70 public:
71         SharpenText(SharpenMain *client, SharpenWindow *gui, int x, int y);
72         ~SharpenText();
73         int handle_event();
74
75         SharpenMain *client;
76         SharpenWindow *gui;
77 };
78
79 class SharpenSlider : public BC_ISlider
80 {
81 public:
82         SharpenSlider(SharpenMain *client, SharpenWindow *gui, int x, int y, int w);
83         ~SharpenSlider();
84         int handle_event();
85
86         SharpenWindow *gui;
87         SharpenMain *client;
88 };
89
90 class SharpenInterlace : public BC_CheckBox
91 {
92 public:
93         SharpenInterlace(SharpenMain *client, int x, int y);
94         ~SharpenInterlace();
95         int handle_event();
96
97         SharpenMain *client;
98 };
99
100 class SharpenHorizontal : public BC_CheckBox
101 {
102 public:
103         SharpenHorizontal(SharpenMain *client, int x, int y);
104         ~SharpenHorizontal();
105         int handle_event();
106
107         SharpenMain *client;
108 };
109
110 class SharpenLuminance : public BC_CheckBox
111 {
112 public:
113         SharpenLuminance(SharpenMain *client, int x, int y);
114         ~SharpenLuminance();
115         int handle_event();
116
117         SharpenMain *client;
118 };
119
120 class SharpenReset : public BC_GenericButton
121 {
122 public:
123         SharpenReset(SharpenMain *client, SharpenWindow *gui, int x, int y);
124         ~SharpenReset();
125         int handle_event();
126         SharpenMain *client;
127         SharpenWindow *gui;
128 };
129
130 class SharpenDefaultSettings : public BC_GenericButton
131 {
132 public:
133         SharpenDefaultSettings(SharpenMain *client, SharpenWindow *gui, int x, int y, int w);
134         ~SharpenDefaultSettings();
135         int handle_event();
136         SharpenMain *client;
137         SharpenWindow *gui;
138 };
139
140 class SharpenClr : public BC_Button
141 {
142 public:
143         SharpenClr(SharpenMain *client, SharpenWindow *gui, int x, int y);
144         ~SharpenClr();
145         int handle_event();
146         SharpenMain *client;
147         SharpenWindow *gui;
148 };
149
150 #endif