Subversion Repositories Scribus

Rev

Rev 3878 | Rev 3987 | 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
 
1065 cbradney 170
  /** Pagemargins */
171
struct MarginStruct
1429 subik 172
{
844 fschmid 173
        double Top;
174
        double Left;
175
        double Right;
176
        double Bottom;
177
};
838 cbradney 178
 
3016 fschmid 179
struct PageSet
180
{
181
        QString Name;
182
        int FirstPage;
183
        int Rows;
184
        int Columns;
185
        double GapHorizontal;
186
        double GapVertical;
187
        double GapBelow;
3026 fschmid 188
        QStringList pageNames;
3016 fschmid 189
};
190
 
1065 cbradney 191
struct ParagraphStyle
1429 subik 192
{
844 fschmid 193
        QString Vname;
2379 fschmid 194
        int LineSpaMode;      // 0 = fixed; 1 = Automatic; 2 = Adjust to Baseline Grid
844 fschmid 195
        double LineSpa;
1065 cbradney 196
        int textAlignment;
844 fschmid 197
        double Indent;
198
        double First;
1065 cbradney 199
        double gapBefore;
200
        double gapAfter;
844 fschmid 201
        QString Font;
202
        int FontSize;
2282 fschmid 203
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 204
        bool Drop;
205
        int DropLin;
2362 fschmid 206
        double DropDist;
844 fschmid 207
        int FontEffect;
208
        QString FColor;
209
        int FShade;
210
        QString SColor;
211
        int SShade;
212
        bool BaseAdj;
2273 fschmid 213
        int txtShadowX;
214
        int txtShadowY;
215
        int txtOutline;
216
        int txtUnderPos;
217
        int txtUnderWidth;
218
        int txtStrikePos;
219
        int txtStrikeWidth;
2379 fschmid 220
        int scaleH;
221
        int scaleV;
222
        int baseOff;
2434 fschmid 223
        int kernVal;
844 fschmid 224
};
838 cbradney 225
 
1065 cbradney 226
struct CMSData
844 fschmid 227
{
228
        QString DefaultMonitorProfile;
229
        QString DefaultPrinterProfile;
2984 fschmid 230
        QString DefaultImageRGBProfile;
231
        QString DefaultImageCMYKProfile;
232
        QString DefaultSolidColorProfile;
844 fschmid 233
        int ComponentsInput2;
234
        int ComponentsPrinter;
235
        int DefaultIntentMonitor;
2984 fschmid 236
        int DefaultIntentImages;
844 fschmid 237
        int DefaultIntentPrinter;
238
        bool CMSinUse;
239
        bool SoftProofOn;
240
        bool GamutCheck;
241
        bool BlackPoint;
242
} ;
838 cbradney 243
 
1065 cbradney 244
struct SingleLine
1429 subik 245
{
844 fschmid 246
        double Width;
247
        int Dash;
248
        int LineEnd;
249
        int LineJoin;
250
        QString Color;
251
        int Shade;
252
};
838 cbradney 253
 
1065 cbradney 254
struct ArrowDesc
844 fschmid 255
{
256
        QString name;
257
        bool userArrow;
258
        FPointArray points;
259
};
838 cbradney 260
 
844 fschmid 261
struct Layer
1429 subik 262
{
844 fschmid 263
        int LNr;
264
        int Level;
265
        QString Name;
1065 cbradney 266
        bool isPrintable;
267
        bool isViewable;
844 fschmid 268
};
838 cbradney 269
 
1065 cbradney 270
struct PDFPresentationData
1429 subik 271
{
1065 cbradney 272
        int pageEffectDuration;
273
        int pageViewDuration;
274
        int effectType;
844 fschmid 275
        int Dm;
276
        int M;
277
        int Di;
278
};
838 cbradney 279
 
1065 cbradney 280
struct LPIData
1429 subik 281
{
844 fschmid 282
        int Frequency;
283
        int Angle;
284
        int SpotFunc;
285
};
838 cbradney 286
 
844 fschmid 287
struct Keys
1429 subik 288
{
1230 cbradney 289
        QString actionName;
1392 cbradney 290
        QString cleanMenuText;
3933 avox 291
        QKeySequence keySequence;
1392 cbradney 292
        int tableRow;
844 fschmid 293
};
838 cbradney 294
 
1429 subik 295
struct PrintOptions
844 fschmid 296
{
838 cbradney 297
        QString printer;
298
        QString filename;
299
        bool toFile;
300
        bool useAltPrintCommand;
301
        QString printerCommand;
302
        int PSLevel;
303
        bool outputSeparations;
304
        QString separationName;
3068 fschmid 305
        QStringList allSeparations;
306
        bool useSpotColors;
838 cbradney 307
        bool useColor;
308
        bool mirrorH;
309
        bool mirrorV;
310
        bool useICC;
311
        bool doGCR;
1861 fschmid 312
        bool setDevParam;
838 cbradney 313
        int copies;
314
        std::vector<int> pageNumbers;
315
        QString printerOptions;
316
};
317
 
844 fschmid 318
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 319
typedef QValueVector<SingleLine> multiLine;
1229 fschmid 320
typedef QMap<int, int> errorCodes;
1460 cbradney 321
 
2894 fschmid 322
enum PageLayout
323
{
324
        singlePage,
325
        doublePage,
326
        triplePage,
327
        quadroPage
328
};
329
 
1065 cbradney 330
enum AppMode
331
{
2603 cbradney 332
        modeNormal,
333
        modeDrawShapes,
334
        modeStoryEditor,
335
        modeDrawPicture,
336
        modeDrawText,
337
        modeMagnifier,
338
        modeEdit,
339
        modeDrawLine,
340
        modeRotation,
341
        modeLinkFrames,
342
        modeUnlinkFrames,
343
        modeDrawRegularPolygon,
344
        modeDrawBezierLine,
345
        modeInsertPDFButton,
346
        modeInsertPDFTextfield,
347
        modeInsertPDFCheckbox,
348
        modeInsertPDFCombobox,
349
        modeInsertPDFListbox,
350
        modeInsertPDFTextAnnotation,
351
        modeInsertPDFLinkAnnotation,
352
        modeDrawFreehandLine,
353
        modeDrawTable,
354
        modePanning,
355
        modeMeasurementTool,
356
        modeEditGradientVectors,
357
        modeEyeDropper,
358
        modeCopyProperties
1065 cbradney 359
};
844 fschmid 360
 
2355 cbradney 361
struct AlignObjs
362
{
363
        int ObjNr;
364
        int Group;
365
        double x1;
366
        double y1;
367
        double x2;
368
        double y2;
2380 cbradney 369
        double width;
370
        double height;
2355 cbradney 371
        QPtrList<PageItem> Objects;
372
};
1641 cbradney 373
 
3071 subik 374
/*! Human readable orientations */
375
enum PageOrientation
376
{
377
        portraitPage = 0,
378
        landscapePage = 1,
379
        customPage = 30
380
};
381
 
838 cbradney 382
#endif