summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderSVGRoot.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/RenderSVGRoot.h')
-rw-r--r--WebCore/rendering/RenderSVGRoot.h45
1 files changed, 26 insertions, 19 deletions
diff --git a/WebCore/rendering/RenderSVGRoot.h b/WebCore/rendering/RenderSVGRoot.h
index 3d0a141..50866d2 100644
--- a/WebCore/rendering/RenderSVGRoot.h
+++ b/WebCore/rendering/RenderSVGRoot.h
@@ -1,8 +1,7 @@
/*
Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org>
2004, 2005, 2007 Rob Buis <buis@kde.org>
-
- This file is part of the KDE project
+ Copyright (C) 2009 Google, Inc. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -26,13 +25,14 @@
#if ENABLE(SVG)
#include "RenderBox.h"
#include "FloatRect.h"
+#include "SVGRenderSupport.h"
namespace WebCore {
class SVGStyledElement;
class TransformationMatrix;
-class RenderSVGRoot : public RenderBox {
+class RenderSVGRoot : public RenderBox, SVGRenderBase {
public:
RenderSVGRoot(SVGStyledElement*);
~RenderSVGRoot();
@@ -48,34 +48,41 @@ public:
virtual int lineHeight(bool b, bool isRootLineBox = false) const;
virtual int baselinePosition(bool b, bool isRootLineBox = false) const;
virtual void calcPrefWidths();
-
+
virtual void layout();
virtual void paint(PaintInfo&, int parentX, int parentY);
-
- virtual IntRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer);
- virtual void absoluteRects(Vector<IntRect>& rects, int tx, int ty);
- virtual void absoluteQuads(Vector<FloatQuad>&, bool topLevel = true);
- virtual void addFocusRingRects(GraphicsContext*, int tx, int ty);
- virtual TransformationMatrix absoluteTransform() const;
+ virtual TransformationMatrix localToParentTransform() const;
bool fillContains(const FloatPoint&) const;
bool strokeContains(const FloatPoint&) const;
- FloatRect relativeBBox(bool includeStroke = true) const;
-
+
+ virtual FloatRect objectBoundingBox() const;
+ virtual FloatRect repaintRectInLocalCoordinates() const;
+
+ // FIXME: Both of these overrides should be removed.
virtual TransformationMatrix localTransform() const;
-
- FloatRect viewport() const;
+ virtual TransformationMatrix absoluteTransform() const;
virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction);
-
+
+ virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect& repaintRect, bool fixed);
+
+ virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState&) const;
+
private:
- void calcViewport();
- void applyContentTransforms(PaintInfo&, int parentX, int parentY);
+ void calcViewport();
+ const FloatSize& viewportSize() const;
+
+ bool selfWillPaint() const;
+
+ IntSize parentOriginToBorderBox() const;
+ IntSize borderOriginToContentBox() const;
+ TransformationMatrix localToRepaintContainerTransform(const IntPoint& parentOriginInContainer) const;
+ TransformationMatrix localToBorderBoxTransform() const;
RenderObjectChildList m_children;
- FloatRect m_viewport;
- IntRect m_absoluteBounds;
+ FloatSize m_viewportSize;
};
} // namespace WebCore