diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/rendering/RenderForeignObject.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/rendering/RenderForeignObject.h | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderForeignObject.h b/src/3rdparty/webkit/WebCore/rendering/RenderForeignObject.h index e014f22a5d..bb6b555636 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderForeignObject.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderForeignObject.h @@ -21,9 +21,10 @@ #ifndef RenderForeignObject_h #define RenderForeignObject_h -#if ENABLE(SVG) && ENABLE(SVG_FOREIGN_OBJECT) -#include "TransformationMatrix.h" +#if ENABLE(SVG) && ENABLE(SVG_FOREIGN_OBJECT) +#include "AffineTransform.h" +#include "FloatPoint.h" #include "RenderSVGBlock.h" namespace WebCore { @@ -38,28 +39,35 @@ public: virtual void paint(PaintInfo&, int parentX, int parentY); - virtual TransformationMatrix localToParentTransform() const; - + virtual IntRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer); virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect&, bool fixed = false); + virtual bool requiresLayer() const { return false; } virtual void layout(); - virtual FloatRect objectBoundingBox() const; - virtual FloatRect repaintRectInLocalCoordinates() const; + virtual FloatRect objectBoundingBox() const { return m_viewport; } + virtual FloatRect strokeBoundingBox() const { return m_viewport; } + virtual FloatRect repaintRectInLocalCoordinates() const { return m_viewport; } virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction); virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction); virtual bool isSVGForeignObject() const { return true; } + virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed , bool useTransforms, TransformState& transformState) const; + private: - TransformationMatrix translationForAttributes() const; + virtual void calcWidth(); + virtual void calcHeight(); - virtual TransformationMatrix localTransform() const { return m_localTransform; } + virtual const AffineTransform& localToParentTransform() const; + virtual AffineTransform localTransform() const { return m_localTransform; } - TransformationMatrix m_localTransform; + FloatRect m_viewport; + AffineTransform m_localTransform; + mutable AffineTransform m_localToParentTransform; }; -} // namespace WebCore +} -#endif // ENABLE(SVG) && ENABLE(SVG_FOREIGN_OBJECT) -#endif // RenderForeignObject_h +#endif +#endif |