Back to index

scribus-ng  1.3.4.dfsg+svn20071115
scimagestructs.h
Go to the documentation of this file.
00001 /*
00002 For general Scribus (>=1.3.2) copyright and licensing information please refer
00003 to the COPYING file provided with the program. Following this notice may exist
00004 a copyright and/or license notice that predates the release of Scribus 1.3.2
00005 for which a new license (GPL+exception) is in place.
00006 */
00007 #ifndef SCIMAGESTRUCTS_H
00008 #define SCIMAGESTRUCTS_H
00009 
00010 #include <qstring.h>
00011 #include <qvaluelist.h>
00012 #include <qimage.h>
00013 #include <qmap.h>
00014 #include "fpointarray.h"
00015 #include "sccolor.h"
00016 
00017 struct ImageLoadRequest
00018 {
00019        bool visible;
00020        bool useMask;
00021        ushort opacity;
00022        QString blend;
00023 };
00024 
00025 struct PSDHeader
00026 {
00027        uint signature;
00028        ushort version;
00029        uchar reserved[6];
00030        ushort channel_count;
00031        uint height;
00032        uint width;
00033        ushort depth;
00034        ushort color_mode;
00035 };
00036 
00037 struct PSDLayer
00038 {
00039        QValueList<uint> channelLen;
00040        QValueList<int> channelType;
00041        int xpos;
00042        int ypos;
00043        int width;
00044        int height;
00045        ushort opacity;
00046        uchar clipping;
00047        uchar flags;
00048        int maskXpos;
00049        int maskYpos;
00050        int maskWidth;
00051        int maskHeight;
00052        QString layerName;
00053        QString blend;
00054        QImage thumb;
00055        QImage thumb_mask;
00056 };
00057 
00058 struct PSDDuotone_Color
00059 {
00060        QString Name;
00061        ScColor Color;
00062        FPointArray Curve;
00063 };
00064 
00065 class ExifValues
00066 {
00067 public:
00068        ExifValues(void);
00069        void init(void);
00070 
00071        int width;
00072        int height;
00073        float ExposureTime;
00074        float ApertureFNumber;
00075        int   ISOequivalent;
00076        QString cameraName;
00077        QString cameraVendor;
00078        QString comment;
00079        QString userComment;
00080        QString artist;
00081        QString copyright;
00082        QString dateTime;
00083        QImage thumbnail;
00084 };
00085 
00086 class ImageInfoRecord
00087 {
00088 public:
00089        ImageInfoRecord(void);
00090        void init(void);
00091 
00092        int type;                   /* 0 = jpg, 1 = tiff, 2 = psd, 3 = eps/ps, 4 = pdf, 5 = jpg2000, 6 = other */
00093        int xres;
00094        int yres;
00095        int BBoxX;
00096        int BBoxH;
00097        int colorspace; /* 0 = RGB  1 = CMYK  2 = Grayscale 3 = Duotone */
00098        bool valid;
00099        bool isRequest;
00100        bool progressive;
00101        bool isEmbedded;
00102        bool exifDataValid;
00103        int lowResType; /* 0 = full Resolution, 1 = 72 dpi, 2 = 36 dpi */
00104        double lowResScale;
00105        QMap<QString, FPointArray> PDSpathData;
00106        QMap<int, ImageLoadRequest> RequestProps;
00107        QString clipPath;
00108        QString usedPath;
00109        QString profileName;
00110        QValueList<PSDLayer> layerInfo;
00111        QValueList<PSDDuotone_Color> duotoneColors;
00112        ExifValues exifInfo;
00113 };
00114 
00115 #endif