OLD | NEW |
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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 { | 44 { |
45 } | 45 } |
46 | 46 |
47 | 47 |
48 void LayoutSVGPath::updateShapeFromElement() | 48 void LayoutSVGPath::updateShapeFromElement() |
49 { | 49 { |
50 LayoutSVGShape::updateShapeFromElement(); | 50 LayoutSVGShape::updateShapeFromElement(); |
51 processMarkerPositions(); | 51 processMarkerPositions(); |
52 | 52 |
53 m_strokeBoundingBox = calculateUpdatedStrokeBoundingBox(); | 53 m_strokeBoundingBox = calculateUpdatedStrokeBoundingBox(); |
54 if (element()) | |
55 element()->setNeedsResizeObserverUpdate(); | |
56 } | 54 } |
57 | 55 |
58 FloatRect LayoutSVGPath::hitTestStrokeBoundingBox() const | 56 FloatRect LayoutSVGPath::hitTestStrokeBoundingBox() const |
59 { | 57 { |
60 const SVGComputedStyle& svgStyle = style()->svgStyle(); | 58 const SVGComputedStyle& svgStyle = style()->svgStyle(); |
61 if (svgStyle.hasStroke()) | 59 if (svgStyle.hasStroke()) |
62 return m_strokeBoundingBox; | 60 return m_strokeBoundingBox; |
63 | 61 |
64 // Implementation of http://dev.w3.org/fxtf/css-masking-1/#compute-stroke-bo
unding-box | 62 // Implementation of http://dev.w3.org/fxtf/css-masking-1/#compute-stroke-bo
unding-box |
65 // except that we ignore whether the stroke is none. | 63 // except that we ignore whether the stroke is none. |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 ASSERT(resources); | 139 ASSERT(resources); |
142 | 140 |
143 LayoutSVGResourceMarker* markerStart = resources->markerStart(); | 141 LayoutSVGResourceMarker* markerStart = resources->markerStart(); |
144 | 142 |
145 SVGMarkerData markerData(m_markerPositions, markerStart ? markerStart->orien
tType() == SVGMarkerOrientAutoStartReverse : false); | 143 SVGMarkerData markerData(m_markerPositions, markerStart ? markerStart->orien
tType() == SVGMarkerOrientAutoStartReverse : false); |
146 path().apply(&markerData, SVGMarkerData::updateFromPathElement); | 144 path().apply(&markerData, SVGMarkerData::updateFromPathElement); |
147 markerData.pathIsDone(); | 145 markerData.pathIsDone(); |
148 } | 146 } |
149 | 147 |
150 } // namespace blink | 148 } // namespace blink |
OLD | NEW |