1 /* 2 Scan Tailor - Interactive post-processing tool for scanned pages. 3 Copyright (C) Joseph Artsimovich <joseph.artsimovich@gmail.com> 4 5 This program 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. 9 10 This program 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. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #ifndef OUTPUT_OUTPUT_PARAMS_H_ 20 #define OUTPUT_OUTPUT_PARAMS_H_ 21 22 #include "OutputFileParams.h" 23 #include "OutputImageParams.h" 24 #include "ZoneSet.h" 25 26 class QDomDocument; 27 class QDomElement; 28 class QString; 29 30 namespace output { 31 class OutputParams { 32 public: 33 OutputParams(const OutputImageParams& output_image_params, 34 const OutputFileParams& output_file_params, 35 const OutputFileParams& foreground_file_params, 36 const OutputFileParams& background_file_params, 37 const OutputFileParams& original_background_file_params, 38 const OutputFileParams& automask_file_params, 39 const OutputFileParams& speckles_file_params, 40 const ZoneSet& picture_zones, 41 const ZoneSet& fill_zones); 42 43 explicit OutputParams(const QDomElement& el); 44 45 QDomElement toXml(QDomDocument& doc, const QString& name) const; 46 47 const OutputImageParams& outputImageParams() const; 48 49 const OutputFileParams& outputFileParams() const; 50 51 const OutputFileParams& foregroundFileParams() const; 52 53 const OutputFileParams& backgroundFileParams() const; 54 55 const OutputFileParams& originalBackgroundFileParams() const; 56 57 const OutputFileParams& automaskFileParams() const; 58 59 const OutputFileParams& specklesFileParams() const; 60 61 const ZoneSet& pictureZones() const; 62 63 const ZoneSet& fillZones() const; 64 65 private: 66 OutputImageParams m_outputImageParams; 67 OutputFileParams m_outputFileParams; 68 OutputFileParams m_foregroundFileParams; 69 OutputFileParams m_backgroundFileParams; 70 OutputFileParams m_originalBackgroundFileParams; 71 OutputFileParams m_automaskFileParams; 72 OutputFileParams m_specklesFileParams; 73 ZoneSet m_pictureZones; 74 ZoneSet m_fillZones; 75 }; 76 } // namespace output 77 #endif // ifndef OUTPUT_OUTPUT_PARAMS_H_ 78