Subversion Repositories Scribus

Rev

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