19 #include "pluginapi.h"
20 #include "commonstrings.h"
23 #include "fpointarray.h"
33 class MultiProgressDialog;
55 FillCol(CommonStrings::None),
57 FillGradient(VGradient::linear),
58 StrokeGradient(VGradient::linear),
59 MaskGradient(VGradient::linear),
61 StrokeGradientType(0),
80 PLineArt(Qt::SolidLine),
81 PLineEnd(Qt::FlatCap),
82 PLineJoin(Qt::BevelJoin),
100 patternMaskOffsetX(0),
101 patternMaskOffsetY(0),
102 patternMaskRotation(0),
114 patternStrokePath(
false),
135 QVector<double> dashArray;
148 double TextLeftIndent;
154 int FillGradientType;
155 int StrokeGradientType;
171 double GradMaskScale;
174 Qt::PenStyle PLineArt;
175 Qt::PenCapStyle PLineEnd;
176 Qt::PenJoinStyle PLineJoin;
180 double StrokeOpacity;
184 double patternScaleX;
185 double patternScaleY;
186 double patternOffsetX;
187 double patternOffsetY;
188 double patternRotation;
192 double patternMaskScaleX;
193 double patternMaskScaleY;
194 double patternMaskOffsetX;
195 double patternMaskOffsetY;
196 double patternMaskRotation;
197 double patternMaskSkewX;
198 double patternMaskSkewY;
199 QString strokePattern;
200 double patternScaleXS;
201 double patternScaleYS;
202 double patternOffsetXS;
203 double patternOffsetYS;
204 double patternRotationS;
205 double patternSkewXS;
206 double patternSkewYS;
208 bool patternStrokePath;
226 QList<PageItem*> Elements;
257 bool import(QString fn,
const TransactionSettings& trSettings,
int flags,
bool showProgress =
true);
258 QImage readThumbnail(QString fn);
259 bool readColors(
const QString& fileName,
ColorList & colors);
262 void parseHeader(QString fName,
double &x,
double &y,
double &b,
double &h);
263 bool convert(QString fn);
264 void parseXar(QDataStream &ts);
265 void handleTags(quint32 tag, quint32 dataLen, QDataStream &ts);
266 void createGuideLine(QDataStream &ts);
267 void handleTextFontSize(QDataStream &ts);
268 void defineTextFontFace(QDataStream &ts, quint32 dataLen);
269 void handleTextFont(QDataStream &ts);
270 void handleTextString(QDataStream &ts, quint32 dataLen);
271 void handleTextChar(QDataStream &ts);
272 void handleTextWrap(QDataStream &ts);
273 void handleTextIndent(QDataStream &ts);
274 void handleLineInfo(QDataStream &ts);
275 void handleTextAlignment(quint32 tag);
276 void handleTextTracking(QDataStream &ts);
277 void handleTextKerning(QDataStream &ts);
278 void handleTextAspectRatio(QDataStream &ts);
279 void handleTextBaseline(QDataStream &ts);
280 void startTextLine();
282 void startSimpleText(QDataStream &ts, quint32 dataLen);
283 void startComplexText(QDataStream &ts, quint32 dataLen);
284 void startSimplePathText(QDataStream &ts, quint32 dataLen,
int type);
285 void startComplexPathText(QDataStream &ts, quint32 dataLen,
int type);
286 void handleFillRule(QDataStream &ts);
287 void handleLineEnd(QDataStream &ts);
288 void handleLineJoin(QDataStream &ts);
289 void handleQuickShapeSimple(QDataStream &ts, quint32 dataLen);
290 void handleFlatFillTransparency(QDataStream &ts);
291 void handleSimpleGradientTransparency(QDataStream &ts, quint32 dataLen,
bool linear);
292 void handleSimpleGradientTransparencySkewed(QDataStream &ts, quint32 dataLen);
293 void handleEllipticalGradientTransparency(QDataStream &ts, quint32 dataLen);
294 void handleBitmapTransparency(QDataStream &ts, quint32 dataLen);
295 int convertBlendMode(
int val);
296 void handleSimpleGradientElliptical(QDataStream &ts, quint32 dataLen);
297 void handleMultiGradientElliptical(QDataStream &ts);
298 void handleMultiGradientSkewed(QDataStream &ts);
299 void handleMultiGradient(QDataStream &ts,
bool linear);
300 void handleSimpleGradientSkewed(QDataStream &ts, quint32 dataLen);
301 void handleSimpleGradient(QDataStream &ts, quint32 dataLen,
bool linear);
302 void handleMultiDiamondGradient(QDataStream &ts);
303 void handleSimpleDiamondGradient(QDataStream &ts, quint32 dataLen);
304 void handleFourColorGradient(QDataStream &ts);
305 void handleBitmapFill(QDataStream &ts, quint32 dataLen);
306 void handleContoneBitmapFill(QDataStream &ts, quint32 dataLen);
307 void handleBitmap(QDataStream &ts);
308 void defineBitmap(QDataStream &ts, quint32 dataLen, quint32 tag);
309 void handleLineColor(QDataStream &ts);
310 void handleLineWidth(QDataStream &ts);
311 void handleFlatLineTransparency(QDataStream &ts);
312 void handleFlatFill(QDataStream &ts);
313 void createRectangleItem(QDataStream &ts,
bool ellipse =
false);
314 void createSimilarItem(QDataStream &ts);
315 void createPolylineItem(
int type);
316 void createPolygonItem(
int type);
317 void handleBrushItem(QDataStream &ts);
318 void createBrushItem(QDataStream &ts);
319 void createGroupItem();
320 void createClipItem();
322 void finishItem(
int z);
323 bool handlePathRel(QDataStream &ts, quint32 len);
324 void handleLayerInfo(QDataStream &ts);
325 void handleSpreadInfo(QDataStream &ts);
326 void handleFirstPage(QDataStream &ts);
327 void handlePage(QDataStream &ts);
328 void handleComplexColor(QDataStream &ts);
329 void handleColorRGB(QDataStream &ts);
330 double decodeColorComponent(quint32 data);
331 double decodeFixed16(quint32 data);
332 void readCoords(QDataStream &ts,
double &x,
double &y);
333 void addToAtomic(quint32 dataLen, QDataStream &ts);
334 void addGraphicContext();
335 void popGraphicContext();
341 int pathGcStackIndex;
357 QTransform textMatrix;
392 int FillGradientType;
393 int StrokeGradientType;
426 double GradMaskScale;
429 Qt::PenStyle PLineArt;
430 Qt::PenCapStyle PLineEnd;
431 Qt::PenJoinStyle PLineJoin;
435 double StrokeOpacity;
438 double patternScaleX;
439 double patternScaleY;
440 double patternOffsetX;
441 double patternOffsetY;
442 double patternRotation;
446 double patternMaskScaleX;
447 double patternMaskScaleY;
448 double patternMaskOffsetX;
449 double patternMaskOffsetY;
450 double patternMaskRotation;
451 double patternMaskSkewX;
452 double patternMaskSkewY;
456 QList<XarText> textData;
459 QByteArray imageData;
460 QList<PageItem*> Elements;
461 QList<quint32> atomicTags;
462 QList<quint32> ignoreableTags;
463 QList<XarText> textData;
464 QList<XarTextLine> textLines;
465 QMap<qint32, XarColor> XarColorMap;
466 QMap<qint32, PageItem*> pathMap;
467 QMap<quint32, QString> brushRef;
468 QMap<QString, QString> patternMap;
469 QMap<quint32, QString> patternRef;
470 QMap<quint32, QString> fontRef;
471 QStack<XarGroup> groupStack;
472 QStack<XarStyle*> m_gc;
474 QStringList importedColors;
475 QStringList importedPatterns;
484 void cancelRequested() { cancel =
true; }
XarPlug(ScribusDoc *doc, int flags)
Create the Xar importer window.
Definition: importxar.cpp:64
Xar (Xara) importer plugin.
Definition: importxar.h:230
Definition: vgradient.h:78
Definition: sccolor.h:155
A point with floating point precision.
Definition: fpoint.h:43
the Document Class
Definition: scribusdoc.h:90
Definition: importxar.h:38
Definition: undomanager.h:52
Definition: multiprogressdialog.h:44
Definition: pageitem.h:92
Definition: fpointarray.h:42
Definition: selection.h:34