| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. |  | 
| 2 // Use of this source code is governed by a BSD-style license that can be |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 #include "config.h" |  | 
| 6 #include "core/paint/SVGMarkerPainter.h" |  | 
| 7 |  | 
| 8 #include "core/paint/SVGContainerPainter.h" |  | 
| 9 #include "core/rendering/PaintInfo.h" |  | 
| 10 #include "core/rendering/svg/RenderSVGResourceMarker.h" |  | 
| 11 #include "core/rendering/svg/SVGMarkerData.h" |  | 
| 12 #include "core/rendering/svg/SVGRenderSupport.h" |  | 
| 13 #include "platform/graphics/GraphicsContextStateSaver.h" |  | 
| 14 |  | 
| 15 namespace blink { |  | 
| 16 |  | 
| 17 void SVGMarkerPainter::paint(PaintInfo& paintInfo, const MarkerPosition& positio
    n, float strokeWidth) |  | 
| 18 { |  | 
| 19     // An empty viewBox disables rendering. |  | 
| 20     SVGMarkerElement* marker = toSVGMarkerElement(m_renderSVGMarker.element()); |  | 
| 21     ASSERT(marker); |  | 
| 22     if (marker->hasAttribute(SVGNames::viewBoxAttr) && marker->viewBox()->curren
    tValue()->isValid() && marker->viewBox()->currentValue()->value().isEmpty()) |  | 
| 23         return; |  | 
| 24 |  | 
| 25     PaintInfo info(paintInfo); |  | 
| 26     GraphicsContextStateSaver stateSaver(*info.context, false); |  | 
| 27     info.applyTransform(m_renderSVGMarker.markerTransformation(position.origin, 
    position.angle, strokeWidth), &stateSaver); |  | 
| 28 |  | 
| 29     if (SVGRenderSupport::isOverflowHidden(&m_renderSVGMarker)) { |  | 
| 30         stateSaver.saveIfNeeded(); |  | 
| 31         info.context->clip(m_renderSVGMarker.viewport()); |  | 
| 32     } |  | 
| 33 |  | 
| 34     SVGContainerPainter(m_renderSVGMarker).paint(info); |  | 
| 35 } |  | 
| 36 |  | 
| 37 } // namespace blink |  | 
| OLD | NEW | 
|---|