1 /* 2 * This file is part of RawTherapee. 3 * 4 * Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com> 5 * 6 * RawTherapee 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 3 of the License, or 9 * (at your option) any later version. 10 * 11 * RawTherapee 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 RawTherapee. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 #ifndef _RTSETTINGS_ 20 #define _RTSETTINGS_ 21 22 #include "procparams.h" 23 24 namespace rtengine 25 { 26 27 /** This structure holds the global parameters used by the RT engine. */ 28 class Settings 29 { 30 public: 31 Glib::ustring iccDirectory; ///< The directory containing the possible output icc profiles 32 int viewingdevice; // white of output device (D50...D65..) 33 int viewingdevicegrey; // level of grey output device 34 int viewinggreySc; // level of grey Scene 35 int leveldnv; // level of crop denoise 36 int leveldnti; // size of tiles denoise 37 int leveldnaut; // level of auto denoise 38 int leveldnliss; // level of auto multi zone 39 int leveldnautsimpl; // STD or EXPERT 40 41 Glib::ustring monitorProfile; ///< ICC profile name used for the monitor 42 RenderingIntent monitorIntent; ///< Colorimetric intent used with the above profile 43 bool monitorBPC; ///< Black Point Compensation for the Labimage->Monitor transform (directly, i.e. not soft-proofing and no WCS in between) 44 bool autoMonitorProfile; ///< Try to auto-determine the correct monitor color profile 45 bool autocielab; 46 bool rgbcurveslumamode_gamut;// controls gamut enforcement for RGB curves in lumamode 47 bool verbose; 48 Glib::ustring darkFramesPath; ///< The default directory for dark frames 49 Glib::ustring flatFieldsPath; ///< The default directory for flat fields 50 Glib::ustring adobe; // default name of AdobeRGB1998 51 Glib::ustring prophoto; // default name of Prophoto 52 Glib::ustring prophoto10; // default name of Prophoto 53 54 Glib::ustring widegamut; //default name of WidegamutRGB 55 Glib::ustring beta; // default name of BetaRGB 56 Glib::ustring best; // default name of BestRGB 57 Glib::ustring bruce; // default name of Bruce 58 Glib::ustring srgb; // default name of SRGB space profile 59 Glib::ustring srgb10; // default name of SRGB space profile 60 Glib::ustring rec2020; // default name of rec2020 61 62 bool gamutICC; // no longer used 63 bool gamutLch; 64 bool ciecamfloat; 65 bool HistogramWorking; 66 int amchroma; 67 int protectred; 68 double protectredh; 69 double nrauto; 70 double nrautomax; 71 double nrhigh; 72 int nrwavlevel; 73 bool daubech; 74 bool ciebadpixgauss; 75 int CRI_color; // Number for display Lab value; 0 = disabled 76 int denoiselabgamma; // 0=gamma 26 11 1=gamma 40 5 2 =gamma 55 10 77 // double colortoningab; // 78 // double decaction; 79 // bool bw_complementary; 80 double artifact_cbdl; 81 double level0_cbdl; 82 double level123_cbdl; 83 double bot_left; 84 double top_left; 85 double top_right; 86 double bot_right; 87 double ed_detec; 88 double ed_detecStr; 89 double ed_low; 90 double ed_lipinfl; 91 double ed_lipampl; 92 /** Creates a new instance of Settings. 93 * @return a pointer to the new Settings instance. */ 94 static Settings* create (); 95 /** Destroys an instance of Settings. 96 * @param s a pointer to the Settings instance to destroy. */ 97 static void destroy (Settings* s); 98 }; 99 } 100 101 #endif 102 103