diff options
author | Feng Qian <fqian@google.com> | 2009-06-17 12:12:20 -0700 |
---|---|---|
committer | Feng Qian <fqian@google.com> | 2009-06-17 12:12:20 -0700 |
commit | 5f1ab04193ad0130ca8204aadaceae083aca9881 (patch) | |
tree | 5a92cd389e2cfe7fb67197ce14b38469462379f8 /WebCore/rendering/RenderSVGRoot.h | |
parent | 194315e5a908cc8ed67d597010544803eef1ac59 (diff) | |
download | external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.zip external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.tar.gz external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.tar.bz2 |
Get WebKit r44544.
Diffstat (limited to 'WebCore/rendering/RenderSVGRoot.h')
-rw-r--r-- | WebCore/rendering/RenderSVGRoot.h | 45 |
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 |