Subversion Repositories Scribus

Rev

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

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