1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date        : 2009-08-09
7  * Description : Local Contrast settings container
8  *               LDR ToneMapper zynaddsubfx.sourceforge.net/other/tonemapping
9  *
10  * Copyright (C) 2009      by Nasca Octavian Paul <zynaddsubfx at yahoo dot com>
11  * Copyright (C) 2009-2021 by Gilles Caulier <caulier dot gilles at gmail dot com>
12  *
13  * This program is free software; you can redistribute it
14  * and/or modify it under the terms of the GNU General
15  * Public License as published by the Free Software Foundation;
16  * either version 2, or (at your option)
17  * any later version.
18  *
19  * This program is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  * GNU General Public License for more details.
23  *
24  * ============================================================ */
25 
26 #ifndef DIGIKAM_LOCAL_CONTRAST_CONTAINER_H
27 #define DIGIKAM_LOCAL_CONTRAST_CONTAINER_H
28 
29 #define TONEMAPPING_MAX_STAGES 4
30 
31 // Local includes
32 
33 #include "digikam_export.h"
34 
35 namespace Digikam
36 {
37 
38 class DIGIKAM_EXPORT LocalContrastContainer
39 {
40 
41 public:
42 
43     explicit LocalContrastContainer();
44     ~LocalContrastContainer();
45 
46     double getPower(int nstage)  const;
47     double getBlur(int nstage)   const;
48 
49 public:
50 
51     bool stretchContrast;
52 
53     int  lowSaturation;
54     int  highSaturation;
55     int  functionId;
56 
57     struct
58     {
59         bool  enabled;
60         double power;
61         double blur;
62     }
63     stage[TONEMAPPING_MAX_STAGES];
64 };
65 
66 } // namespace Digikam
67 
68 #endif // DIGIKAM_LOCAL_CONTRAST_CONTAINER_H
69