4 * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
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.
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.
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
22 #ifndef UNSHARPWINDOW_H
23 #define UNSHARPWINDOW_H
26 #include "unsharp.inc"
27 #include "unsharpwindow.inc"
30 #define RESET_DEFAULT_SETTINGS 10
32 #define RESET_RADIUS 1
33 #define RESET_AMOUNT 2
34 #define RESET_THRESHOLD 3
36 #define RADIUS_MIN 0.10
37 #define RADIUS_MAX 120.00
38 #define AMOUNT_MIN 0.00
39 #define AMOUNT_MAX 5.00
40 #define THRESHOLD_MIN 0
41 #define THRESHOLD_MAX 255
45 class UnsharpRadiusText : public BC_TumbleTextBox
48 UnsharpRadiusText(UnsharpWindow *window,
53 UnsharpWindow *window;
57 class UnsharpRadiusSlider : public BC_FSlider
60 UnsharpRadiusSlider(UnsharpWindow *window,
63 ~UnsharpRadiusSlider();
65 UnsharpWindow *window;
70 class UnsharpAmountText : public BC_TumbleTextBox
73 UnsharpAmountText(UnsharpWindow *window,
78 UnsharpWindow *window;
83 class UnsharpAmountSlider : public BC_FSlider
86 UnsharpAmountSlider(UnsharpWindow *window,
89 ~UnsharpAmountSlider();
91 UnsharpWindow *window;
96 class UnsharpThresholdText : public BC_TumbleTextBox
99 UnsharpThresholdText(UnsharpWindow *window,
102 ~UnsharpThresholdText();
104 UnsharpWindow *window;
108 class UnsharpThresholdSlider : public BC_ISlider
111 UnsharpThresholdSlider(UnsharpWindow *window,
113 int x, int y, int w);
114 ~UnsharpThresholdSlider();
116 UnsharpWindow *window;
121 class UnsharpClr : public BC_Button
124 UnsharpClr(UnsharpWindow *window, UnsharpMain *plugin,
125 int x, int y, int clear);
128 UnsharpWindow *window;
134 class UnsharpReset : public BC_GenericButton
137 UnsharpReset(UnsharpWindow *window, UnsharpMain *plugin, int x, int y);
140 UnsharpWindow *window;
144 class UnsharpDefaultSettings : public BC_GenericButton
147 UnsharpDefaultSettings(UnsharpWindow *window, UnsharpMain *plugin, int x, int y, int w);
148 ~UnsharpDefaultSettings();
150 UnsharpWindow *window;
156 class UnsharpWindow : public PluginClientWindow
159 UnsharpWindow(UnsharpMain *plugin);
162 void create_objects();
163 void update_gui(int clear);
167 UnsharpRadiusText *radius_text;
168 UnsharpRadiusSlider *radius_slider;
169 UnsharpClr *radius_clr;
171 UnsharpAmountText *amount_text;
172 UnsharpAmountSlider *amount_slider;
173 UnsharpClr *amount_clr;
175 UnsharpThresholdText *threshold_text;
176 UnsharpThresholdSlider *threshold_slider;
177 UnsharpClr *threshold_clr;
180 UnsharpDefaultSettings *default_settings;