Changeset 158197 in webkit


Ignore:
Timestamp:
Oct 29, 2013 10:17:22 AM (10 years ago)
Author:
akling@apple.com
Message:

SVG: applyStrokeStyleToContext should take a RenderElement&.
<https://webkit.org/b/123447>

..and a RenderStyle& too, for that matter.

Reviewed by Anders Carlsson.

  • rendering/svg/SVGRenderSupport.h:
  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::applyStrokeStyleToContext):

Have this take a RenderElement& and RenderStyle& instead of
raw pointers. Tweaked a silly-looking loop.

  • rendering/svg/RenderSVGShape.h:
  • rendering/svg/RenderSVGShape.cpp:

Moved BoundingRectStrokeStyleApplier helper class into the
cpp file since it wasn't being used anywhere else.

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::applyResource):

  • rendering/svg/RenderSVGResourceSolidColor.cpp:

(WebCore::RenderSVGResourceSolidColor::applyResource):

Remove ampersands.

Location:
trunk/Source/WebCore
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r158196 r158197  
     12013-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
    1322013-10-29  Antti Koivisto  <antti@apple.com>
    233
  • trunk/Source/WebCore/rendering/svg/RenderSVGResourceGradient.cpp

    r158180 r158197  
    199199        context->setAlpha(svgStyle->strokeOpacity());
    200200        context->setStrokeGradient(gradientData->gradient);
    201         SVGRenderSupport::applyStrokeStyleToContext(context, &style, &renderer);
     201        SVGRenderSupport::applyStrokeStyleToContext(context, style, renderer);
    202202    }
    203203
  • trunk/Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp

    r158180 r158197  
    168168        context->setAlpha(svgStyle->strokeOpacity());
    169169        context->setStrokePattern(patternData->pattern);
    170         SVGRenderSupport::applyStrokeStyleToContext(context, &style, &renderer);
     170        SVGRenderSupport::applyStrokeStyleToContext(context, style, renderer);
    171171    }
    172172
  • trunk/Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.cpp

    r158180 r158197  
    7070        context->setStrokeColor(m_color, colorSpace);
    7171
    72         SVGRenderSupport::applyStrokeStyleToContext(context, &style, &renderer);
     72        SVGRenderSupport::applyStrokeStyleToContext(context, style, renderer);
    7373
    7474        if (resourceMode & ApplyToTextMode)
  • trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp

    r158180 r158197  
    5353namespace WebCore {
    5454
     55class BoundingRectStrokeStyleApplier FINAL : public StrokeStyleApplier {
     56public:
     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
     67private:
     68    const RenderSVGShape& m_renderer;
     69};
     70
    5571RenderSVGShape::RenderSVGShape(SVGGraphicsElement& element, PassRef<RenderStyle> style)
    5672    : RenderSVGModelObject(element, std::move(style))
     
    102118{
    103119    ASSERT(m_path);
    104     BoundingRectStrokeStyleApplier applier(this, &style());
     120    BoundingRectStrokeStyleApplier applier(*this);
    105121
    106122    if (hasNonScalingStroke()) {
     
    383399    const SVGRenderStyle* svgStyle = style().svgStyle();
    384400    if (svgStyle->hasStroke()) {
    385         BoundingRectStrokeStyleApplier strokeStyle(this, &style());
     401        BoundingRectStrokeStyleApplier strokeStyle(*this);
    386402        if (hasNonScalingStroke()) {
    387403            AffineTransform nonScalingTransform = nonScalingStrokeTransform();
  • trunk/Source/WebCore/rendering/svg/RenderSVGShape.h

    r158163 r158197  
    3333#include "SVGGraphicsElement.h"
    3434#include "SVGMarkerData.h"
    35 #include "StrokeStyleApplier.h"
    3635#include <wtf/OwnPtr.h>
    3736#include <wtf/Vector.h>
     
    4544class RenderSVGResource;
    4645class 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) OVERRIDE
    59     {
    60         SVGRenderSupport::applyStrokeStyleToContext(context, m_style, m_object);
    61     }
    62 
    63 private:
    64     const RenderObject* m_object;
    65     RenderStyle* m_style;
    66 };
    6746
    6847class RenderSVGShape : public RenderSVGModelObject {
  • trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp

    r158163 r158197  
    418418}
    419419
    420 void SVGRenderSupport::applyStrokeStyleToContext(GraphicsContext* context, const RenderStyle* style, const RenderObject* object)
     420void SVGRenderSupport::applyStrokeStyleToContext(GraphicsContext* context, const RenderStyle& style, const RenderElement& renderer)
    421421{
    422422    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();
    429427    ASSERT(svgStyle);
    430428
    431     SVGLengthContext lengthContext(toSVGElement(object->node()));
     429    SVGLengthContext lengthContext(toSVGElement(renderer.element()));
    432430    context->setStrokeThickness(svgStyle->strokeWidth().value(lengthContext));
    433431    context->setLineCap(svgStyle->capStyle());
     
    441439    else {
    442440        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));
    446444
    447445        context->setLineDash(dashArray, svgStyle->strokeDashOffset().value(lengthContext));
  • trunk/Source/WebCore/rendering/svg/SVGRenderSupport.h

    r157940 r158197  
    7575
    7676    // Shared between SVG renderers and resources.
    77     static void applyStrokeStyleToContext(GraphicsContext*, const RenderStyle*, const RenderObject*);
     77    static void applyStrokeStyleToContext(GraphicsContext*, const RenderStyle&, const RenderElement&);
    7878
    7979    // Determines if any ancestor's transform has changed.
Note: See TracChangeset for help on using the changeset viewer.