1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
/*
For general Scribus (>=1.3.2) copyright and licensing information please refer
to the COPYING file provided with the program. Following this notice may exist
a copyright and/or license notice that predates the release of Scribus 1.3.2
for which a new license (GPL+exception) is in place.
*/
#ifndef IMPORTPS_H
#define IMPORTPS_H
#include "qglobal.h"
#include "qobject.h"
#include "qstring.h"
#include "pluginapi.h"
#include "pageitem.h"
#include "sccolor.h"
#include "fpointarray.h"
#include <QList>
#include <QPainterPath>
class MultiProgressDialog;
class ScribusDoc;
class Selection;
class TransactionSettings;
//! \brief POSTSCRIPT importer plugin
class EPSPlug : public QObject
{
Q_OBJECT
public:
/*!
\author Franz Schmid
\date
\brief Create the EPS importer window.
\param fName QString
\param flags combination of loadFlags
\param showProgress if progress must be displayed
\retval EPSPlug plugin
*/
EPSPlug( ScribusDoc* doc, int flags );
~EPSPlug();
/*!
\author Franz Schmid
\date
\brief Perform import.
\param fn QString
\param flags combination of loadFlags
\param showProgress if progress must be displayed
\retval bool true if import was ok
*/
bool import(QString fn, const TransactionSettings &trSettings, int flags, bool showProgress = true);
private:
/*!
\author Franz Schmid
\date
\brief Does the conversion.
\param fn QString
\param x X position
\param y Y position
\param b double
\param h double
\retval bool true if conversion was ok
*/
bool convert(QString fn, double x, double y, double b, double h);
/*!
\author Franz Schmid
\date
\brief Parses the Output Ghostscript has created.
*/
void parseOutput(QString fn, bool eps);
/*!
\author Franz Schmid
\param i FPointArray *
\param vals QString
*/
void LineTo(FPointArray *i, QString vals);
/*!
\author Franz Schmid
\param i FPointArray *
\param vals QString
*/
void Curve(FPointArray *i, QString vals);
/*!
\author Franz Schmid
\date
\brief Returns a Color Name, if the Color doesn't exist it's created
\param vals QString
\param model a color model
\retval QString Color Name
*/
QString parseColor(QString vals, bool eps, colorModel model = colorModelCMYK);
bool Image(QString vals);
QList<PageItem*> Elements;
ColorList CustColors;
double LineW, Opacity, DashOffset, baseX, baseY;
QVector<double> DashPattern;
QString CurrColor;
FPointArray Coords;
FPointArray clipCoords;
bool FirstM, WasM, ClosedPath;
Qt::PenCapStyle CapStyle;
Qt::PenJoinStyle JoinStyle;
bool interactive;
MultiProgressDialog * progressDialog;
bool cancel;
ScribusDoc* m_Doc;
Selection* tmpSel;
QPainterPath boundingBoxRect;
public slots:
void cancelRequested() { cancel = true; }
};
#endif
|