Subversion Repositories Scribus

Rev

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

Rev Author Line No. Line
4430 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
*/
838 cbradney 7
#ifndef SCRIBUSSTRUCTS_H
8
#define SCRIBUSSTRUCTS_H
9
 
10
#ifdef HAVE_CONFIG_H
2688 craig 11
#include "scconfig.h"
838 cbradney 12
#endif
13
 
14
#include <qvaluestack.h>
15
#include <qvaluelist.h>
1429 subik 16
#include <qvaluevector.h>
838 cbradney 17
#include <qstring.h>
1208 cbradney 18
#include <qaction.h>
3933 avox 19
#include <qkeysequence.h>
839 cbradney 20
#include <vector>
838 cbradney 21
 
3878 cbradney 22
#include "sctextstruct.h"
838 cbradney 23
#include "scfonts.h"
24
#include "fpointarray.h"
25
#include "vgradient.h"
4084 cbradney 26
#include "annotation.h"
838 cbradney 27
#include "pageitem.h"
28
 
1065 cbradney 29
struct CopyPasteBuffer
1429 subik 30
{
1460 cbradney 31
        PageItem::ItemType PType;
844 fschmid 32
        double Xpos;
33
        double Ypos;
34
        double Width;
35
        double Height;
36
        double RadRect;
37
        int FrameType;
38
        bool ClipEdited;
39
        double Pwidth;
40
        QString Pcolor;
41
        QString Pcolor2;
42
        int Shade;
43
        int Shade2;
44
        QString GrColor;
45
        QString GrColor2;
46
        int GrShade;
47
        int GrShade2;
48
        VGradient fill_gradient;
49
        int GrType;
50
        double GrStartX;
51
        double GrStartY;
52
        double GrEndX;
53
        double GrEndY;
54
        QString TxtStroke;
55
        QString TxtFill;
56
        int ShTxtStroke;
57
        int ShTxtFill;
58
        int TxtScale;
2230 fschmid 59
        int TxtScaleV;
844 fschmid 60
        int TxTStyle;
2234 fschmid 61
        int TxTBase;
2247 fschmid 62
        int TxtShadowX;
63
        int TxtShadowY;
2257 fschmid 64
        int TxtOutline;
2262 fschmid 65
        int TxtUnderPos;
66
        int TxtUnderWidth;
2272 fschmid 67
        int TxtStrikePos;
68
        int TxtStrikeWidth;
844 fschmid 69
        double Rot;
70
        int PLineArt;
71
        int PLineJoin;
72
        int PLineEnd;
73
        double LineSp;
2309 fschmid 74
        int LineSpMode;
2382 fschmid 75
        int ExtraV;
844 fschmid 76
        double LocalScX;
77
        double LocalScY;
78
        double LocalX;
79
        double LocalY;
80
        bool PicArt;
1392 cbradney 81
        bool flippedH;
82
        bool flippedV;
4335 fschmid 83
/*      double BBoxX;
84
        double BBoxH; */
844 fschmid 85
        bool isPrintable;
86
        bool isBookmark;
87
        int BMnr;
4084 cbradney 88
        bool m_isAnnotation;
89
        Annotation m_annotation;
90
        QString AnName;
844 fschmid 91
        double Extra;
92
        double TExtra;
93
        double BExtra;
94
        double RExtra;
95
        QString Pfile;
96
        QString Pfile2;
97
        QString Pfile3;
98
        QString IProfile;
99
        QString EmProfile;
100
        int IRender;
101
        bool UseEmbedded;
1065 cbradney 102
        QString itemText;
844 fschmid 103
        QPointArray Clip;
104
        FPointArray PoLine;
105
        FPointArray ContourLine;
106
        bool PoShow;
107
        double BaseOffs;
108
        bool Textflow;
109
        bool Textflow2;
110
        bool UseContour;
1065 cbradney 111
        int textAlignment;
844 fschmid 112
        QString IFont;
113
        int ISize;
114
        QValueStack<int> Groups;
115
        int LayerNr;
116
        bool ScaleType;
117
        bool AspectRatio;
118
        bool Locked;
119
        bool LockRes;
120
        double Transparency;
121
        double TranspStroke;
122
        bool Reverse;
123
        QString NamedLStyle;
124
        QString Language;
125
        QString guiLanguage;
126
        int Cols;
127
        double ColGap;
2282 fschmid 128
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 129
        QValueList<double> DashValues;
130
        double DashOffset;
131
        bool isTableItem;
132
        bool TopLine;
133
        bool LeftLine;
134
        bool RightLine;
135
        bool BottomLine;
136
        int LeftLinkID;
137
        int RightLinkID;
138
        int TopLinkID;
139
        int BottomLinkID;
140
        int startArrowIndex;
141
        int endArrowIndex;
1655 cbradney 142
        ObjAttrVector pageItemAttributes;
844 fschmid 143
};
838 cbradney 144
 
4579 cbradney 145
struct CopyContentsBuffer
146
{
147
        PageItem::ItemType sourceType;
148
        QString contentsFileName;
149
        double LocalScX;
150
        double LocalScY;
151
        double LocalX;
152
        double LocalY;
4581 cbradney 153
        QString inputProfile;
154
        bool useEmbedded;
155
        int renderingIntent;
4579 cbradney 156
};
157
 
3987 craig 158
/** Pagemargins */
1065 cbradney 159
struct MarginStruct
1429 subik 160
{
3987 craig 161
        MarginStruct() : Top(0), Left(0), Bottom(0), Right(0) {}
162
        MarginStruct(double top, double left, double bottom, double right) :
163
                Top(top), Left(left), Bottom(bottom), Right(right) {}
844 fschmid 164
        double Top;
165
        double Left;
3987 craig 166
        double Bottom;
844 fschmid 167
        double Right;
168
};
838 cbradney 169
 
3016 fschmid 170
struct PageSet
171
{
172
        QString Name;
173
        int FirstPage;
174
        int Rows;
175
        int Columns;
176
        double GapHorizontal;
177
        double GapVertical;
178
        double GapBelow;
3026 fschmid 179
        QStringList pageNames;
3016 fschmid 180
};
181
 
1065 cbradney 182
struct ParagraphStyle
1429 subik 183
{
844 fschmid 184
        QString Vname;
2379 fschmid 185
        int LineSpaMode;      // 0 = fixed; 1 = Automatic; 2 = Adjust to Baseline Grid
844 fschmid 186
        double LineSpa;
1065 cbradney 187
        int textAlignment;
844 fschmid 188
        double Indent;
189
        double First;
1065 cbradney 190
        double gapBefore;
191
        double gapAfter;
844 fschmid 192
        QString Font;
193
        int FontSize;
2282 fschmid 194
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 195
        bool Drop;
196
        int DropLin;
2362 fschmid 197
        double DropDist;
844 fschmid 198
        int FontEffect;
199
        QString FColor;
200
        int FShade;
201
        QString SColor;
202
        int SShade;
203
        bool BaseAdj;
2273 fschmid 204
        int txtShadowX;
205
        int txtShadowY;
206
        int txtOutline;
207
        int txtUnderPos;
208
        int txtUnderWidth;
209
        int txtStrikePos;
210
        int txtStrikeWidth;
2379 fschmid 211
        int scaleH;
212
        int scaleV;
213
        int baseOff;
2434 fschmid 214
        int kernVal;
844 fschmid 215
};
838 cbradney 216
 
1065 cbradney 217
struct CMSData
844 fschmid 218
{
219
        QString DefaultMonitorProfile;
220
        QString DefaultPrinterProfile;
2984 fschmid 221
        QString DefaultImageRGBProfile;
222
        QString DefaultImageCMYKProfile;
223
        QString DefaultSolidColorProfile;
844 fschmid 224
        int ComponentsInput2;
225
        int ComponentsPrinter;
226
        int DefaultIntentMonitor;
2984 fschmid 227
        int DefaultIntentImages;
844 fschmid 228
        int DefaultIntentPrinter;
229
        bool CMSinUse;
230
        bool SoftProofOn;
231
        bool GamutCheck;
232
        bool BlackPoint;
233
} ;
838 cbradney 234
 
1065 cbradney 235
struct SingleLine
1429 subik 236
{
844 fschmid 237
        double Width;
238
        int Dash;
239
        int LineEnd;
240
        int LineJoin;
241
        QString Color;
242
        int Shade;
243
};
838 cbradney 244
 
1065 cbradney 245
struct ArrowDesc
844 fschmid 246
{
247
        QString name;
248
        bool userArrow;
249
        FPointArray points;
250
};
838 cbradney 251
 
844 fschmid 252
struct Layer
1429 subik 253
{
844 fschmid 254
        int LNr;
255
        int Level;
256
        QString Name;
1065 cbradney 257
        bool isPrintable;
258
        bool isViewable;
844 fschmid 259
};
838 cbradney 260
 
1065 cbradney 261
struct PDFPresentationData
1429 subik 262
{
1065 cbradney 263
        int pageEffectDuration;
264
        int pageViewDuration;
265
        int effectType;
844 fschmid 266
        int Dm;
267
        int M;
268
        int Di;
269
};
838 cbradney 270
 
1065 cbradney 271
struct LPIData
1429 subik 272
{
844 fschmid 273
        int Frequency;
274
        int Angle;
275
        int SpotFunc;
276
};
838 cbradney 277
 
844 fschmid 278
struct Keys
1429 subik 279
{
1230 cbradney 280
        QString actionName;
1392 cbradney 281
        QString cleanMenuText;
3933 avox 282
        QKeySequence keySequence;
1392 cbradney 283
        int tableRow;
844 fschmid 284
};
838 cbradney 285
 
1429 subik 286
struct PrintOptions
844 fschmid 287
{
838 cbradney 288
        QString printer;
289
        QString filename;
290
        bool toFile;
291
        bool useAltPrintCommand;
292
        QString printerCommand;
293
        int PSLevel;
294
        bool outputSeparations;
295
        QString separationName;
3068 fschmid 296
        QStringList allSeparations;
297
        bool useSpotColors;
838 cbradney 298
        bool useColor;
299
        bool mirrorH;
300
        bool mirrorV;
301
        bool useICC;
302
        bool doGCR;
1861 fschmid 303
        bool setDevParam;
838 cbradney 304
        int copies;
305
        std::vector<int> pageNumbers;
306
        QString printerOptions;
307
};
308
 
844 fschmid 309
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 310
typedef QValueVector<SingleLine> multiLine;
1460 cbradney 311
 
4512 cbradney 312
 
313
typedef enum {
314
        MissingGlyph=1,
315
        TextOverflow=2,
316
        ObjectNotOnPage=3,
317
        MissingImage=4,
318
        ImageDPITooLow=5,
319
        Transparency=6,
320
        PDFAnnotField=7,
321
        PlacedPDF=8
322
} PreflightError;
323
 
324
typedef QMap<PreflightError, int> errorCodes;
325
 
1065 cbradney 326
enum AppMode
327
{
2603 cbradney 328
        modeNormal,
329
        modeDrawShapes,
330
        modeStoryEditor,
331
        modeDrawPicture,
332
        modeDrawText,
333
        modeMagnifier,
334
        modeEdit,
335
        modeDrawLine,
336
        modeRotation,
337
        modeLinkFrames,
338
        modeUnlinkFrames,
339
        modeDrawRegularPolygon,
340
        modeDrawBezierLine,
341
        modeInsertPDFButton,
342
        modeInsertPDFTextfield,
343
        modeInsertPDFCheckbox,
344
        modeInsertPDFCombobox,
345
        modeInsertPDFListbox,
346
        modeInsertPDFTextAnnotation,
347
        modeInsertPDFLinkAnnotation,
348
        modeDrawFreehandLine,
349
        modeDrawTable,
350
        modePanning,
351
        modeMeasurementTool,
352
        modeEditGradientVectors,
353
        modeEyeDropper,
354
        modeCopyProperties
1065 cbradney 355
};
844 fschmid 356
 
2355 cbradney 357
struct AlignObjs
358
{
359
        int ObjNr;
360
        int Group;
361
        double x1;
362
        double y1;
363
        double x2;
364
        double y2;
2380 cbradney 365
        double width;
366
        double height;
2355 cbradney 367
        QPtrList<PageItem> Objects;
368
};
1641 cbradney 369
 
3071 subik 370
/*! Human readable orientations */
371
enum PageOrientation
372
{
373
        portraitPage = 0,
374
        landscapePage = 1,
375
        customPage = 30
376
};
377
 
838 cbradney 378
#endif