Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(315)

Side by Side Diff: Source/core/rendering/svg/SVGRenderSupport.h

Issue 380583003: Revert of Revert of Divorce PaintInvalidationState from LayoutState (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /** 1 /**
2 * Copyright (C) 2007 Rob Buis <buis@kde.org> 2 * Copyright (C) 2007 Rob Buis <buis@kde.org>
3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org>
5 * Copyright (C) 2009 Google, Inc. All rights reserved. 5 * Copyright (C) 2009 Google, Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 12 matching lines...) Expand all
23 23
24 #ifndef SVGRenderSupport_h 24 #ifndef SVGRenderSupport_h
25 #define SVGRenderSupport_h 25 #define SVGRenderSupport_h
26 26
27 namespace WebCore { 27 namespace WebCore {
28 28
29 class AffineTransform; 29 class AffineTransform;
30 class FloatPoint; 30 class FloatPoint;
31 class FloatRect; 31 class FloatRect;
32 class GraphicsContext; 32 class GraphicsContext;
33 class PaintInvalidationState;
33 class LayoutRect; 34 class LayoutRect;
34 struct PaintInfo; 35 struct PaintInfo;
35 class RenderGeometryMap; 36 class RenderGeometryMap;
36 class RenderLayerModelObject; 37 class RenderLayerModelObject;
37 class RenderObject; 38 class RenderObject;
38 class RenderStyle; 39 class RenderStyle;
39 class RenderSVGRoot; 40 class RenderSVGRoot;
40 class StrokeData; 41 class StrokeData;
41 class TransformState; 42 class TransformState;
42 43
(...skipping 17 matching lines...) Expand all
60 // Determines whether the passed point lies in a clipping area 61 // Determines whether the passed point lies in a clipping area
61 static bool pointInClippingArea(RenderObject*, const FloatPoint&); 62 static bool pointInClippingArea(RenderObject*, const FloatPoint&);
62 63
63 static void computeContainerBoundingBoxes(const RenderObject* container, Flo atRect& objectBoundingBox, bool& objectBoundingBoxValid, FloatRect& strokeBoundi ngBox, FloatRect& repaintBoundingBox); 64 static void computeContainerBoundingBoxes(const RenderObject* container, Flo atRect& objectBoundingBox, bool& objectBoundingBoxValid, FloatRect& strokeBoundi ngBox, FloatRect& repaintBoundingBox);
64 65
65 static bool paintInfoIntersectsRepaintRect(const FloatRect& localRepaintRect , const AffineTransform& localTransform, const PaintInfo&); 66 static bool paintInfoIntersectsRepaintRect(const FloatRect& localRepaintRect , const AffineTransform& localTransform, const PaintInfo&);
66 67
67 static bool parentTransformDidChange(RenderObject*); 68 static bool parentTransformDidChange(RenderObject*);
68 69
69 // Important functions used by nearly all SVG renderers centralizing coordin ate transformations / repaint rect calculations 70 // Important functions used by nearly all SVG renderers centralizing coordin ate transformations / repaint rect calculations
70 static LayoutRect clippedOverflowRectForRepaint(const RenderObject*, const R enderLayerModelObject* repaintContainer); 71 static LayoutRect clippedOverflowRectForRepaint(const RenderObject*, const R enderLayerModelObject* repaintContainer, const PaintInvalidationState*);
71 static void computeFloatRectForRepaint(const RenderObject*, const RenderLaye rModelObject* repaintContainer, FloatRect&, bool fixed); 72 static void computeFloatRectForRepaint(const RenderObject*, const RenderLaye rModelObject* repaintContainer, FloatRect&, bool fixed, const PaintInvalidationS tate*);
72 static void mapLocalToContainer(const RenderObject*, const RenderLayerModelO bject* repaintContainer, TransformState&, bool* wasFixed = 0); 73 static void mapLocalToContainer(const RenderObject*, const RenderLayerModelO bject* repaintContainer, TransformState&, bool* wasFixed = 0, const PaintInvalid ationState* = 0);
73 static const RenderObject* pushMappingToContainer(const RenderObject*, const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&); 74 static const RenderObject* pushMappingToContainer(const RenderObject*, const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&);
74 75
75 // Shared between SVG renderers and resources. 76 // Shared between SVG renderers and resources.
76 static void applyStrokeStyleToContext(GraphicsContext*, const RenderStyle*, const RenderObject*); 77 static void applyStrokeStyleToContext(GraphicsContext*, const RenderStyle*, const RenderObject*);
77 static void applyStrokeStyleToStrokeData(StrokeData*, const RenderStyle*, co nst RenderObject*); 78 static void applyStrokeStyleToStrokeData(StrokeData*, const RenderStyle*, co nst RenderObject*);
78 79
79 // Determines if any ancestor's transform has changed. 80 // Determines if any ancestor's transform has changed.
80 static bool transformToRootChanged(RenderObject*); 81 static bool transformToRootChanged(RenderObject*);
81 82
82 // FIXME: These methods do not belong here. 83 // FIXME: These methods do not belong here.
83 static const RenderSVGRoot* findTreeRootObject(const RenderObject*); 84 static const RenderSVGRoot* findTreeRootObject(const RenderObject*);
84 85
85 // Helper method for determining if a RenderObject marked as text (isText()= = true) 86 // Helper method for determining if a RenderObject marked as text (isText()= = true)
86 // can/will be rendered as part of a <text>. 87 // can/will be rendered as part of a <text>.
87 static bool isRenderableTextNode(const RenderObject*); 88 static bool isRenderableTextNode(const RenderObject*);
88 89
89 private: 90 private:
90 static void updateObjectBoundingBox(FloatRect& objectBoundingBox, bool& obje ctBoundingBoxValid, RenderObject* other, FloatRect otherBoundingBox); 91 static void updateObjectBoundingBox(FloatRect& objectBoundingBox, bool& obje ctBoundingBoxValid, RenderObject* other, FloatRect otherBoundingBox);
91 static void invalidateResourcesOfChildren(RenderObject* start); 92 static void invalidateResourcesOfChildren(RenderObject* start);
92 static bool layoutSizeOfNearestViewportChanged(const RenderObject* start); 93 static bool layoutSizeOfNearestViewportChanged(const RenderObject* start);
93 }; 94 };
94 95
95 } // namespace WebCore 96 } // namespace WebCore
96 97
97 #endif // SVGRenderSupport_h 98 #endif // SVGRenderSupport_h
OLDNEW
« no previous file with comments | « Source/core/rendering/svg/RenderSVGText.cpp ('k') | Source/core/rendering/svg/SVGRenderSupport.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698