Subversion Repositories Scribus

Rev

Rev 2380 | Rev 2434 | 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
5
#include <config.h>
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>
839 cbradney 13
#include <vector>
838 cbradney 14
 
15
#include "scfonts.h"
16
#include "cmykcolor.h"
17
#include "fpointarray.h"
18
#include "vgradient.h"
19
#include "pageitem.h"
1208 cbradney 20
#include "scraction.h"
1972 craig 21
#include "pdfoptions.h"
838 cbradney 22
 
23
/* Struktur fuer Pageitem Text */
1065 cbradney 24
struct ScText
1429 subik 25
{
1065 cbradney 26
        bool cselect;
844 fschmid 27
        int csize;
1781 fschmid 28
        short cshade;
29
        short cshade2;
30
        short cstyle;
2185 fschmid 31
/*      Meaning of the values in cstyle
2292 cbradney 32
        1               = Superscript
33
        2               = Subscript
34
        4               = Outline
35
        8               = Underline
2185 fschmid 36
        16              = Strikethru
37
        32              = All Caps
38
        64              = Small Caps
2292 cbradney 39
        128     = Hyphenation possible here (Smart Hyphen)
2257 fschmid 40
        256     = Shadowed
2219 fschmid 41
        512     = Underline Words
2257 fschmid 42
        1024    = free, not used in the moment
2362 fschmid 43
        2048    = Char is a DropCap
2185 fschmid 44
        4096    = internal use in PageItem (Suppresses spaces when in Block alignment)
45
        8192    = Smart Hyphen visible at line end
46
        16384   = Start of Line
47
*/
1781 fschmid 48
        short cab;
49
        short cscale;
2230 fschmid 50
        short cscalev;
2234 fschmid 51
        short cbase;
2247 fschmid 52
        short cshadowx;
53
        short cshadowy;
2257 fschmid 54
        short coutline;
2262 fschmid 55
        short cunderpos;
56
        short cunderwidth;
2272 fschmid 57
        short cstrikepos;
58
        short cstrikewidth;
2382 fschmid 59
        short cextra;
1781 fschmid 60
        float xp;
61
        float yp;
62
        float PtransX;
63
        float PtransY;
64
        float PRot;
1789 fschmid 65
        Foi* cfont;
1065 cbradney 66
        QString ccolor;
67
        QString cstroke;
68
        QString ch;
844 fschmid 69
};
838 cbradney 70
 
1065 cbradney 71
struct CopyPasteBuffer
1429 subik 72
{
1460 cbradney 73
        PageItem::ItemType PType;
844 fschmid 74
        double Xpos;
75
        double Ypos;
76
        double Width;
77
        double Height;
78
        double RadRect;
79
        int FrameType;
80
        bool ClipEdited;
81
        double Pwidth;
82
        QString Pcolor;
83
        QString Pcolor2;
84
        int Shade;
85
        int Shade2;
86
        QString GrColor;
87
        QString GrColor2;
88
        int GrShade;
89
        int GrShade2;
90
        VGradient fill_gradient;
91
        int GrType;
92
        double GrStartX;
93
        double GrStartY;
94
        double GrEndX;
95
        double GrEndY;
96
        QString TxtStroke;
97
        QString TxtFill;
98
        int ShTxtStroke;
99
        int ShTxtFill;
100
        int TxtScale;
2230 fschmid 101
        int TxtScaleV;
844 fschmid 102
        int TxTStyle;
2234 fschmid 103
        int TxTBase;
2247 fschmid 104
        int TxtShadowX;
105
        int TxtShadowY;
2257 fschmid 106
        int TxtOutline;
2262 fschmid 107
        int TxtUnderPos;
108
        int TxtUnderWidth;
2272 fschmid 109
        int TxtStrikePos;
110
        int TxtStrikeWidth;
844 fschmid 111
        double Rot;
112
        int PLineArt;
113
        int PLineJoin;
114
        int PLineEnd;
115
        double LineSp;
2309 fschmid 116
        int LineSpMode;
2382 fschmid 117
        int ExtraV;
844 fschmid 118
        double LocalScX;
119
        double LocalScY;
120
        double LocalX;
121
        double LocalY;
122
        bool PicArt;
1392 cbradney 123
        bool flippedH;
124
        bool flippedV;
844 fschmid 125
        double BBoxX;
126
        double BBoxH;
127
        bool isPrintable;
128
        bool isBookmark;
129
        int BMnr;
130
        bool isAnnotation;
131
        int AnType;
132
        QString AnAction;
133
        QString An_E_act;
134
        QString An_X_act;
135
        QString An_D_act;
136
        QString An_Fo_act;
137
        QString An_Bl_act;
138
        QString An_K_act;
139
        QString An_F_act;
140
        QString An_V_act;
141
        QString An_C_act;
142
        QString An_Extern;
143
        int AnZiel;
144
        int AnActType;
145
        QString AnName;
146
        QString AnToolTip;
147
        QString AnRollOver;
148
        QString AnDown;
149
        QString AnBColor;
150
        int AnBwid;
151
        int AnBsty;
152
        int AnFeed;
153
        int AnFlag;
154
        int AnMaxChar;
155
        int AnVis;
156
        int AnFont;
157
        int AnChkStil;
158
        int AnFormat;
159
        bool AnIsChk;
160
        bool AnAAact;
161
        bool AnHTML;
162
        bool AnUseIcons;
163
        int AnIPlace;
164
        int AnScaleW;
165
        double Extra;
166
        double TExtra;
167
        double BExtra;
168
        double RExtra;
169
        QString Pfile;
170
        QString Pfile2;
171
        QString Pfile3;
172
        QString IProfile;
173
        QString EmProfile;
174
        int IRender;
175
        bool UseEmbedded;
1065 cbradney 176
        QString itemText;
844 fschmid 177
        QPointArray Clip;
178
        FPointArray PoLine;
179
        FPointArray ContourLine;
180
        bool PoShow;
181
        double BaseOffs;
182
        bool Textflow;
183
        bool Textflow2;
184
        bool UseContour;
1065 cbradney 185
        int textAlignment;
844 fschmid 186
        QString IFont;
187
        int ISize;
188
        QValueStack<int> Groups;
189
        int LayerNr;
190
        bool ScaleType;
191
        bool AspectRatio;
192
        bool Locked;
193
        bool LockRes;
194
        double Transparency;
195
        double TranspStroke;
196
        bool Reverse;
197
        QString NamedLStyle;
198
        QString Language;
199
        QString guiLanguage;
200
        int Cols;
201
        double ColGap;
2282 fschmid 202
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 203
        QValueList<double> DashValues;
204
        double DashOffset;
205
        bool isTableItem;
206
        bool TopLine;
207
        bool LeftLine;
208
        bool RightLine;
209
        bool BottomLine;
210
        int LeftLinkID;
211
        int RightLinkID;
212
        int TopLinkID;
213
        int BottomLinkID;
214
        int startArrowIndex;
215
        int endArrowIndex;
1655 cbradney 216
        ObjAttrVector pageItemAttributes;
844 fschmid 217
};
838 cbradney 218
 
1065 cbradney 219
  /** Pagemargins */
220
struct MarginStruct
1429 subik 221
{
844 fschmid 222
        double Top;
223
        double Left;
224
        double Right;
225
        double Bottom;
226
};
838 cbradney 227
 
1065 cbradney 228
struct ParagraphStyle
1429 subik 229
{
844 fschmid 230
        QString Vname;
2379 fschmid 231
        int LineSpaMode;      // 0 = fixed; 1 = Automatic; 2 = Adjust to Baseline Grid
844 fschmid 232
        double LineSpa;
1065 cbradney 233
        int textAlignment;
844 fschmid 234
        double Indent;
235
        double First;
1065 cbradney 236
        double gapBefore;
237
        double gapAfter;
844 fschmid 238
        QString Font;
239
        int FontSize;
2282 fschmid 240
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 241
        bool Drop;
242
        int DropLin;
2362 fschmid 243
        double DropDist;
844 fschmid 244
        int FontEffect;
245
        QString FColor;
246
        int FShade;
247
        QString SColor;
248
        int SShade;
249
        bool BaseAdj;
2273 fschmid 250
        int txtShadowX;
251
        int txtShadowY;
252
        int txtOutline;
253
        int txtUnderPos;
254
        int txtUnderWidth;
255
        int txtStrikePos;
256
        int txtStrikeWidth;
2379 fschmid 257
        int scaleH;
258
        int scaleV;
259
        int baseOff;
260
        int kernVal;   // currently not used
844 fschmid 261
};
838 cbradney 262
 
1065 cbradney 263
struct CMSData
844 fschmid 264
{
265
        QString DefaultMonitorProfile;
266
        QString DefaultPrinterProfile;
267
        QString DefaultInputProfile;
268
        QString DefaultInputProfile2;
269
        int ComponentsInput2;
270
        int ComponentsPrinter;
271
        int DefaultIntentMonitor;
272
        int DefaultIntentMonitor2;
273
        int DefaultIntentPrinter;
274
        bool CMSinUse;
275
        bool SoftProofOn;
276
        bool GamutCheck;
277
        bool BlackPoint;
278
} ;
838 cbradney 279
 
1065 cbradney 280
struct SingleLine
1429 subik 281
{
844 fschmid 282
        double Width;
283
        int Dash;
284
        int LineEnd;
285
        int LineJoin;
286
        QString Color;
287
        int Shade;
288
};
838 cbradney 289
 
1065 cbradney 290
struct ArrowDesc
844 fschmid 291
{
292
        QString name;
293
        bool userArrow;
294
        FPointArray points;
295
};
838 cbradney 296
 
844 fschmid 297
struct Layer
1429 subik 298
{
844 fschmid 299
        int LNr;
300
        int Level;
301
        QString Name;
1065 cbradney 302
        bool isPrintable;
303
        bool isViewable;
844 fschmid 304
};
838 cbradney 305
 
1065 cbradney 306
struct PDFPresentationData
1429 subik 307
{
1065 cbradney 308
        int pageEffectDuration;
309
        int pageViewDuration;
310
        int effectType;
844 fschmid 311
        int Dm;
312
        int M;
313
        int Di;
314
};
838 cbradney 315
 
1065 cbradney 316
struct LPIData
1429 subik 317
{
844 fschmid 318
        int Frequency;
319
        int Angle;
320
        int SpotFunc;
321
};
838 cbradney 322
 
844 fschmid 323
struct Keys
1429 subik 324
{
1230 cbradney 325
        QString actionName;
1392 cbradney 326
        QString cleanMenuText;
327
        QString keySequence;
328
        int tableRow;
844 fschmid 329
};
838 cbradney 330
 
844 fschmid 331
/** Definition der Farbenlisten */
1065 cbradney 332
typedef QMap<QString,CMYKColor> ColorList;
838 cbradney 333
 
1235 fschmid 334
struct checkerPrefs
335
{
336
        bool ignoreErrors;
337
        bool autoCheck;
338
        bool checkGlyphs;
339
        bool checkOverflow;
340
        bool checkOrphans;
341
        bool checkPictures;
342
        bool checkResolution;
343
        double minResolution;
344
        bool checkTransparency;
1284 fschmid 345
        bool checkAnnotations;
346
        bool checkRasterPDF;
1235 fschmid 347
};
348
 
1065 cbradney 349
struct typoPrefs
844 fschmid 350
{
351
        int valueSuperScript;
352
        int scalingSuperScript;
353
        int valueSubScript;
354
        int scalingSubScript;
355
        int valueSmallCaps;
356
        int autoLineSpacing;
2163 fschmid 357
        int valueUnderlinePos;
358
        int valueUnderlineWidth;
359
        int valueStrikeThruPos;
360
        int valueStrikeThruWidth;
844 fschmid 361
        double valueBaseGrid;
362
        double offsetBaseGrid;
363
};
838 cbradney 364
 
1065 cbradney 365
struct windowPrefs
844 fschmid 366
{
367
        int xPosition;
368
        int yPosition;
369
        int width;
370
        int height;
371
        bool visible;
372
        bool docked;
373
};
374
 
1065 cbradney 375
struct guidesPrefs
879 fschmid 376
{
377
        bool gridShown;
378
        QColor majorColor;
379
        double majorGrid;
380
        double minorGrid;
381
        QColor minorColor;
382
        double guideRad;
383
        int grabRad;
384
        bool framesShown;
385
        bool guidesShown;
386
        bool marginsShown;
387
        bool baseShown;
388
        bool linkShown;
389
        bool showPic;
2353 fschmid 390
        bool showControls;
1187 fschmid 391
        bool before;
879 fschmid 392
        QColor guideColor;
393
        QColor baseColor;
394
        QColor margColor;
395
};
396
 
1194 fschmid 397
struct toolPrefs
398
{
399
        /* Texttool */
400
        QString defFont;
401
        int defSize;
402
        QString dPenText;
403
        QString dStrokeText;
404
        int dCols;
405
        double dGap;
2219 fschmid 406
        QString tabFillChar;
2285 fschmid 407
        double dTabWidth;
1194 fschmid 408
        /* ShapeTool */
409
        QString dPen;
410
        QString dBrush;
411
        int dShade;
412
        int dShade2;
413
        int dLineArt;
414
        double dWidth;
415
        /* Line Tool */
416
        QString dPenLine;
417
        int dShadeLine;
418
        double dWidthLine;
419
        int dLstyleLine;
420
        int dStartArrow;
421
        int dEndArrow;
422
        /* Regular Polygon Tool */
423
        int polyC;
424
        int polyFd;
425
        double polyF;
426
        bool polyS;
427
        double polyR;
428
        /* Picture Tool */
429
        QString dBrushPict;
430
        int shadePict;
431
        double scaleX;
432
        double scaleY;
433
        bool scaleType;
434
        bool aspectRatio;
2025 fschmid 435
        int lowResType;
2040 fschmid 436
        bool useEmbeddedPath;
1194 fschmid 437
        /* Magnifier Tool */
438
        int magMin;
439
        int magMax;
440
        int magStep;
441
};
442
 
1065 cbradney 443
struct ApplicationPrefs
1429 subik 444
{
844 fschmid 445
        SCFonts AvailFonts;
1065 cbradney 446
        QValueList<ArrowDesc> arrowStyles;
447
        ColorList DColors;
844 fschmid 448
        int Wheelval;
449
        int AppFontSize;
450
        QColor DpapColor;
451
        QString GUI;
1065 cbradney 452
        guidesPrefs guidesSettings;
453
        typoPrefs typographicSetttings;
1194 fschmid 454
        toolPrefs toolSettings;
1261 fschmid 455
        QMap<QString, checkerPrefs> checkerProfiles;
456
        QString curCheckProfile;
1065 cbradney 457
        int docUnitIndex;
458
        windowPrefs mainToolBarSettings;
459
        windowPrefs pdfToolBarSettings;
460
        windowPrefs mainWinSettings;
1972 craig 461
 
1545 cbradney 462
        PDFOptions PDF_Options;
1649 cbradney 463
        ObjAttrVector defaultItemAttributes;
1701 cbradney 464
        ToCSetupVector defaultToCSetups;
844 fschmid 465
        bool SepalT;
466
        bool SepalN;
467
        int PSize;
468
        bool SaveAtQ;
1065 cbradney 469
        bool marginColored;
844 fschmid 470
        QStringList RecentDocs;
471
        uint RecentDCount;
1065 cbradney 472
        CMSData DCMSset;
1392 cbradney 473
        QMap<QString,Keys> KeyActions;
844 fschmid 474
        QString PrinterName;
475
        QString PrinterFile;
476
        QString PrinterCommand;
1542 cbradney 477
        QString pageSize;
1545 cbradney 478
        int pageOrientation;
479
        double PageWidth;
480
        double PageHeight;
844 fschmid 481
        double RandOben;
482
        double RandUnten;
483
        double RandLinks;
484
        double RandRechts;
1545 cbradney 485
        bool FacingPages;
486
        bool LeftPageFirst;
844 fschmid 487
        int MinWordLen;
488
        int HyCount;
489
        QString Language;
490
        QString guiLanguage;
491
        bool Automatic;
492
        bool AutoCheck;
493
        QString DocDir;
494
        QString ProfileDir;
495
        QString ScriptDir;
2093 cbradney 496
        QString documentTemplatesDir;
844 fschmid 497
        QMap<QString,QString> GFontSub;
498
        bool AutoSave;
499
        int AutoSaveTime;
500
        double DisScale;
501
        QString DColorSet;
502
        QStringList CustomColorSets;
503
        bool PrPr_Mode;
504
        bool Gcr_Mode;
505
        bool PrPr_AlphaText;
506
        bool PrPr_AlphaGraphics;
507
        bool PrPr_Transparency;
508
        bool PrPr_C;
509
        bool PrPr_M;
510
        bool PrPr_Y;
511
        bool PrPr_K;
512
        QString gs_exe;
1545 cbradney 513
        bool gs_AntiAliasText;
514
        bool gs_AntiAliasGraphics;
2150 cbradney 515
        QString imageEditorExecutable;
844 fschmid 516
        bool ClipMargin;
517
        bool GCRMode;
518
        QColor STEcolor;
519
        QString STEfont;
520
        double ScratchLeft;
521
        double ScratchRight;
522
        double ScratchTop;
523
        double ScratchBottom;
1468 fschmid 524
        bool askBeforeSubstituite;
2263 fschmid 525
        bool haveStylePreview;
844 fschmid 526
};
527
 
1429 subik 528
struct PrintOptions
844 fschmid 529
{
838 cbradney 530
        QString printer;
531
        QString filename;
532
        bool toFile;
533
        bool useAltPrintCommand;
534
        QString printerCommand;
535
        int PSLevel;
536
        bool outputSeparations;
537
        QString separationName;
538
        bool useColor;
539
        bool mirrorH;
540
        bool mirrorV;
541
        bool useICC;
542
        bool doGCR;
1861 fschmid 543
        bool setDevParam;
838 cbradney 544
        int copies;
545
        std::vector<int> pageNumbers;
546
        QString printerOptions;
547
};
548
 
844 fschmid 549
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 550
typedef QValueVector<SingleLine> multiLine;
1229 fschmid 551
typedef QMap<int, int> errorCodes;
1460 cbradney 552
 
1065 cbradney 553
enum AppMode
554
{
555
        NormalMode,
556
        DrawShapes,
557
        StartStoryEditor,
558
        DrawPicture,
559
        DrawText,
560
        Magnifier,
561
        EditMode,
562
        DrawLine,
563
        Rotation,
564
        LinkFrames,
565
        UnlinkFrames,
566
        DrawRegularPolygon,
567
        DrawBezierLine,
568
        InsertPDFButton,
569
        InsertPDFTextfield,
570
        InsertPDFCheckbox,
571
        InsertPDFCombobox,
572
        InsertPDFListbox,
573
        InsertPDFTextAnnotation,
574
        InsertPDFLinkAnnotation,
575
        DrawFreehandLine,
576
        DrawTable,
577
        PanningMode,
578
        MeasurementTool,
1814 cbradney 579
        EditGradientVectors,
1840 fschmid 580
        EyeDropper,
581
        CopyProperties
1065 cbradney 582
};
844 fschmid 583
 
2355 cbradney 584
struct AlignObjs
585
{
586
        int ObjNr;
587
        int Group;
588
        double x1;
589
        double y1;
590
        double x2;
591
        double y2;
2380 cbradney 592
        double width;
593
        double height;
2355 cbradney 594
        QPtrList<PageItem> Objects;
595
};
1641 cbradney 596
 
838 cbradney 597
#endif