Subversion Repositories Scribus

Rev

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