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

Side by Side Diff: Source/core/rendering/svg/RenderSVGPath.cpp

Issue 908243002: Move rendering/svg/RenderSVGResource* to layout/svg. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 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) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2004, 2005, 2008 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005, 2008 Rob Buis <buis@kde.org>
4 * Copyright (C) 2005, 2007 Eric Seidel <eric@webkit.org> 4 * Copyright (C) 2005, 2007 Eric Seidel <eric@webkit.org>
5 * Copyright (C) 2009 Google, Inc. 5 * Copyright (C) 2009 Google, Inc.
6 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> 6 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
7 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 7 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
8 * Copyright (C) 2009 Jeff Schiller <codedread@gmail.com> 8 * Copyright (C) 2009 Jeff Schiller <codedread@gmail.com>
9 * Copyright (C) 2011 Renata Hodovan <reni@webkit.org> 9 * Copyright (C) 2011 Renata Hodovan <reni@webkit.org>
10 * Copyright (C) 2011 University of Szeged 10 * Copyright (C) 2011 University of Szeged
(...skipping 11 matching lines...) Expand all
22 * You should have received a copy of the GNU Library General Public License 22 * You should have received a copy of the GNU Library General Public License
23 * along with this library; see the file COPYING.LIB. If not, write to 23 * along with this library; see the file COPYING.LIB. If not, write to
24 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 24 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
25 * Boston, MA 02110-1301, USA. 25 * Boston, MA 02110-1301, USA.
26 */ 26 */
27 27
28 #include "config.h" 28 #include "config.h"
29 29
30 #include "core/rendering/svg/RenderSVGPath.h" 30 #include "core/rendering/svg/RenderSVGPath.h"
31 31
32 #include "core/layout/svg/LayoutSVGResourceMarker.h"
32 #include "core/layout/svg/SVGResources.h" 33 #include "core/layout/svg/SVGResources.h"
33 #include "core/layout/svg/SVGResourcesCache.h" 34 #include "core/layout/svg/SVGResourcesCache.h"
34 #include "core/layout/svg/SVGSubpathData.h" 35 #include "core/layout/svg/SVGSubpathData.h"
35 #include "core/rendering/svg/RenderSVGResourceMarker.h"
36 #include "core/svg/SVGGraphicsElement.h" 36 #include "core/svg/SVGGraphicsElement.h"
37 37
38 namespace blink { 38 namespace blink {
39 39
40 RenderSVGPath::RenderSVGPath(SVGGraphicsElement* node) 40 RenderSVGPath::RenderSVGPath(SVGGraphicsElement* node)
41 : RenderSVGShape(node) 41 : RenderSVGShape(node)
42 { 42 {
43 } 43 }
44 44
45 RenderSVGPath::~RenderSVGPath() 45 RenderSVGPath::~RenderSVGPath()
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 subpathData.pathIsDone(); 117 subpathData.pathIsDone();
118 } 118 }
119 119
120 FloatRect RenderSVGPath::markerRect(float strokeWidth) const 120 FloatRect RenderSVGPath::markerRect(float strokeWidth) const
121 { 121 {
122 ASSERT(!m_markerPositions.isEmpty()); 122 ASSERT(!m_markerPositions.isEmpty());
123 123
124 SVGResources* resources = SVGResourcesCache::cachedResourcesForLayoutObject( this); 124 SVGResources* resources = SVGResourcesCache::cachedResourcesForLayoutObject( this);
125 ASSERT(resources); 125 ASSERT(resources);
126 126
127 RenderSVGResourceMarker* markerStart = resources->markerStart(); 127 LayoutSVGResourceMarker* markerStart = resources->markerStart();
128 RenderSVGResourceMarker* markerMid = resources->markerMid(); 128 LayoutSVGResourceMarker* markerMid = resources->markerMid();
129 RenderSVGResourceMarker* markerEnd = resources->markerEnd(); 129 LayoutSVGResourceMarker* markerEnd = resources->markerEnd();
130 ASSERT(markerStart || markerMid || markerEnd); 130 ASSERT(markerStart || markerMid || markerEnd);
131 131
132 FloatRect boundaries; 132 FloatRect boundaries;
133 unsigned size = m_markerPositions.size(); 133 unsigned size = m_markerPositions.size();
134 for (unsigned i = 0; i < size; ++i) { 134 for (unsigned i = 0; i < size; ++i) {
135 if (RenderSVGResourceMarker* marker = SVGMarkerData::markerForType(m_mar kerPositions[i].type, markerStart, markerMid, markerEnd)) 135 if (LayoutSVGResourceMarker* marker = SVGMarkerData::markerForType(m_mar kerPositions[i].type, markerStart, markerMid, markerEnd))
136 boundaries.unite(marker->markerBoundaries(marker->markerTransformati on(m_markerPositions[i].origin, m_markerPositions[i].angle, strokeWidth))); 136 boundaries.unite(marker->markerBoundaries(marker->markerTransformati on(m_markerPositions[i].origin, m_markerPositions[i].angle, strokeWidth)));
137 } 137 }
138 return boundaries; 138 return boundaries;
139 } 139 }
140 140
141 bool RenderSVGPath::shouldGenerateMarkerPositions() const 141 bool RenderSVGPath::shouldGenerateMarkerPositions() const
142 { 142 {
143 if (!style()->svgStyle().hasMarkers()) 143 if (!style()->svgStyle().hasMarkers())
144 return false; 144 return false;
145 145
(...skipping 10 matching lines...) Expand all
156 void RenderSVGPath::processMarkerPositions() 156 void RenderSVGPath::processMarkerPositions()
157 { 157 {
158 m_markerPositions.clear(); 158 m_markerPositions.clear();
159 159
160 if (!shouldGenerateMarkerPositions()) 160 if (!shouldGenerateMarkerPositions())
161 return; 161 return;
162 162
163 SVGResources* resources = SVGResourcesCache::cachedResourcesForLayoutObject( this); 163 SVGResources* resources = SVGResourcesCache::cachedResourcesForLayoutObject( this);
164 ASSERT(resources); 164 ASSERT(resources);
165 165
166 RenderSVGResourceMarker* markerStart = resources->markerStart(); 166 LayoutSVGResourceMarker* markerStart = resources->markerStart();
167 167
168 SVGMarkerData markerData(m_markerPositions, markerStart ? markerStart->orien tType() == SVGMarkerOrientAutoStartReverse : false); 168 SVGMarkerData markerData(m_markerPositions, markerStart ? markerStart->orien tType() == SVGMarkerOrientAutoStartReverse : false);
169 path().apply(&markerData, SVGMarkerData::updateFromPathElement); 169 path().apply(&markerData, SVGMarkerData::updateFromPathElement);
170 markerData.pathIsDone(); 170 markerData.pathIsDone();
171 } 171 }
172 172
173 } 173 }
OLDNEW
« no previous file with comments | « Source/core/rendering/svg/RenderSVGImage.cpp ('k') | Source/core/rendering/svg/RenderSVGResourceClipper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698