Changeset 158197 in webkit
- Timestamp:
- Oct 29, 2013 10:17:22 AM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r158196 r158197 1 2013-10-29 Andreas Kling <akling@apple.com> 2 3 SVG: applyStrokeStyleToContext should take a RenderElement&. 4 <https://webkit.org/b/123447> 5 6 ..and a RenderStyle& too, for that matter. 7 8 Reviewed by Anders Carlsson. 9 10 * rendering/svg/SVGRenderSupport.h: 11 * rendering/svg/SVGRenderSupport.cpp: 12 (WebCore::SVGRenderSupport::applyStrokeStyleToContext): 13 14 Have this take a RenderElement& and RenderStyle& instead of 15 raw pointers. Tweaked a silly-looking loop. 16 17 * rendering/svg/RenderSVGShape.h: 18 * rendering/svg/RenderSVGShape.cpp: 19 20 Moved BoundingRectStrokeStyleApplier helper class into the 21 cpp file since it wasn't being used anywhere else. 22 23 * rendering/svg/RenderSVGResourceGradient.cpp: 24 (WebCore::RenderSVGResourceGradient::applyResource): 25 * rendering/svg/RenderSVGResourcePattern.cpp: 26 (WebCore::RenderSVGResourcePattern::applyResource): 27 * rendering/svg/RenderSVGResourceSolidColor.cpp: 28 (WebCore::RenderSVGResourceSolidColor::applyResource): 29 30 Remove ampersands. 31 1 32 2013-10-29 Antti Koivisto <antti@apple.com> 2 33 -
trunk/Source/WebCore/rendering/svg/RenderSVGResourceGradient.cpp
r158180 r158197 199 199 context->setAlpha(svgStyle->strokeOpacity()); 200 200 context->setStrokeGradient(gradientData->gradient); 201 SVGRenderSupport::applyStrokeStyleToContext(context, &style, &renderer);201 SVGRenderSupport::applyStrokeStyleToContext(context, style, renderer); 202 202 } 203 203 -
trunk/Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp
r158180 r158197 168 168 context->setAlpha(svgStyle->strokeOpacity()); 169 169 context->setStrokePattern(patternData->pattern); 170 SVGRenderSupport::applyStrokeStyleToContext(context, &style, &renderer);170 SVGRenderSupport::applyStrokeStyleToContext(context, style, renderer); 171 171 } 172 172 -
trunk/Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.cpp
r158180 r158197 70 70 context->setStrokeColor(m_color, colorSpace); 71 71 72 SVGRenderSupport::applyStrokeStyleToContext(context, &style, &renderer);72 SVGRenderSupport::applyStrokeStyleToContext(context, style, renderer); 73 73 74 74 if (resourceMode & ApplyToTextMode) -
trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp
r158180 r158197 53 53 namespace WebCore { 54 54 55 class BoundingRectStrokeStyleApplier FINAL : public StrokeStyleApplier { 56 public: 57 BoundingRectStrokeStyleApplier(const RenderSVGShape& renderer) 58 : m_renderer(renderer) 59 { 60 } 61 62 virtual void strokeStyle(GraphicsContext* context) OVERRIDE 63 { 64 SVGRenderSupport::applyStrokeStyleToContext(context, m_renderer.style(), m_renderer); 65 } 66 67 private: 68 const RenderSVGShape& m_renderer; 69 }; 70 55 71 RenderSVGShape::RenderSVGShape(SVGGraphicsElement& element, PassRef<RenderStyle> style) 56 72 : RenderSVGModelObject(element, std::move(style)) … … 102 118 { 103 119 ASSERT(m_path); 104 BoundingRectStrokeStyleApplier applier( this, &style());120 BoundingRectStrokeStyleApplier applier(*this); 105 121 106 122 if (hasNonScalingStroke()) { … … 383 399 const SVGRenderStyle* svgStyle = style().svgStyle(); 384 400 if (svgStyle->hasStroke()) { 385 BoundingRectStrokeStyleApplier strokeStyle( this, &style());401 BoundingRectStrokeStyleApplier strokeStyle(*this); 386 402 if (hasNonScalingStroke()) { 387 403 AffineTransform nonScalingTransform = nonScalingStrokeTransform(); -
trunk/Source/WebCore/rendering/svg/RenderSVGShape.h
r158163 r158197 33 33 #include "SVGGraphicsElement.h" 34 34 #include "SVGMarkerData.h" 35 #include "StrokeStyleApplier.h"36 35 #include <wtf/OwnPtr.h> 37 36 #include <wtf/Vector.h> … … 45 44 class RenderSVGResource; 46 45 class SVGGraphicsElement; 47 48 class BoundingRectStrokeStyleApplier : public StrokeStyleApplier {49 public:50 BoundingRectStrokeStyleApplier(const RenderObject* object, RenderStyle* style)51 : m_object(object)52 , m_style(style)53 {54 ASSERT(style);55 ASSERT(object);56 }57 58 virtual void strokeStyle(GraphicsContext* context) OVERRIDE59 {60 SVGRenderSupport::applyStrokeStyleToContext(context, m_style, m_object);61 }62 63 private:64 const RenderObject* m_object;65 RenderStyle* m_style;66 };67 46 68 47 class RenderSVGShape : public RenderSVGModelObject { -
trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp
r158163 r158197 418 418 } 419 419 420 void SVGRenderSupport::applyStrokeStyleToContext(GraphicsContext* context, const RenderStyle * style, const RenderObject* object)420 void SVGRenderSupport::applyStrokeStyleToContext(GraphicsContext* context, const RenderStyle& style, const RenderElement& renderer) 421 421 { 422 422 ASSERT(context); 423 ASSERT(style); 424 ASSERT(object); 425 ASSERT(object->node()); 426 ASSERT(object->node()->isSVGElement()); 427 428 const SVGRenderStyle* svgStyle = style->svgStyle(); 423 ASSERT(renderer.element()); 424 ASSERT(renderer.element()->isSVGElement()); 425 426 const SVGRenderStyle* svgStyle = style.svgStyle(); 429 427 ASSERT(svgStyle); 430 428 431 SVGLengthContext lengthContext(toSVGElement( object->node()));429 SVGLengthContext lengthContext(toSVGElement(renderer.element())); 432 430 context->setStrokeThickness(svgStyle->strokeWidth().value(lengthContext)); 433 431 context->setLineCap(svgStyle->capStyle()); … … 441 439 else { 442 440 DashArray dashArray; 443 const Vector<SVGLength>::const_iterator end = dashes.end();444 for ( Vector<SVGLength>::const_iterator it = dashes.begin(); it != end; ++it)445 dashArray. append((*it).value(lengthContext));441 dashArray.reserveInitialCapacity(dashes.size()); 442 for (unsigned i = 0, size = dashes.size(); i < size; ++i) 443 dashArray.uncheckedAppend(dashes[i].value(lengthContext)); 446 444 447 445 context->setLineDash(dashArray, svgStyle->strokeDashOffset().value(lengthContext)); -
trunk/Source/WebCore/rendering/svg/SVGRenderSupport.h
r157940 r158197 75 75 76 76 // Shared between SVG renderers and resources. 77 static void applyStrokeStyleToContext(GraphicsContext*, const RenderStyle *, const RenderObject*);77 static void applyStrokeStyleToContext(GraphicsContext*, const RenderStyle&, const RenderElement&); 78 78 79 79 // Determines if any ancestor's transform has changed.
Note: See TracChangeset
for help on using the changeset viewer.