diff options
Diffstat (limited to 'WebCore/rendering/RenderSVGImage.h')
-rw-r--r-- | WebCore/rendering/RenderSVGImage.h | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/WebCore/rendering/RenderSVGImage.h b/WebCore/rendering/RenderSVGImage.h index 38e3a13..da94568 100644 --- a/WebCore/rendering/RenderSVGImage.h +++ b/WebCore/rendering/RenderSVGImage.h @@ -3,6 +3,7 @@ Copyright (C) 2006, 2009 Apple Inc. All rights reserved. Copyright (C) 2007 Rob Buis <buis@kde.org> Copyright (C) 2009 Google, Inc. + Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public @@ -26,20 +27,25 @@ #if ENABLE(SVG) #include "AffineTransform.h" #include "FloatRect.h" -#include "RenderImage.h" +#include "RenderSVGModelObject.h" #include "SVGPreserveAspectRatio.h" #include "SVGRenderSupport.h" namespace WebCore { +class RenderImageResource; class SVGImageElement; -class RenderSVGImage : public RenderImage { +class RenderSVGImage : public RenderSVGModelObject { public: RenderSVGImage(SVGImageElement*); + virtual ~RenderSVGImage(); virtual void setNeedsTransformUpdate() { m_needsTransformUpdate = true; } + RenderImageResource* imageResource() { return m_imageResource.get(); } + const RenderImageResource* imageResource() const { return m_imageResource.get(); } + private: virtual const char* renderName() const { return "RenderSVGImage"; } virtual bool isSVGImage() const { return true; } @@ -50,28 +56,16 @@ private: virtual FloatRect strokeBoundingBox() const { return m_localBounds; } virtual FloatRect repaintRectInLocalCoordinates() const; - virtual IntRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer); - virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect&, bool fixed = false); - - virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState&) const; - - virtual void absoluteRects(Vector<IntRect>&, int tx, int ty); - virtual void absoluteQuads(Vector<FloatQuad>&); virtual void addFocusRingRects(Vector<IntRect>&, int tx, int ty); virtual void imageChanged(WrappedImagePtr, const IntRect* = 0); - + virtual void layout(); virtual void paint(PaintInfo&, int parentX, int parentY); - virtual void destroy(); - virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); - virtual void updateFromElement(); - virtual bool requiresLayer() const { return false; } 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 AffineTransform localTransform() const { return m_localTransform; } @@ -79,6 +73,7 @@ private: AffineTransform m_localTransform; FloatRect m_localBounds; mutable FloatRect m_cachedLocalRepaintRect; + OwnPtr<RenderImageResource> m_imageResource; }; inline RenderSVGImage* toRenderSVGImage(RenderObject* object) |