1 /********************************************************************************************** 2 Copyright (C) 2018 Oliver Eichler <oliver.eichler@gmx.de> 3 4 This program is free software: you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation, either version 3 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program. If not, see <http://www.gnu.org/licenses/>. 16 17 **********************************************************************************************/ 18 19 #ifndef CAPP_H 20 #define CAPP_H 21 22 #include <gdal.h> 23 #include <QtCore> 24 25 class GDALColorTable; 26 class GDALDataset; 27 28 class CApp 29 { 30 Q_DECLARE_TR_FUNCTIONS(CApp) 31 public: 32 CApp(qint32 ncolors, const QString& pctFilename, const QString& sctFilename, const QString& srcFilename, const QString& tarFilename); 33 virtual ~CApp() = default; 34 35 qint32 exec(); 36 37 private: 38 static GDALColorTable* createColorTable(qint32 ncolors, const QString& pctFilename, GDALDataset* dataset); 39 static void saveColorTable(GDALColorTable* ct, QString& sctFilename); 40 static void ditherMap(GDALDataset* dsSrc, const QString& tarFilename, GDALColorTable* ct); 41 42 qint32 ncolors = 0; 43 QString pctFilename; 44 QString sctFilename; 45 QString srcFilename; 46 QString tarFilename; 47 48 static const GDALColorEntry noColor; 49 }; 50 51 void printStdoutQString(const QString& str); 52 void printStderrQString(const QString& str); 53 54 #endif //CAPP_H 55 56