1 /*
2 * This file is part of Converseen, an open-source batch image converter
3 * and resizer.
4 *
5 * (C) Francesco Mondello 2009 - 2021
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 *
20 * Contact e-mail: Francesco Mondello <faster3ck@gmail.com>
21 *
22 */
23 
24 #ifndef THUMBNAILGENERATORTHREAD_H
25 #define THUMBNAILGENERATORTHREAD_H
26 
27 #include <string>
28 #include <iostream>
29 #include <Magick++.h>
30 
31 #include <QThread>
32 #include <QObject>
33 #include <QPixmap>
34 #include <QPixmapCache>
35 #include "cachingsystem.h"
36 
37 using namespace Magick;
38 using namespace std;
39 
40 class ThumbnailGeneratorThread : public QThread
41 {
42     Q_OBJECT
43 public:
44     ThumbnailGeneratorThread(QObject *parent);
45     void run();
46 
47     void setFileName(QString fileName);
48     void setThumbnailGeneration(bool generate);
49 
50 private:
51     void createThumbnail();
52 
53     QImage* toQImage(const Image &image);
54     QString m_fileName;
55     bool m_generateThumbnail;
56 
57 signals:
58     void pixmapGenerated(QImage thumbnail, int orig_w, int orig_h, double orig_dens_x, double orig_dens_y);
59 
60 public slots:
61 
62 };
63 
64 #endif // THUMBNAILGENERATORTHREAD_H
65