1d4300dfecdf9066f96f127611ce63e75bb5a9cc
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / brightness / brightnesswindow.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 BRIGHTNESSWINDOW_H
23 #define BRIGHTNESSWINDOW_H
24
25
26 class BrightnessThread;
27 class BrightnessWindow;
28 class BrightnessSlider;
29 class BrightnessLuma;
30 class BrightnessReset;
31
32 #include "brightness.h"
33 #include "guicast.h"
34 #include "mutex.h"
35 #include "pluginvclient.h"
36 #include "thread.h"
37
38
39 class BrightnessWindow : public PluginClientWindow
40 {
41 public:
42         BrightnessWindow(BrightnessMain *client);
43         ~BrightnessWindow();
44         void update();
45         void create_objects();
46
47         BrightnessMain *client;
48         BrightnessSlider *brightness;
49         BrightnessSlider *contrast;
50         BrightnessLuma *luma;
51         BrightnessReset *reset;
52 };
53
54 class BrightnessSlider : public BC_FSlider
55 {
56 public:
57         BrightnessSlider(BrightnessMain *client, float *output, int x, int y, int is_brightness);
58         ~BrightnessSlider();
59         int handle_event();
60         char* get_caption();
61
62         BrightnessMain *client;
63         float *output;
64         int is_brightness;
65         char string[BCTEXTLEN];
66 };
67
68 class BrightnessLuma : public BC_CheckBox
69 {
70 public:
71         BrightnessLuma(BrightnessMain *client, int x, int y);
72         ~BrightnessLuma();
73         int handle_event();
74
75         BrightnessMain *client;
76 };
77
78 class BrightnessReset : public BC_GenericButton
79 {
80 public:
81         BrightnessReset(BrightnessMain *client, BrightnessWindow *window, int x, int y);
82         ~BrightnessReset();
83         int handle_event();
84         BrightnessMain *client;
85         BrightnessWindow *window;
86 };
87
88 #endif
89
90
91
92