src/svg/qsvgnode_p.h
changeset 30 5dc02b23752f
parent 18 2f34d5167611
--- a/src/svg/qsvgnode_p.h	Wed Jun 23 19:07:03 2010 +0300
+++ b/src/svg/qsvgnode_p.h	Tue Jul 06 15:10:48 2010 +0300
@@ -118,16 +118,17 @@
     QSvgNode *parent() const;
 
     void appendStyleProperty(QSvgStyleProperty *prop, const QString &id);
-    void applyStyle(QPainter *p, QSvgExtraStates &states);
-    void revertStyle(QPainter *p, QSvgExtraStates &states);
+    void applyStyle(QPainter *p, QSvgExtraStates &states) const;
+    void revertStyle(QPainter *p, QSvgExtraStates &states) const;
     QSvgStyleProperty *styleProperty(QSvgStyleProperty::Type type) const;
     QSvgFillStyleProperty *styleProperty(const QString &id) const;
 
     QSvgTinyDocument *document() const;
 
     virtual Type type() const =0;
-    virtual QRectF bounds() const;
-    virtual QRectF transformedBounds(const QTransform &transform) const;
+    virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
+    virtual QRectF transformedBounds(QPainter *p, QSvgExtraStates &states) const;
+    QRectF transformedBounds() const;
 
     void setRequiredFeatures(const QStringList &lst);
     const QStringList & requiredFeatures() const;
@@ -156,9 +157,9 @@
     QString xmlClass() const;
     void setXmlClass(const QString &str);
 protected:
-    QSvgStyle   m_style;
+    mutable QSvgStyle m_style;
 
-    qreal strokeWidth() const;
+    static qreal strokeWidth(QPainter *p);
 private:
     QSvgNode   *m_parent;
 
@@ -174,6 +175,7 @@
     QString m_class;
 
     DisplayMode m_displayMode;
+    mutable QRectF m_cachedBounds;
 
     friend class QSvgTinyDocument;
 };