10 #include <QDomElement>
16 #include "pluginapi.h"
17 #include "loadsaveplugin.h"
18 #include "../../formatidlist.h"
19 #include "vgradient.h"
38 virtual void deleteAboutData(
const AboutData* about)
const;
40 virtual bool fileSupported(QIODevice* file,
const QString & fileName=QString::null)
const;
41 virtual bool loadFile(
const QString & fileName,
const FileFormat & fmt,
int flags,
int index = 0);
42 virtual QImage readThumbnail(
const QString& fileName);
52 virtual bool import(QString filename = QString::null,
int flags = lfUseCurrentPage|lfInteractive);
55 void registerFormats();
60 extern "C" PLUGIN_API
int svgimplugin_getPluginAPIVersion();
61 extern "C" PLUGIN_API
ScPlugin* svgimplugin_getPlugin();
62 extern "C" PLUGIN_API
void svgimplugin_freePlugin(
ScPlugin* plugin);
75 gradient(VGradient::linear),
130 FontWeight(
"normal"),
131 FontStretch(
"normal"),
136 GStrokeCol1(
"Black"),
137 FillGradient(VGradient::linear),
138 StrokeGradient(VGradient::linear),
140 StrokeGradientType(0),
158 PLineArt(Qt::SolidLine),
159 PLineEnd(Qt::FlatCap),
160 PLineJoin(Qt::MiterJoin),
176 QVector<double> dashArray;
189 int FillGradientType;
190 int StrokeGradientType;
208 Qt::PenStyle PLineArt;
209 Qt::PenCapStyle PLineEnd;
210 Qt::PenJoinStyle PLineJoin;
214 double StrokeOpacity;
216 QString textDecoration;
237 QImage readThumbnail(QString fn);
238 bool loadData(QString fname);
240 void addGraphicContext();
241 void setupNode(
const QDomElement &e );
242 void setupTransform(
const QDomElement &e );
243 void finishNode(
const QDomNode &e,
PageItem* item);
244 bool isIgnorableNode(
const QDomElement &e );
245 bool isIgnorableNodeName(
const QString &n );
246 FPoint parseTextPosition(
const QDomElement &e,
const FPoint* pos = NULL);
247 QSizeF parseWidthHeight(
const QDomElement &e);
248 QRectF parseViewBox(
const QDomElement &e);
249 void parseDefs(
const QDomElement &e);
250 void parseClipPath(
const QDomElement &e);
251 void parseClipPathAttr(
const QDomElement &e,
FPointArray& clipPath);
252 QList<PageItem*> parseA(
const QDomElement &e);
253 QList<PageItem*> parseGroup(
const QDomElement &e);
254 QList<PageItem*> parseDoc(
const QDomElement &e);
255 QList<PageItem*> parseElement(
const QDomElement &e);
256 QList<PageItem*> parseCircle(
const QDomElement &e);
257 QList<PageItem*> parseEllipse(
const QDomElement &e);
258 QList<PageItem*> parseImage(
const QDomElement &e);
259 QList<PageItem*> parseLine(
const QDomElement &e);
260 QList<PageItem*> parsePath(
const QDomElement &e);
261 QList<PageItem*> parsePolyline(
const QDomElement &e);
262 QList<PageItem*> parseRect(
const QDomElement &e);
263 QList<PageItem*> parseText(
const QDomElement &e);
264 QList<PageItem*> parseTextSpan(
const QDomElement& e,
FPoint& currentPos,
double chunkW);
265 QList<PageItem*> parseTextNode(
const QDomText& e,
FPoint& currentPos,
double chunkW);
266 QList<PageItem*> parseSwitch(
const QDomElement &e);
267 QList<PageItem*> parseSymbol(
const QDomElement &e);
268 QList<PageItem*> parseUse(
const QDomElement &e);
269 const char* getCoord(
const char *ptr,
double &number );
270 QFont getFontFromStyle(
SvgStyle& style);
271 QDomElement getReferencedNode(
const QDomElement &e);
272 bool getTextChunkWidth(
const QDomElement &e,
double& width);
273 double fromPercentage(
const QString &s );
274 double parseFontSize(
const QString& fsize);
275 double parseUnit(
const QString &unit);
276 QTransform parseTransform(
const QString &transform);
277 bool parseSVG(
const QString &s,
FPointArray *ite );
278 QColor parseColorN(
const QString &rgbColor );
279 QString parseColor(
const QString &s );
280 QString parseIccColor(
const QString &s );
281 QString parseTagName(
const QDomElement &e );
282 void parsePA(
SvgStyle *obj,
const QString &command,
const QString ¶ms );
283 void parseStyle(
SvgStyle *obj,
const QDomElement &e );
284 void parseColorStops(
GradientHelper *gradient,
const QDomElement &e);
285 void parseMarker(
const QDomElement &b);
286 void parsePattern(
const QDomElement &b);
287 void parseGradient(
const QDomElement &e );
294 QStack<SvgStyle*> m_gc;
295 QMap<QString, GradientHelper> m_gradients;
296 QMap<QString, QDomElement> m_nodeMap;
297 QMap<QString, FPointArray> m_clipPaths;
298 QMap<QString, QString> m_unsupportedFeatures;
300 double viewTransformX;
301 double viewTransformY;
311 QStringList importedColors;
312 QStringList importedGradients;
313 QMap<QString, QString> importedGradTrans;
314 QStringList importedPatterns;
315 QMap<QString, QString> importedPattTrans;
316 double inGroupXOrigin;
317 double inGroupYOrigin;
327 QMap<QString, markerDesc> markers;
328 QList<PageItem*> Elements;
Definition: svgplugin.h:223
Definition: svgplugin.h:119
A class providing the plugin interface implementation for this plugin.
Definition: svgplugin.h:28
virtual const QString fullTrName() const =0
Plug-in's human-readable, translated name.
Abstract super class for all Scribus plug-ins.
Definition: scplugin.h:90
This Class is the base class for your application. It sets up the main window and providing a menubar...
Definition: scribus.h:123
virtual void addToMainWindowMenu(ScribusMainWindow *)
Allow plugins to add to a main menu.
Definition: svgplugin.h:43
virtual void languageChange()=0
Update all user-visible text to reflect current UI language.
Definition: vgradient.h:78
A point with floating point precision.
Definition: fpoint.h:43
bool unsupported
Indicator if there is any unsupported feature in imported svg.
Definition: svgplugin.h:306
the Document Class
Definition: scribusdoc.h:90
ScPlugin provides an interface to ask plugins for information about themselves.
Definition: scplugin.h:103
Definition: undomanager.h:52
Definition: scraction.h:33
SVGPlug(ScribusDoc *doc, int flags)
Create the SVG importer window.
Definition: svgplugin.cpp:221
Superclass for all file import/export/load/save plugins.
Definition: loadsaveplugin.h:33
virtual const AboutData * getAboutData() const =0
Return descriptive information about the plug-in.
Definition: pageitem.h:92
Definition: svgplugin.h:69
Definition: fpointarray.h:42
Manage Scribus preferences here, and here alone Start to move the preferences out of scribus...
Definition: prefsmanager.h:43
Definition: svgplugin.h:320
Definition: selection.h:34