Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qsvghandler.cpp File Reference

(d7880eaed0d7403f8fe8ed4234d8a4c21172fea6)

#include "qplatformdefs.h"
#include "qsvghandler_p.h"
#include "qsvgdocument_p.h"
#include "qsvgstructure_p.h"
#include "qsvggraphics_p.h"
#include "qsvgfilter_p.h"
#include "qsvgnode_p.h"
#include "qsvgfont_p.h"
#include "qsvganimate_p.h"
#include "qpen.h"
#include "qpainterpath.h"
#include "qbrush.h"
#include "qcolor.h"
#include "qtextformat.h"
#include <QtCore/private/qdataurl_p.h>
#include "qlist.h"
#include "qfileinfo.h"
#include "qfile.h"
#include "qdir.h"
#include "qdebug.h"
#include "qmath.h"
#include "qnumeric.h"
#include <qregularexpression.h>
#include "qtransform.h"
#include "qvarlengtharray.h"
#include "qimagereader.h"
#include "float.h"
#include <algorithm>
#include <memory>
Include dependency graph for qsvghandler.cpp:

Go to the source code of this file.

Classes

struct  QSvgAttributes

Namespaces

namespace  tokens
namespace  tokens::compOp

Typedefs

typedef QSvgNode *(* FactoryMethod) (QSvgNode *, const QXmlStreamAttributes &, QSvgHandler *)
typedef QSvgNode *(* AnimationMethod) (QSvgNode *, const QXmlStreamAttributes &, QSvgHandler *)
typedef bool(* ParseMethod) (QSvgNode *, const QXmlStreamAttributes &, QSvgHandler *)
typedef QSvgStyleProperty *(* StyleFactoryMethod) (const QXmlStreamAttributes &, QSvgHandler *)
typedef bool(* StyleParseMethod) (QSvgStyleProperty *, const QXmlStreamAttributes &, QSvgHandler *)
typedef QSvgPaintServerSharedPtr(* PaintServerFactoryMethod) (const QXmlStreamAttributes &, QSvgHandler *)
typedef bool(* PaintServerParseMethod) (QSvgPaintServer *, const QXmlStreamAttributes &, QSvgHandler *)

Enumerations

enum  FontSizeSpec {
  XXSmall , XSmall , Small , Medium ,
  Large , XLarge , XXLarge , FontSizeNone ,
  FontSizeValue , XXSmall , XSmall , Small ,
  Medium , Large , XLarge , XXLarge ,
  FontSizeNone , FontSizeValue
}
enum  FontSizeSpec {
  XXSmall , XSmall , Small , Medium ,
  Large , XLarge , XXLarge , FontSizeNone ,
  FontSizeValue , XXSmall , XSmall , Small ,
  Medium , Large , XLarge , XXLarge ,
  FontSizeNone , FontSizeValue
}

Functions

static QByteArray prefixMessage (const QByteArray &msg, const QXmlStreamReader *r)
static QByteArray msgProblemParsing (QStringView localName, const QXmlStreamReader *r)
static QByteArray msgCouldNotResolveProperty (QStringView id, const QXmlStreamReader *r)
static QList< QStringViewsplitWithDelimiter (QStringView delimitedList)
static int qsvg_h2i (char hex, bool *ok=nullptr)
static int qsvg_hex2int (const char *s, bool *ok=nullptr)
static int qsvg_hex2int (char s, bool *ok=nullptr)
bool qsvg_get_hex_rgb (const char *name, QRgb *rgb)
bool qsvg_get_hex_rgb (const QChar *str, int len, QRgb *rgb)
static QString someId (const QXmlStreamAttributes &attributes)
QList< qrealparseNumbersList (QStringView *str)
static QList< qrealparsePercentageList (QStringView str)
static QStringView idFromIRI (QStringView iri)
static QStringView idFromFuncIRI (QStringView iri)
bool resolveColor (QStringView colorStr, QColor &color, QSvgHandler *handler)
void setAlpha (QStringView opacity, QColor *color)
static bool constructColor (QStringView colorStr, QStringView opacity, QColor &color, QSvgHandler *handler)
static qreal convertToNumber (QStringView str, bool *ok=NULL)
static bool createSvgGlyph (QSvgFont *font, const QXmlStreamAttributes &attributes, bool isMissingGlyph)
static void parseColor (QSvgNode *, const QSvgAttributes &attributes, QSvgHandler *handler)
static QSvgPaintServerSharedPtr paintServerFromUrl (QSvgDocument *doc, QStringView url)
static void parseBrush (QSvgNode *node, const QSvgAttributes &attributes, QSvgHandler *handler)
static QTransform parseTransformationMatrix (QStringView value)
static void parsePen (QSvgNode *node, const QSvgAttributes &attributes, QSvgHandler *handler)
 Q_STATIC_ASSERT (sizeof(sizeTable)/sizeof(sizeTable[0])==FontSizeNone)
static FontSizeSpec fontSizeSpec (QStringView spec)
static std::optional< QFont::StyleparseFontStyle (QStringView s)
static std::optional< qrealparseFontSize (QStringView s)
static std::optional< int > parseFontWeight (QStringView s)
static std::optional< QFont::CapitalizationparseFontVariant (const QSvgAttributes &attributes)
static std::optional< Qt::Alignment > parseTextAnchor (QStringView s)
static void parseFont (QSvgNode *node, const QSvgAttributes &attributes, QSvgHandler *handler)
static void parseTransform (QSvgNode *node, const QSvgAttributes &attributes, QSvgHandler *)
static void parseVisibility (QSvgNode *node, const QSvgAttributes &attributes, QSvgHandler *)
static bool parseStyle (QSvgNode *node, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static int parseClockValue (QStringView str, bool *ok)
static void parseCssAnimations (QSvgNode *node, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static void parseOffsetPath (QSvgNode *node, const QXmlStreamAttributes &attributes)
static QStringList stringToList (const QString &str)
static bool parseCoreNode (QSvgNode *node, const QXmlStreamAttributes &attributes)
static void parseOpacity (QSvgNode *node, const QSvgAttributes &attributes, QSvgHandler *)
static QPainter::CompositionMode svgToQtCompositionMode (const QStringView op)
static void parseCompOp (QSvgNode *node, const QSvgAttributes &attributes, QSvgHandler *)
static QSvgNode::DisplayMode displayStringToEnum (const QStringView str)
static void parseOthers (QSvgNode *node, const QSvgAttributes &attributes, QSvgHandler *)
static std::optional< QStringViewgetAttributeId (const QStringView &attribute)
static void parseExtendedAttributes (QSvgNode *node, const QSvgAttributes &attributes, QSvgHandler *handler)
static void parseRenderingHints (QSvgNode *node, const QSvgAttributes &attributes, QSvgHandler *)
static bool parseAnchorNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseBaseAnimate (QSvgNode *, const QXmlStreamAttributes &attributes, QSvgAnimateNode *anim, QSvgHandler *handler)
static void generateKeyFrames (QList< qreal > &keyFrames, uint count)
static QSvgNodecreateAnimateColorNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreateAnimateMotionNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static void parseNumberTriplet (QList< qreal > &values, QStringView *s)
static void parseNumberTriplet (QList< qreal > &values, QStringView s)
QSvgNodecreateAnimateTransformNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreateAnimateNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseAudioNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateCircleNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateDefsNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseDiscardNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateEllipseNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgStylePropertycreateFontNode (const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static bool parseFontFaceNode (QSvgStyleProperty *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static bool parseFontFaceNameNode (QSvgStyleProperty *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static bool parseFontFaceSrcNode (QSvgStyleProperty *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseFontFaceUriNode (QSvgStyleProperty *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseForeignObjectNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateGNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseGlyphNode (QSvgStyleProperty *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseHandlerNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseHkernNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateImageNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreateLineNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static void parseBaseGradient (const QXmlStreamAttributes &attributes, QSvgGradientPaint *gradProp, QSvgHandler *handler)
static QSvgPaintServerSharedPtr createLinearGradientNode (const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static bool parseMetadataNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseMissingGlyphNode (QSvgStyleProperty *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseMpathNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseMaskNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseMarkerNode (QSvgNode *, const QXmlStreamAttributes &, QSvgHandler *)
static QSvgNodecreateMaskNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static void parseFilterBounds (const QXmlStreamAttributes &attributes, QSvgRectF *rect)
static QSvgNodecreateFilterNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static void parseFilterAttributes (const QXmlStreamAttributes &attributes, QString *inString, QString *outString, QSvgRectF *rect)
static QSvgNodecreateFeColorMatrixNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateFeGaussianBlurNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateFeOffsetNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateFeCompositeNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateFeMergeNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateFeFloodNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreateFeMergeNodeNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateFeBlendNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateFeUnsupportedNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static std::optional< QRectFparseViewBox (QStringView str)
static bool parseSymbolLikeAttributes (const QXmlStreamAttributes &attributes, QSvgHandler *handler, QRectF *rect, QRectF *viewBox, QPointF *refPoint, QSvgSymbolLike::PreserveAspectRatios *aspect, QSvgSymbolLike::Overflow *overflow, bool marker=false)
static QSvgNodecreateSymbolNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreateMarkerNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreatePathNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreatePolyNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, bool createLine)
static QSvgNodecreatePolygonNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreatePolylineNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parsePrefetchNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgPaintServerSharedPtr createRadialGradientNode (const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreateRectNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseScriptNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static bool parseSetNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgPaintServerSharedPtr createSolidColorNode (const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static bool parseStopNode (QSvgPaintServer *paintServer, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static bool parseStyleNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreateSvgNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreateSwitchNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreatePatternNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static bool parseTbreakNode (QSvgNode *parent, const QXmlStreamAttributes &, QSvgHandler *)
static QSvgNodecreateTextNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static QSvgNodecreateTextAreaNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreateTspanNode (QSvgNode *parent, const QXmlStreamAttributes &, QSvgHandler *)
static QSvgNodecreateUseNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *handler)
static QSvgNodecreateVideoNode (QSvgNode *parent, const QXmlStreamAttributes &attributes, QSvgHandler *)
static FactoryMethod findGroupFactory (const QStringView name, QtSvg::Options options)
static FactoryMethod findGraphicsFactory (const QStringView name, QtSvg::Options options)
static FactoryMethod findFilterFactory (const QStringView name, QtSvg::Options options)
static AnimationMethod findAnimationFactory (const QStringView name, QtSvg::Options options)
static ParseMethod findUtilFactory (const QStringView name, QtSvg::Options options)
static StyleFactoryMethod findStyleFactoryMethod (const QStringView name)
static StyleParseMethod findStyleUtilFactoryMethod (const QStringView name)
static PaintServerFactoryMethod findPaintServerFactoryMethod (const QStringView name)
static PaintServerParseMethod findPaintServerUtilFactoryMethod (const QStringView name)
static bool detectPatternCycles (const QSvgNode *node, QList< const QSvgNode * > &linkable)
static bool detectCycles (const QSvgNode *n)
static bool detectCyclesAndWarn (const QSvgNode *node)

Variables

static const qreal sizeTable []

Typedef Documentation

◆ AnimationMethod

typedef QSvgNode *(* AnimationMethod)(QSvgNode *, const QXmlStreamAttributes &, QSvgHandler *)

Definition at line 3499 of file qsvghandler.cpp.

◆ FactoryMethod

typedef QSvgNode *(* FactoryMethod)(QSvgNode *, const QXmlStreamAttributes &, QSvgHandler *)

Definition at line 3375 of file qsvghandler.cpp.

◆ PaintServerFactoryMethod

typedef QSvgPaintServerSharedPtr(* PaintServerFactoryMethod)(const QXmlStreamAttributes &, QSvgHandler *)

Definition at line 3616 of file qsvghandler.cpp.

◆ PaintServerParseMethod

typedef bool(* PaintServerParseMethod)(QSvgPaintServer *, const QXmlStreamAttributes &, QSvgHandler *)

Definition at line 3641 of file qsvghandler.cpp.

◆ ParseMethod

typedef bool(* ParseMethod)(QSvgNode *, const QXmlStreamAttributes &, QSvgHandler *)

Definition at line 3522 of file qsvghandler.cpp.

◆ StyleFactoryMethod

typedef QSvgStyleProperty *(* StyleFactoryMethod)(const QXmlStreamAttributes &, QSvgHandler *)

Definition at line 3568 of file qsvghandler.cpp.

◆ StyleParseMethod

typedef bool(* StyleParseMethod)(QSvgStyleProperty *, const QXmlStreamAttributes &, QSvgHandler *)

Definition at line 3587 of file qsvghandler.cpp.

Enumeration Type Documentation

◆ FontSizeSpec [1/2]

Enumerator
XXSmall 
XSmall 
Small 
Medium 
Large 
XLarge 
XXLarge 
FontSizeNone 
FontSizeValue 
XXSmall 
XSmall 
Small 
Medium 
Large 
XLarge 
XXLarge 
FontSizeNone 
FontSizeValue 

Definition at line 903 of file qsvghandler.cpp.

◆ FontSizeSpec [2/2]

Enumerator
XXSmall 
XSmall 
Small 
Medium 
Large 
XLarge 
XXLarge 
FontSizeNone 
FontSizeValue 
XXSmall 
XSmall 
Small 
Medium 
Large 
XLarge 
XXLarge 
FontSizeNone 
FontSizeValue 

Definition at line 903 of file qsvghandler.cpp.

Function Documentation

◆ constructColor()

bool constructColor ( QStringView colorStr,
QStringView opacity,
QColor & color,
QSvgHandler * handler )
static

Definition at line 558 of file qsvghandler.cpp.

◆ convertToNumber()

qreal convertToNumber ( QStringView str,
bool * ok = NULL )
inlinestatic

Definition at line 568 of file qsvghandler.cpp.

References QSvgUtils::LT_PERCENT.

◆ createAnimateColorNode()

QSvgNode * createAnimateColorNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 1582 of file qsvghandler.cpp.

◆ createAnimateMotionNode()

QSvgNode * createAnimateMotionNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1632 of file qsvghandler.cpp.

◆ createAnimateNode()

QSvgNode * createAnimateNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1755 of file qsvghandler.cpp.

◆ createAnimateTransformNode()

QSvgNode * createAnimateTransformNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )

Definition at line 1653 of file qsvghandler.cpp.

◆ createCircleNode()

QSvgNode * createCircleNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1771 of file qsvghandler.cpp.

◆ createDefsNode()

QSvgNode * createDefsNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1789 of file qsvghandler.cpp.

◆ createEllipseNode()

QSvgNode * createEllipseNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1806 of file qsvghandler.cpp.

◆ createFeBlendNode()

QSvgNode * createFeBlendNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2615 of file qsvghandler.cpp.

◆ createFeColorMatrixNode()

QSvgNode * createFeColorMatrixNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2394 of file qsvghandler.cpp.

◆ createFeCompositeNode()

QSvgNode * createFeCompositeNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2506 of file qsvghandler.cpp.

◆ createFeFloodNode()

QSvgNode * createFeFloodNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 2575 of file qsvghandler.cpp.

◆ createFeGaussianBlurNode()

QSvgNode * createFeGaussianBlurNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2439 of file qsvghandler.cpp.

◆ createFeMergeNode()

QSvgNode * createFeMergeNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2561 of file qsvghandler.cpp.

◆ createFeMergeNodeNode()

QSvgNode * createFeMergeNodeNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2601 of file qsvghandler.cpp.

◆ createFeOffsetNode()

QSvgNode * createFeOffsetNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2472 of file qsvghandler.cpp.

References QSvgUtils::LT_PT.

◆ createFeUnsupportedNode()

QSvgNode * createFeUnsupportedNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2643 of file qsvghandler.cpp.

◆ createFilterNode()

QSvgNode * createFilterNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 2340 of file qsvghandler.cpp.

References QtSvg::objectBoundingBox, and QtSvg::userSpaceOnUse.

◆ createFontNode()

QSvgStyleProperty * createFontNode ( const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 1824 of file qsvghandler.cpp.

◆ createGNode()

QSvgNode * createGNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1922 of file qsvghandler.cpp.

◆ createImageNode()

QSvgNode * createImageNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 1960 of file qsvghandler.cpp.

References QtSvg::Tiny12FeaturesOnly.

◆ createLinearGradientNode()

QSvgPaintServerSharedPtr createLinearGradientNode ( const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 2123 of file qsvghandler.cpp.

◆ createLineNode()

QSvgNode * createLineNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2042 of file qsvghandler.cpp.

◆ createMarkerNode()

QSvgNode * createMarkerNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 2812 of file qsvghandler.cpp.

◆ createMaskNode()

QSvgNode * createMaskNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

◆ createPathNode()

QSvgNode * createPathNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 2858 of file qsvghandler.cpp.

◆ createPatternNode()

QSvgNode * createPatternNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

◆ createPolygonNode()

QSvgNode * createPolygonNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2893 of file qsvghandler.cpp.

◆ createPolylineNode()

QSvgNode * createPolylineNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2900 of file qsvghandler.cpp.

◆ createPolyNode()

QSvgNode * createPolyNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
bool createLine )
static

Definition at line 2876 of file qsvghandler.cpp.

◆ createRadialGradientNode()

QSvgPaintServerSharedPtr createRadialGradientNode ( const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 2915 of file qsvghandler.cpp.

◆ createRectNode()

QSvgNode * createRectNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2953 of file qsvghandler.cpp.

References QSvgUtils::toDouble().

Here is the call graph for this function:

◆ createSolidColorNode()

QSvgPaintServerSharedPtr createSolidColorNode ( const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 3020 of file qsvghandler.cpp.

◆ createSvgGlyph()

bool createSvgGlyph ( QSvgFont * font,
const QXmlStreamAttributes & attributes,
bool isMissingGlyph )
static

Definition at line 578 of file qsvghandler.cpp.

◆ createSvgNode()

QSvgNode * createSvgNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 3128 of file qsvghandler.cpp.

References QSvgUtils::LT_PERCENT, QSvgUtils::LT_PT, and QSvgUtils::LT_PX.

◆ createSwitchNode()

QSvgNode * createSwitchNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 3170 of file qsvghandler.cpp.

◆ createSymbolNode()

QSvgNode * createSymbolNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 2795 of file qsvghandler.cpp.

◆ createTextAreaNode()

QSvgNode * createTextAreaNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 3290 of file qsvghandler.cpp.

◆ createTextNode()

QSvgNode * createTextNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 3273 of file qsvghandler.cpp.

◆ createTspanNode()

QSvgNode * createTspanNode ( QSvgNode * parent,
const QXmlStreamAttributes & ,
QSvgHandler *  )
static

Definition at line 3304 of file qsvghandler.cpp.

◆ createUseNode()

QSvgNode * createUseNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 3311 of file qsvghandler.cpp.

◆ createVideoNode()

QSvgNode * createVideoNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 3367 of file qsvghandler.cpp.

◆ detectCycles()

bool detectCycles ( const QSvgNode * n)
static

Definition at line 3741 of file qsvghandler.cpp.

Referenced by detectCyclesAndWarn().

Here is the caller graph for this function:

◆ detectCyclesAndWarn()

bool detectCyclesAndWarn ( const QSvgNode * node)
static

Definition at line 3805 of file qsvghandler.cpp.

References detectCycles().

Here is the call graph for this function:

◆ detectPatternCycles()

bool detectPatternCycles ( const QSvgNode * node,
QList< const QSvgNode * > & linkable )
static

Definition at line 3701 of file qsvghandler.cpp.

◆ displayStringToEnum()

QSvgNode::DisplayMode displayStringToEnum ( const QStringView str)
static

Definition at line 1375 of file qsvghandler.cpp.

◆ findAnimationFactory()

AnimationMethod findAnimationFactory ( const QStringView name,
QtSvg::Options options )
static

Definition at line 3501 of file qsvghandler.cpp.

References QtSvg::DisableSMILAnimations.

◆ findFilterFactory()

FactoryMethod findFilterFactory ( const QStringView name,
QtSvg::Options options )
static

Definition at line 3456 of file qsvghandler.cpp.

References QtSvg::Tiny12FeaturesOnly.

◆ findGraphicsFactory()

FactoryMethod findGraphicsFactory ( const QStringView name,
QtSvg::Options options )
static

Definition at line 3411 of file qsvghandler.cpp.

◆ findGroupFactory()

FactoryMethod findGroupFactory ( const QStringView name,
QtSvg::Options options )
static

Definition at line 3377 of file qsvghandler.cpp.

References QtSvg::Tiny12FeaturesOnly.

◆ findPaintServerFactoryMethod()

PaintServerFactoryMethod findPaintServerFactoryMethod ( const QStringView name)
static

Definition at line 3619 of file qsvghandler.cpp.

◆ findPaintServerUtilFactoryMethod()

PaintServerParseMethod findPaintServerUtilFactoryMethod ( const QStringView name)
static

Definition at line 3645 of file qsvghandler.cpp.

◆ findStyleFactoryMethod()

StyleFactoryMethod findStyleFactoryMethod ( const QStringView name)
static

Definition at line 3571 of file qsvghandler.cpp.

◆ findStyleUtilFactoryMethod()

StyleParseMethod findStyleUtilFactoryMethod ( const QStringView name)
static

Definition at line 3591 of file qsvghandler.cpp.

References parseFontFaceNameNode(), parseFontFaceNode(), parseFontFaceSrcNode(), parseFontFaceUriNode(), parseGlyphNode(), and parseMissingGlyphNode().

Here is the call graph for this function:

◆ findUtilFactory()

ParseMethod findUtilFactory ( const QStringView name,
QtSvg::Options options )
static

Definition at line 3524 of file qsvghandler.cpp.

References QtSvg::Tiny12FeaturesOnly.

◆ fontSizeSpec()

FontSizeSpec fontSizeSpec ( QStringView spec)
static

Definition at line 911 of file qsvghandler.cpp.

References FontSizeNone, FontSizeValue, Large, Medium, Small, XLarge, XSmall, XXLarge, and XXSmall.

◆ generateKeyFrames()

void generateKeyFrames ( QList< qreal > & keyFrames,
uint count )
static

Definition at line 1571 of file qsvghandler.cpp.

◆ getAttributeId()

std::optional< QStringView > getAttributeId ( const QStringView & attribute)
static

Definition at line 1430 of file qsvghandler.cpp.

◆ idFromFuncIRI()

QStringView idFromFuncIRI ( QStringView iri)
static

The form is <FuncIRI>, where FuncIRI takes the form of url(<IRI>). This syntax is used in properties that accept both strings and IRIs, eliminating any ambiguity. e.g, fill = "url(#id)"

Definition at line 464 of file qsvghandler.cpp.

◆ idFromIRI()

QStringView idFromIRI ( QStringView iri)
static

The form is <IRI>. This function parses local IRI references, i.e, resources referenced within the current document. e.g, href = "#id"

Definition at line 448 of file qsvghandler.cpp.

◆ msgCouldNotResolveProperty()

QByteArray msgCouldNotResolveProperty ( QStringView id,
const QXmlStreamReader * r )
inlinestatic

Definition at line 120 of file qsvghandler.cpp.

◆ msgProblemParsing()

QByteArray msgProblemParsing ( QStringView localName,
const QXmlStreamReader * r )
inlinestatic

Definition at line 115 of file qsvghandler.cpp.

◆ paintServerFromUrl()

QSvgPaintServerSharedPtr paintServerFromUrl ( QSvgDocument * doc,
QStringView url )
static

Definition at line 615 of file qsvghandler.cpp.

◆ parseAnchorNode()

bool parseAnchorNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1514 of file qsvghandler.cpp.

◆ parseAudioNode()

bool parseAudioNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1763 of file qsvghandler.cpp.

◆ parseBaseAnimate()

bool parseBaseAnimate ( QSvgNode * ,
const QXmlStreamAttributes & attributes,
QSvgAnimateNode * anim,
QSvgHandler * handler )
static

Definition at line 1522 of file qsvghandler.cpp.

◆ parseBaseGradient()

void parseBaseGradient ( const QXmlStreamAttributes & attributes,
QSvgGradientPaint * gradProp,
QSvgHandler * handler )
static

Definition at line 2061 of file qsvghandler.cpp.

◆ parseBrush()

void parseBrush ( QSvgNode * node,
const QSvgAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 621 of file qsvghandler.cpp.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ parseClockValue()

int parseClockValue ( QStringView str,
bool * ok )
static

Definition at line 1152 of file qsvghandler.cpp.

◆ parseColor()

void parseColor ( QSvgNode * ,
const QSvgAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 604 of file qsvghandler.cpp.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ parseCompOp()

void parseCompOp ( QSvgNode * node,
const QSvgAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1361 of file qsvghandler.cpp.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ parseCoreNode()

bool parseCoreNode ( QSvgNode * node,
const QXmlStreamAttributes & attributes )
static

Definition at line 1238 of file qsvghandler.cpp.

◆ parseCssAnimations()

void parseCssAnimations ( QSvgNode * node,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 1175 of file qsvghandler.cpp.

◆ parseDiscardNode()

bool parseDiscardNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1798 of file qsvghandler.cpp.

◆ parseExtendedAttributes()

void parseExtendedAttributes ( QSvgNode * node,
const QSvgAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 1438 of file qsvghandler.cpp.

References QtSvg::Tiny12FeaturesOnly.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ parseFilterAttributes()

void parseFilterAttributes ( const QXmlStreamAttributes & attributes,
QString * inString,
QString * outString,
QSvgRectF * rect )
static

Definition at line 2375 of file qsvghandler.cpp.

References QtSvg::unknown.

◆ parseFilterBounds()

void parseFilterBounds ( const QXmlStreamAttributes & attributes,
QSvgRectF * rect )
static

◆ parseFont()

void parseFont ( QSvgNode * node,
const QSvgAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 1070 of file qsvghandler.cpp.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ parseFontFaceNameNode()

bool parseFontFaceNameNode ( QSvgStyleProperty * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 1876 of file qsvghandler.cpp.

Referenced by findStyleUtilFactoryMethod().

Here is the caller graph for this function:

◆ parseFontFaceNode()

bool parseFontFaceNode ( QSvgStyleProperty * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 1845 of file qsvghandler.cpp.

Referenced by findStyleUtilFactoryMethod().

Here is the caller graph for this function:

◆ parseFontFaceSrcNode()

bool parseFontFaceSrcNode ( QSvgStyleProperty * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1898 of file qsvghandler.cpp.

Referenced by findStyleUtilFactoryMethod().

Here is the caller graph for this function:

◆ parseFontFaceUriNode()

bool parseFontFaceUriNode ( QSvgStyleProperty * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1906 of file qsvghandler.cpp.

Referenced by findStyleUtilFactoryMethod().

Here is the caller graph for this function:

◆ parseFontSize()

std::optional< qreal > parseFontSize ( QStringView s)
static

Definition at line 961 of file qsvghandler.cpp.

References FontSizeNone, and FontSizeValue.

◆ parseFontStyle()

std::optional< QFont::Style > parseFontStyle ( QStringView s)
static

Definition at line 946 of file qsvghandler.cpp.

◆ parseFontVariant()

std::optional< QFont::Capitalization > parseFontVariant ( const QSvgAttributes & attributes)
static

Definition at line 1018 of file qsvghandler.cpp.

◆ parseFontWeight()

std::optional< int > parseFontWeight ( QStringView s)
static

Definition at line 993 of file qsvghandler.cpp.

◆ parseForeignObjectNode()

bool parseForeignObjectNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1914 of file qsvghandler.cpp.

◆ parseGlyphNode()

bool parseGlyphNode ( QSvgStyleProperty * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1931 of file qsvghandler.cpp.

Referenced by findStyleUtilFactoryMethod().

Here is the caller graph for this function:

◆ parseHandlerNode()

bool parseHandlerNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1944 of file qsvghandler.cpp.

◆ parseHkernNode()

bool parseHkernNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1952 of file qsvghandler.cpp.

◆ parseMarkerNode()

bool parseMarkerNode ( QSvgNode * ,
const QXmlStreamAttributes & ,
QSvgHandler *  )
static

Definition at line 2191 of file qsvghandler.cpp.

◆ parseMaskNode()

bool parseMaskNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2183 of file qsvghandler.cpp.

◆ parseMetadataNode()

bool parseMetadataNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2154 of file qsvghandler.cpp.

◆ parseMissingGlyphNode()

bool parseMissingGlyphNode ( QSvgStyleProperty * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2162 of file qsvghandler.cpp.

Referenced by findStyleUtilFactoryMethod().

Here is the caller graph for this function:

◆ parseMpathNode()

bool parseMpathNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2175 of file qsvghandler.cpp.

◆ parseNumbersList()

QList< qreal > parseNumbersList ( QStringView * str)

Definition at line 386 of file qsvghandler.cpp.

References QSvgUtils::isDigit().

Here is the call graph for this function:

◆ parseNumberTriplet() [1/2]

void parseNumberTriplet ( QList< qreal > & values,
QStringView * s )
static

Definition at line 1640 of file qsvghandler.cpp.

◆ parseNumberTriplet() [2/2]

void parseNumberTriplet ( QList< qreal > & values,
QStringView s )
static

Definition at line 1648 of file qsvghandler.cpp.

◆ parseOffsetPath()

void parseOffsetPath ( QSvgNode * node,
const QXmlStreamAttributes & attributes )
static

Definition at line 1198 of file qsvghandler.cpp.

◆ parseOpacity()

void parseOpacity ( QSvgNode * node,
const QSvgAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1288 of file qsvghandler.cpp.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ parseOthers()

void parseOthers ( QSvgNode * node,
const QSvgAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1417 of file qsvghandler.cpp.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ parsePen()

void parsePen ( QSvgNode * node,
const QSvgAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 794 of file qsvghandler.cpp.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ parsePercentageList()

QList< qreal > parsePercentageList ( QStringView str)
static

Definition at line 414 of file qsvghandler.cpp.

◆ parsePrefetchNode()

bool parsePrefetchNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 2907 of file qsvghandler.cpp.

◆ parseRenderingHints()

void parseRenderingHints ( QSvgNode * node,
const QSvgAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1457 of file qsvghandler.cpp.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ parseScriptNode()

bool parseScriptNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 3004 of file qsvghandler.cpp.

◆ parseSetNode()

bool parseSetNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler *  )
static

Definition at line 3012 of file qsvghandler.cpp.

◆ parseStopNode()

bool parseStopNode ( QSvgPaintServer * paintServer,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 3037 of file qsvghandler.cpp.

◆ parseStyle()

bool parseStyle ( QSvgNode * node,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 1475 of file qsvghandler.cpp.

References QtSvg::DisableCSSAnimations, parseBrush(), parseColor(), parseCompOp(), parseExtendedAttributes(), parseFont(), parseOpacity(), parseOthers(), parsePen(), parseRenderingHints(), parseTransform(), and parseVisibility().

Here is the call graph for this function:

◆ parseStyleNode()

bool parseStyleNode ( QSvgNode * parent,
const QXmlStreamAttributes & attributes,
QSvgHandler * handler )
static

Definition at line 3111 of file qsvghandler.cpp.

◆ parseSymbolLikeAttributes()

bool parseSymbolLikeAttributes ( const QXmlStreamAttributes & attributes,
QSvgHandler * handler,
QRectF * rect,
QRectF * viewBox,
QPointF * refPoint,
QSvgSymbolLike::PreserveAspectRatios * aspect,
QSvgSymbolLike::Overflow * overflow,
bool marker = false )
static

Definition at line 2674 of file qsvghandler.cpp.

References QSvgUtils::LT_PT.

◆ parseTbreakNode()

bool parseTbreakNode ( QSvgNode * parent,
const QXmlStreamAttributes & ,
QSvgHandler *  )
static

Definition at line 3263 of file qsvghandler.cpp.

◆ parseTextAnchor()

std::optional< Qt::Alignment > parseTextAnchor ( QStringView s)
static

Definition at line 1052 of file qsvghandler.cpp.

◆ parseTransform()

void parseTransform ( QSvgNode * node,
const QSvgAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1120 of file qsvghandler.cpp.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ parseTransformationMatrix()

QTransform parseTransformationMatrix ( QStringView value)
static

Definition at line 667 of file qsvghandler.cpp.

References QSvgUtils::parseNumbersArray().

Here is the call graph for this function:

◆ parseViewBox()

std::optional< QRectF > parseViewBox ( QStringView str)
static

Definition at line 2657 of file qsvghandler.cpp.

◆ parseVisibility()

void parseVisibility ( QSvgNode * node,
const QSvgAttributes & attributes,
QSvgHandler *  )
static

Definition at line 1134 of file qsvghandler.cpp.

Referenced by parseStyle().

Here is the caller graph for this function:

◆ prefixMessage()

QByteArray prefixMessage ( const QByteArray & msg,
const QXmlStreamReader * r )
static

Definition at line 95 of file qsvghandler.cpp.

◆ Q_STATIC_ASSERT()

Q_STATIC_ASSERT ( sizeof(sizeTable)/sizeof(sizeTable[0]) = =FontSizeNone)

◆ qsvg_get_hex_rgb() [1/2]

bool qsvg_get_hex_rgb ( const char * name,
QRgb * rgb )

Definition at line 157 of file qsvghandler.cpp.

References qsvg_hex2int(), and qsvg_hex2int().

Here is the call graph for this function:

◆ qsvg_get_hex_rgb() [2/2]

bool qsvg_get_hex_rgb ( const QChar * str,
int len,
QRgb * rgb )

Definition at line 192 of file qsvghandler.cpp.

◆ qsvg_h2i()

int qsvg_h2i ( char hex,
bool * ok = nullptr )
inlinestatic

Definition at line 133 of file qsvghandler.cpp.

Referenced by qsvg_hex2int(), and qsvg_hex2int().

Here is the caller graph for this function:

◆ qsvg_hex2int() [1/2]

int qsvg_hex2int ( char s,
bool * ok = nullptr )
inlinestatic

Definition at line 151 of file qsvghandler.cpp.

References qsvg_h2i().

Referenced by qsvg_get_hex_rgb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qsvg_hex2int() [2/2]

int qsvg_hex2int ( const char * s,
bool * ok = nullptr )
inlinestatic

Definition at line 146 of file qsvghandler.cpp.

References qsvg_h2i().

Referenced by qsvg_get_hex_rgb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resolveColor()

bool resolveColor ( QStringView colorStr,
QColor & color,
QSvgHandler * handler )

returns true when successfully set the color. false signifies that the color should be inherited

Definition at line 485 of file qsvghandler.cpp.

◆ setAlpha()

void setAlpha ( QStringView opacity,
QColor * color )

Definition at line 549 of file qsvghandler.cpp.

◆ someId()

QString someId ( const QXmlStreamAttributes & attributes)
inlinestatic

Definition at line 205 of file qsvghandler.cpp.

◆ splitWithDelimiter()

QList< QStringView > splitWithDelimiter ( QStringView delimitedList)
static

Definition at line 125 of file qsvghandler.cpp.

◆ stringToList()

QStringList stringToList ( const QString & str)
inlinestatic

Definition at line 1232 of file qsvghandler.cpp.

◆ svgToQtCompositionMode()

QPainter::CompositionMode svgToQtCompositionMode ( const QStringView op)
static

Definition at line 1306 of file qsvghandler.cpp.

Variable Documentation

◆ sizeTable

const qreal sizeTable
static
Initial value:
=
{ qreal(6.9), qreal(8.3), qreal(10.0), qreal(12.0), qreal(14.4), qreal(17.3), qreal(20.7) }
double qreal
Definition qtypes.h:206

Definition at line 906 of file qsvghandler.cpp.