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