1 #ifndef HISTOGRAMWINDOW_H
2 #define HISTOGRAMWINDOW_H
6 #include "histogram.inc"
7 #include "histogramwindow.inc"
8 #include "pluginvclient.h"
12 class HistogramSlider
: public BC_SubWindow
15 HistogramSlider(HistogramMain
*plugin
,
24 int button_press_event();
25 int button_release_event();
26 int cursor_motion_event();
27 int input_to_pixel(float input
);
38 HistogramMain
*plugin
;
42 class HistogramAuto
: public BC_CheckBox
45 HistogramAuto(HistogramMain
*plugin
,
49 HistogramMain
*plugin
;
52 class HistogramPlot
: public BC_CheckBox
55 HistogramPlot(HistogramMain
*plugin
,
59 HistogramMain
*plugin
;
62 class HistogramSplit
: public BC_CheckBox
65 HistogramSplit(HistogramMain
*plugin
,
69 HistogramMain
*plugin
;
72 class HistogramMode
: public BC_Radial
75 HistogramMode(HistogramMain
*plugin
,
81 HistogramMain
*plugin
;
85 class HistogramReset
: public BC_GenericButton
88 HistogramReset(HistogramMain
*plugin
,
92 HistogramMain
*plugin
;
95 class HistogramOutputText
: public BC_TumbleTextBox
98 HistogramOutputText(HistogramMain
*plugin
,
104 HistogramMain
*plugin
;
108 class HistogramInputText
: public BC_TumbleTextBox
111 HistogramInputText(HistogramMain
*plugin
,
112 HistogramWindow
*gui
,
120 HistogramMain
*plugin
;
121 HistogramWindow
*gui
;
125 class HistogramCanvas
: public BC_SubWindow
128 HistogramCanvas(HistogramMain
*plugin
,
129 HistogramWindow
*gui
,
134 int button_press_event();
135 int cursor_motion_event();
136 int button_release_event();
137 HistogramMain
*plugin
;
138 HistogramWindow
*gui
;
141 class HistogramWindow
: public BC_Window
144 HistogramWindow(HistogramMain
*plugin
, int x
, int y
);
147 int create_objects();
149 void update(int do_input
);
151 void update_canvas();
152 void draw_canvas_overlay();
154 void update_output();
155 int keypress_event();
156 void get_point_extents(HistogramPoint
*current
,
164 HistogramSlider
*output
;
165 HistogramAuto
*automatic
;
166 HistogramMode
*mode_v
, *mode_r
, *mode_g
, *mode_b
/*, *mode_a */;
167 HistogramOutputText
*output_min
;
168 HistogramOutputText
*output_max
;
169 HistogramOutputText
*threshold
;
170 HistogramInputText
*input_x
;
171 HistogramInputText
*input_y
;
172 HistogramCanvas
*canvas
;
173 HistogramMain
*plugin
;
180 BC_Pixmap
*max_picon
, *mid_picon
, *min_picon
;
182 HistogramSplit
*split
;
187 PLUGIN_THREAD_HEADER(HistogramMain
, HistogramThread
, HistogramWindow
)