src/svg/qsvgnode_p.h
branchGCC_SURGE
changeset 31 5daf16870df6
parent 30 5dc02b23752f
equal deleted inserted replaced
27:93b982ccede2 31:5daf16870df6
   116     virtual void draw(QPainter *p, QSvgExtraStates &states) =0;
   116     virtual void draw(QPainter *p, QSvgExtraStates &states) =0;
   117 
   117 
   118     QSvgNode *parent() const;
   118     QSvgNode *parent() const;
   119 
   119 
   120     void appendStyleProperty(QSvgStyleProperty *prop, const QString &id);
   120     void appendStyleProperty(QSvgStyleProperty *prop, const QString &id);
   121     void applyStyle(QPainter *p, QSvgExtraStates &states);
   121     void applyStyle(QPainter *p, QSvgExtraStates &states) const;
   122     void revertStyle(QPainter *p, QSvgExtraStates &states);
   122     void revertStyle(QPainter *p, QSvgExtraStates &states) const;
   123     QSvgStyleProperty *styleProperty(QSvgStyleProperty::Type type) const;
   123     QSvgStyleProperty *styleProperty(QSvgStyleProperty::Type type) const;
   124     QSvgFillStyleProperty *styleProperty(const QString &id) const;
   124     QSvgFillStyleProperty *styleProperty(const QString &id) const;
   125 
   125 
   126     QSvgTinyDocument *document() const;
   126     QSvgTinyDocument *document() const;
   127 
   127 
   128     virtual Type type() const =0;
   128     virtual Type type() const =0;
   129     virtual QRectF bounds() const;
   129     virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
   130     virtual QRectF transformedBounds(const QTransform &transform) const;
   130     virtual QRectF transformedBounds(QPainter *p, QSvgExtraStates &states) const;
       
   131     QRectF transformedBounds() const;
   131 
   132 
   132     void setRequiredFeatures(const QStringList &lst);
   133     void setRequiredFeatures(const QStringList &lst);
   133     const QStringList & requiredFeatures() const;
   134     const QStringList & requiredFeatures() const;
   134 
   135 
   135     void setRequiredExtensions(const QStringList &lst);
   136     void setRequiredExtensions(const QStringList &lst);
   154     void setNodeId(const QString &i);
   155     void setNodeId(const QString &i);
   155 
   156 
   156     QString xmlClass() const;
   157     QString xmlClass() const;
   157     void setXmlClass(const QString &str);
   158     void setXmlClass(const QString &str);
   158 protected:
   159 protected:
   159     QSvgStyle   m_style;
   160     mutable QSvgStyle m_style;
   160 
   161 
   161     qreal strokeWidth() const;
   162     static qreal strokeWidth(QPainter *p);
   162 private:
   163 private:
   163     QSvgNode   *m_parent;
   164     QSvgNode   *m_parent;
   164 
   165 
   165     QStringList m_requiredFeatures;
   166     QStringList m_requiredFeatures;
   166     QStringList m_requiredExtensions;
   167     QStringList m_requiredExtensions;
   172 
   173 
   173     QString m_id;
   174     QString m_id;
   174     QString m_class;
   175     QString m_class;
   175 
   176 
   176     DisplayMode m_displayMode;
   177     DisplayMode m_displayMode;
       
   178     mutable QRectF m_cachedBounds;
   177 
   179 
   178     friend class QSvgTinyDocument;
   180     friend class QSvgTinyDocument;
   179 };
   181 };
   180 
   182 
   181 inline QSvgNode *QSvgNode::parent() const
   183 inline QSvgNode *QSvgNode::parent() const