Subversion Repositories Scribus

Rev

Rev 10271 | Rev 10292 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
10124 cbradney 1
/*
2
For general Scribus (>=1.3.2) copyright and licensing information please refer
3
to the COPYING file provided with the program. Following this notice may exist
4
a copyright and/or license notice that predates the release of Scribus 1.3.2
5
for which a new license (GPL+exception) is in place.
6
*/
7
 
8
//Added by Craig Bradney in July 2007
9
//To be used for basic format detection and checking
10
//One central place for storing all our extensions we support, etc
11
 
10212 cbradney 12
#ifndef _UTIL_FORMATs_H
13
#define _UTIL_FORMATs_H
10124 cbradney 14
 
10181 cbradney 15
#include <QByteArray>
16
#include <QList>
17
#include <QMap>
10124 cbradney 18
#include <QString>
10181 cbradney 19
#include <QStringList>
10137 jghali 20
#include "scribusapi.h"
10124 cbradney 21
 
10137 jghali 22
bool SCRIBUS_API extensionIndicatesEPS(const QString &ext);
23
bool SCRIBUS_API extensionIndicatesEPSorPS(const QString &ext);
10181 cbradney 24
bool SCRIBUS_API extensionIndicatesJPEG(const QString &ext);
25
bool SCRIBUS_API extensionIndicatesPDF(const QString &ext);
26
bool SCRIBUS_API extensionIndicatesPSD(const QString &ext);
27
bool SCRIBUS_API extensionIndicatesPattern(const QString &ext);
10137 jghali 28
bool SCRIBUS_API extensionIndicatesTIFF(const QString &ext);
10124 cbradney 29
 
10181 cbradney 30
 
31
class SCRIBUS_API FormatsManager
32
{
33
        public:
34
 
10271 cbradney 35
                enum ScImageFormatType
10181 cbradney 36
                {
10271 cbradney 37
                        ALLIMAGES = 1|2|4|8|16|32|64|128|256|512,
38
                        EPS             = 1, // Encapsulated PostScript
39
                        GIF             = 2, // GIF files
40
                        JPEG    = 4, // JPEG
41
                        PAT             = 8, // Pattern files
42
                        PDF             = 16, // PDF Format
43
                        PNG             = 32, // PNG files
44
                        PS              = 64, // PostScript
45
                        PSD             = 128, // Photoshop Format
46
                        TIFF    = 256, // TIFF
47
                        XPM             = 512, // XPM files
10181 cbradney 48
                };
49
 
50
                FormatsManager();
51
                ~FormatsManager();
52
 
53
        /**
54
                 * @brief Returns a pointer to the FormatsManager instance
55
                 * @return A pointer to the FormatsManager instance
56
         */
57
                static FormatsManager* instance();
58
        /**
59
                 * @brief Deletes the FormatsManager Instance
60
                 * Must be called when FormatsManager is no longer needed.
61
         */
62
                static void deleteInstance();
63
                void imageFormatSupported(const QString&);
64
 
10271 cbradney 65
                void fileTypeStrings(int type, QString& formatList, QString& formatText, QString& formatAll, bool lowerCaseOnly=false);
10181 cbradney 66
 
67
        protected:
68
                QMap<int, QStringList> m_fmts;
69
                QStringList m_fmtList;
10272 cbradney 70
                QList<QByteArray> m_qtSupportedImageFormats;
10181 cbradney 71
                QList<QByteArray> m_supportedImageFormats;
72
                void updateSupportedImageFormats(QList<QByteArray>& supportedImageFormats);
73
 
74
        private:
75
        /**
76
         * @brief The only instance of FormatsManager available.
77
         *
78
         * FormatsManager is singleton and the instance can be queried with the method
79
         * instance().
80
         */
81
        static FormatsManager* _instance;
82
};
83
 
10124 cbradney 84
#endif