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 29 matching lines...) Expand all Loading... |
40 #include "core/svg/SVGPathElement.h" | 40 #include "core/svg/SVGPathElement.h" |
41 #include "platform/geometry/FloatPoint.h" | 41 #include "platform/geometry/FloatPoint.h" |
42 #include "platform/graphics/StrokeData.h" | 42 #include "platform/graphics/StrokeData.h" |
43 #include "wtf/MathExtras.h" | 43 #include "wtf/MathExtras.h" |
44 #include "wtf/PtrUtil.h" | 44 #include "wtf/PtrUtil.h" |
45 | 45 |
46 namespace blink { | 46 namespace blink { |
47 | 47 |
48 LayoutSVGShape::LayoutSVGShape(SVGGeometryElement* node) | 48 LayoutSVGShape::LayoutSVGShape(SVGGeometryElement* node) |
49 : LayoutSVGModelObject(node), | 49 : LayoutSVGModelObject(node), |
50 m_needsBoundariesUpdate( | 50 // Default is false, the cached rects are empty from the beginning. |
51 false) // Default is false, the cached rects are empty from the begin
ning. | 51 m_needsBoundariesUpdate(false), |
52 , | 52 // Default is true, so we grab a Path object once from SVGGeometryElement. |
53 m_needsShapeUpdate( | 53 m_needsShapeUpdate(true), |
54 true) // Default is true, so we grab a Path object once from SVGGeome
tryElement. | 54 // Default is true, so we grab a AffineTransform object once from |
55 , | 55 // SVGGeometryElement. |
56 m_needsTransformUpdate( | 56 m_needsTransformUpdate(true) {} |
57 true) // Default is true, so we grab a AffineTransform object once fr
om SVGGeometryElement. | |
58 {} | |
59 | 57 |
60 LayoutSVGShape::~LayoutSVGShape() {} | 58 LayoutSVGShape::~LayoutSVGShape() {} |
61 | 59 |
62 void LayoutSVGShape::createPath() { | 60 void LayoutSVGShape::createPath() { |
63 if (!m_path) | 61 if (!m_path) |
64 m_path = wrapUnique(new Path()); | 62 m_path = wrapUnique(new Path()); |
65 *m_path = toSVGGeometryElement(element())->asPath(); | 63 *m_path = toSVGGeometryElement(element())->asPath(); |
66 if (m_rareData.get()) | 64 if (m_rareData.get()) |
67 m_rareData->m_cachedNonScalingStrokePath.clear(); | 65 m_rareData->m_cachedNonScalingStrokePath.clear(); |
68 } | 66 } |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 return lengthContext.valueForLength(style()->svgStyle().strokeWidth()); | 314 return lengthContext.valueForLength(style()->svgStyle().strokeWidth()); |
317 } | 315 } |
318 | 316 |
319 LayoutSVGShapeRareData& LayoutSVGShape::ensureRareData() const { | 317 LayoutSVGShapeRareData& LayoutSVGShape::ensureRareData() const { |
320 if (!m_rareData) | 318 if (!m_rareData) |
321 m_rareData = wrapUnique(new LayoutSVGShapeRareData()); | 319 m_rareData = wrapUnique(new LayoutSVGShapeRareData()); |
322 return *m_rareData.get(); | 320 return *m_rareData.get(); |
323 } | 321 } |
324 | 322 |
325 } // namespace blink | 323 } // namespace blink |
OLD | NEW |