Chromium Code Reviews| 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 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 116 | 116 |
| 117 if (m_needsShapeUpdate || m_needsBoundariesUpdate) { | 117 if (m_needsShapeUpdate || m_needsBoundariesUpdate) { |
| 118 updateShapeFromElement(); | 118 updateShapeFromElement(); |
| 119 m_needsShapeUpdate = false; | 119 m_needsShapeUpdate = false; |
| 120 updatePaintInvalidationBoundingBox(); | 120 updatePaintInvalidationBoundingBox(); |
| 121 m_needsBoundariesUpdate = false; | 121 m_needsBoundariesUpdate = false; |
| 122 updateCachedBoundariesInParents = true; | 122 updateCachedBoundariesInParents = true; |
| 123 } | 123 } |
| 124 | 124 |
| 125 if (m_needsTransformUpdate) { | 125 if (m_needsTransformUpdate) { |
| 126 m_localTransform = toSVGGraphicsElement(element())->calculateAnimatedLo calTransform(); | 126 SVGGraphicsElement* graphicsElement = toSVGGraphicsElement(element()); |
| 127 if (graphicsElement->hasAnimatedLocalTransform()) { | |
|
pdr.
2014/11/07 04:21:33
I'm not a huge fan of how this looks... do either
f(malita)
2014/11/07 18:23:12
Not necessarily better, but if you want to optimiz
fs
2014/11/10 11:36:43
No greater suggestions here either. You could get
| |
| 128 if (m_localTransform) | |
| 129 *m_localTransform = graphicsElement->calculateAnimatedLocalTrans form(); | |
| 130 else | |
| 131 m_localTransform = adoptPtr(new AffineTransform(graphicsElement- >calculateAnimatedLocalTransform())); | |
| 132 } else { | |
| 133 m_localTransform = 0; | |
| 134 } | |
| 135 | |
| 127 m_needsTransformUpdate = false; | 136 m_needsTransformUpdate = false; |
| 128 updateCachedBoundariesInParents = true; | 137 updateCachedBoundariesInParents = true; |
| 129 } | 138 } |
| 130 | 139 |
| 131 // Invalidate all resources of this client if our layout changed. | 140 // Invalidate all resources of this client if our layout changed. |
| 132 if (everHadLayout() && selfNeedsLayout()) | 141 if (everHadLayout() && selfNeedsLayout()) |
| 133 SVGResourcesCache::clientLayoutChanged(this); | 142 SVGResourcesCache::clientLayoutChanged(this); |
| 134 | 143 |
| 135 // If our bounds changed, notify the parents. | 144 // If our bounds changed, notify the parents. |
| 136 if (updateCachedBoundariesInParents) | 145 if (updateCachedBoundariesInParents) |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 168 rects.append(rect); | 177 rects.append(rect); |
| 169 } | 178 } |
| 170 | 179 |
| 171 bool RenderSVGShape::nodeAtFloatPoint(const HitTestRequest& request, HitTestResu lt& result, const FloatPoint& pointInParent, HitTestAction hitTestAction) | 180 bool RenderSVGShape::nodeAtFloatPoint(const HitTestRequest& request, HitTestResu lt& result, const FloatPoint& pointInParent, HitTestAction hitTestAction) |
| 172 { | 181 { |
| 173 // We only draw in the foreground phase, so we only hit-test then. | 182 // We only draw in the foreground phase, so we only hit-test then. |
| 174 if (hitTestAction != HitTestForeground) | 183 if (hitTestAction != HitTestForeground) |
| 175 return false; | 184 return false; |
| 176 | 185 |
| 177 FloatPoint localPoint; | 186 FloatPoint localPoint; |
| 178 if (!SVGRenderSupport::transformToUserSpaceAndCheckClipping(this, m_localTra nsform, pointInParent, localPoint)) | 187 if (!SVGRenderSupport::transformToUserSpaceAndCheckClipping(this, localToPar entTransform(), pointInParent, localPoint)) |
| 179 return false; | 188 return false; |
| 180 | 189 |
| 181 PointerEventsHitRules hitRules(PointerEventsHitRules::SVG_GEOMETRY_HITTESTIN G, request, style()->pointerEvents()); | 190 PointerEventsHitRules hitRules(PointerEventsHitRules::SVG_GEOMETRY_HITTESTIN G, request, style()->pointerEvents()); |
| 182 if (nodeAtFloatPointInternal(request, localPoint, hitRules)) { | 191 if (nodeAtFloatPointInternal(request, localPoint, hitRules)) { |
| 183 updateHitTestResult(result, roundedLayoutPoint(localPoint)); | 192 updateHitTestResult(result, roundedLayoutPoint(localPoint)); |
| 184 return true; | 193 return true; |
| 185 } | 194 } |
| 186 | 195 |
| 187 return false; | 196 return false; |
| 188 } | 197 } |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 249 bool RenderSVGShape::hasSmoothStroke() const | 258 bool RenderSVGShape::hasSmoothStroke() const |
| 250 { | 259 { |
| 251 const SVGRenderStyle& svgStyle = style()->svgStyle(); | 260 const SVGRenderStyle& svgStyle = style()->svgStyle(); |
| 252 return svgStyle.strokeDashArray()->isEmpty() | 261 return svgStyle.strokeDashArray()->isEmpty() |
| 253 && svgStyle.strokeMiterLimit() == SVGRenderStyle::initialStrokeMiterLimi t() | 262 && svgStyle.strokeMiterLimit() == SVGRenderStyle::initialStrokeMiterLimi t() |
| 254 && svgStyle.joinStyle() == SVGRenderStyle::initialJoinStyle() | 263 && svgStyle.joinStyle() == SVGRenderStyle::initialJoinStyle() |
| 255 && svgStyle.capStyle() == SVGRenderStyle::initialCapStyle(); | 264 && svgStyle.capStyle() == SVGRenderStyle::initialCapStyle(); |
| 256 } | 265 } |
| 257 | 266 |
| 258 } | 267 } |
| OLD | NEW |