2
This file is part of darktable,
3
copyright (c) 2009--2010 johannes hanika.
5
darktable is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
10
darktable is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
15
You should have received a copy of the GNU General Public License
16
along with darktable. If not, see <http://www.gnu.org/licenses/>.
18
#ifndef DARKTABLE_IOP_EXPOSURE_H
19
#define DARKTABLE_IOP_EXPOSURE_H
21
#include "develop/imageop.h"
24
#include "dtgtk/slider.h"
26
typedef struct dt_iop_exposure_params_t
28
float black, exposure, gain;
30
dt_iop_exposure_params_t;
32
typedef struct dt_iop_exposure_gui_data_t
34
GtkVBox *vbox1, *vbox2;
35
GtkCheckButton *autoexp;
36
GtkDarktableSlider *scale1, *scale2, *autoexpp;
38
dt_iop_exposure_gui_data_t;
40
typedef struct dt_iop_exposure_data_t
42
float black, exposure, gain;
44
dt_iop_exposure_data_t;
46
typedef struct dt_iop_exposure_global_data_t
50
dt_iop_exposure_global_data_t;
52
void init(dt_iop_module_t *module);
53
void cleanup(dt_iop_module_t *module);
55
void gui_update (struct dt_iop_module_t *self);
56
void commit_params (struct dt_iop_module_t *self, dt_iop_params_t *params, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece);
57
void init_pipe (struct dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece);
58
void reset_params (struct dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece);
59
void cleanup_pipe (struct dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece);
61
void gui_init (struct dt_iop_module_t *self);
62
void gui_cleanup (struct dt_iop_module_t *self);
64
void process (struct dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece, void *i, void *o, const dt_iop_roi_t *roi_in, const dt_iop_roi_t *roi_out);