Subversion Repositories Scribus

Rev

Rev 4649 | Rev 4831 | 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;
844 fschmid 83
        bool isPrintable;
84
        bool isBookmark;
4084 cbradney 85
        bool m_isAnnotation;
86
        Annotation m_annotation;
87
        QString AnName;
844 fschmid 88
        double Extra;
89
        double TExtra;
90
        double BExtra;
91
        double RExtra;
92
        QString Pfile;
93
        QString Pfile2;
94
        QString Pfile3;
95
        QString IProfile;
96
        QString EmProfile;
97
        int IRender;
98
        bool UseEmbedded;
1065 cbradney 99
        QString itemText;
844 fschmid 100
        QPointArray Clip;
101
        FPointArray PoLine;
102
        FPointArray ContourLine;
103
        bool PoShow;
104
        double BaseOffs;
105
        bool Textflow;
106
        bool Textflow2;
107
        bool UseContour;
1065 cbradney 108
        int textAlignment;
844 fschmid 109
        QString IFont;
110
        int ISize;
111
        QValueStack<int> Groups;
112
        int LayerNr;
113
        bool ScaleType;
114
        bool AspectRatio;
115
        bool Locked;
116
        bool LockRes;
117
        double Transparency;
118
        double TranspStroke;
119
        bool Reverse;
120
        QString NamedLStyle;
121
        QString Language;
122
        QString guiLanguage;
123
        int Cols;
124
        double ColGap;
2282 fschmid 125
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 126
        QValueList<double> DashValues;
127
        double DashOffset;
128
        bool isTableItem;
129
        bool TopLine;
130
        bool LeftLine;
131
        bool RightLine;
132
        bool BottomLine;
133
        int LeftLinkID;
134
        int RightLinkID;
135
        int TopLinkID;
136
        int BottomLinkID;
137
        int startArrowIndex;
138
        int endArrowIndex;
1655 cbradney 139
        ObjAttrVector pageItemAttributes;
844 fschmid 140
};
838 cbradney 141
 
4579 cbradney 142
struct CopyContentsBuffer
143
{
144
        PageItem::ItemType sourceType;
145
        QString contentsFileName;
146
        double LocalScX;
147
        double LocalScY;
148
        double LocalX;
149
        double LocalY;
4581 cbradney 150
        QString inputProfile;
151
        bool useEmbedded;
152
        int renderingIntent;
4579 cbradney 153
};
154
 
3987 craig 155
/** Pagemargins */
1065 cbradney 156
struct MarginStruct
1429 subik 157
{
3987 craig 158
        MarginStruct() : Top(0), Left(0), Bottom(0), Right(0) {}
159
        MarginStruct(double top, double left, double bottom, double right) :
160
                Top(top), Left(left), Bottom(bottom), Right(right) {}
844 fschmid 161
        double Top;
162
        double Left;
3987 craig 163
        double Bottom;
844 fschmid 164
        double Right;
165
};
838 cbradney 166
 
3016 fschmid 167
struct PageSet
168
{
169
        QString Name;
170
        int FirstPage;
171
        int Rows;
172
        int Columns;
173
        double GapHorizontal;
174
        double GapVertical;
175
        double GapBelow;
3026 fschmid 176
        QStringList pageNames;
3016 fschmid 177
};
178
 
1065 cbradney 179
struct ParagraphStyle
1429 subik 180
{
844 fschmid 181
        QString Vname;
2379 fschmid 182
        int LineSpaMode;      // 0 = fixed; 1 = Automatic; 2 = Adjust to Baseline Grid
844 fschmid 183
        double LineSpa;
1065 cbradney 184
        int textAlignment;
844 fschmid 185
        double Indent;
186
        double First;
1065 cbradney 187
        double gapBefore;
188
        double gapAfter;
844 fschmid 189
        QString Font;
190
        int FontSize;
2282 fschmid 191
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 192
        bool Drop;
193
        int DropLin;
2362 fschmid 194
        double DropDist;
844 fschmid 195
        int FontEffect;
196
        QString FColor;
197
        int FShade;
198
        QString SColor;
199
        int SShade;
200
        bool BaseAdj;
2273 fschmid 201
        int txtShadowX;
202
        int txtShadowY;
203
        int txtOutline;
204
        int txtUnderPos;
205
        int txtUnderWidth;
206
        int txtStrikePos;
207
        int txtStrikeWidth;
2379 fschmid 208
        int scaleH;
209
        int scaleV;
210
        int baseOff;
2434 fschmid 211
        int kernVal;
844 fschmid 212
};
838 cbradney 213
 
1065 cbradney 214
struct CMSData
844 fschmid 215
{
216
        QString DefaultMonitorProfile;
217
        QString DefaultPrinterProfile;
2984 fschmid 218
        QString DefaultImageRGBProfile;
219
        QString DefaultImageCMYKProfile;
220
        QString DefaultSolidColorProfile;
844 fschmid 221
        int ComponentsInput2;
222
        int ComponentsPrinter;
223
        int DefaultIntentMonitor;
2984 fschmid 224
        int DefaultIntentImages;
844 fschmid 225
        int DefaultIntentPrinter;
226
        bool CMSinUse;
227
        bool SoftProofOn;
228
        bool GamutCheck;
229
        bool BlackPoint;
230
} ;
838 cbradney 231
 
1065 cbradney 232
struct SingleLine
1429 subik 233
{
844 fschmid 234
        double Width;
235
        int Dash;
236
        int LineEnd;
237
        int LineJoin;
238
        QString Color;
239
        int Shade;
240
};
838 cbradney 241
 
1065 cbradney 242
struct ArrowDesc
844 fschmid 243
{
244
        QString name;
245
        bool userArrow;
246
        FPointArray points;
247
};
838 cbradney 248
 
844 fschmid 249
struct Layer
1429 subik 250
{
844 fschmid 251
        int LNr;
252
        int Level;
253
        QString Name;
1065 cbradney 254
        bool isPrintable;
255
        bool isViewable;
844 fschmid 256
};
838 cbradney 257
 
1065 cbradney 258
struct PDFPresentationData
1429 subik 259
{
1065 cbradney 260
        int pageEffectDuration;
261
        int pageViewDuration;
262
        int effectType;
844 fschmid 263
        int Dm;
264
        int M;
265
        int Di;
266
};
838 cbradney 267
 
1065 cbradney 268
struct LPIData
1429 subik 269
{
844 fschmid 270
        int Frequency;
271
        int Angle;
272
        int SpotFunc;
273
};
838 cbradney 274
 
844 fschmid 275
struct Keys
1429 subik 276
{
1230 cbradney 277
        QString actionName;
1392 cbradney 278
        QString cleanMenuText;
3933 avox 279
        QKeySequence keySequence;
1392 cbradney 280
        int tableRow;
844 fschmid 281
};
838 cbradney 282
 
1429 subik 283
struct PrintOptions
844 fschmid 284
{
838 cbradney 285
        QString printer;
286
        QString filename;
287
        bool toFile;
288
        bool useAltPrintCommand;
289
        QString printerCommand;
290
        int PSLevel;
291
        bool outputSeparations;
292
        QString separationName;
3068 fschmid 293
        QStringList allSeparations;
294
        bool useSpotColors;
838 cbradney 295
        bool useColor;
296
        bool mirrorH;
297
        bool mirrorV;
298
        bool useICC;
299
        bool doGCR;
4649 fschmid 300
        bool doClip;
1861 fschmid 301
        bool setDevParam;
838 cbradney 302
        int copies;
303
        std::vector<int> pageNumbers;
304
        QString printerOptions;
305
};
306
 
844 fschmid 307
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 308
typedef QValueVector<SingleLine> multiLine;
1460 cbradney 309
 
4512 cbradney 310
 
311
typedef enum {
312
        MissingGlyph=1,
313
        TextOverflow=2,
314
        ObjectNotOnPage=3,
315
        MissingImage=4,
316
        ImageDPITooLow=5,
317
        Transparency=6,
318
        PDFAnnotField=7,
319
        PlacedPDF=8
320
} PreflightError;
321
 
322
typedef QMap<PreflightError, int> errorCodes;
323
 
1065 cbradney 324
enum AppMode
325
{
2603 cbradney 326
        modeNormal,
327
        modeDrawShapes,
328
        modeStoryEditor,
329
        modeDrawPicture,
330
        modeDrawText,
331
        modeMagnifier,
332
        modeEdit,
333
        modeDrawLine,
334
        modeRotation,
335
        modeLinkFrames,
336
        modeUnlinkFrames,
337
        modeDrawRegularPolygon,
338
        modeDrawBezierLine,
339
        modeInsertPDFButton,
340
        modeInsertPDFTextfield,
341
        modeInsertPDFCheckbox,
342
        modeInsertPDFCombobox,
343
        modeInsertPDFListbox,
344
        modeInsertPDFTextAnnotation,
345
        modeInsertPDFLinkAnnotation,
346
        modeDrawFreehandLine,
347
        modeDrawTable,
348
        modePanning,
349
        modeMeasurementTool,
350
        modeEditGradientVectors,
351
        modeEyeDropper,
352
        modeCopyProperties
1065 cbradney 353
};
844 fschmid 354
 
2355 cbradney 355
struct AlignObjs
356
{
357
        int ObjNr;
358
        int Group;
359
        double x1;
360
        double y1;
361
        double x2;
362
        double y2;
2380 cbradney 363
        double width;
364
        double height;
2355 cbradney 365
        QPtrList<PageItem> Objects;
366
};
1641 cbradney 367
 
3071 subik 368
/*! Human readable orientations */
369
enum PageOrientation
370
{
371
        portraitPage = 0,
372
        landscapePage = 1,
373
        customPage = 30
374
};
375
 
838 cbradney 376
#endif