| 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 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 | 354 |
| 355 RenderSVGResourceMarker* markerStart = resources->markerStart(); | 355 RenderSVGResourceMarker* markerStart = resources->markerStart(); |
| 356 RenderSVGResourceMarker* markerMid = resources->markerMid(); | 356 RenderSVGResourceMarker* markerMid = resources->markerMid(); |
| 357 RenderSVGResourceMarker* markerEnd = resources->markerEnd(); | 357 RenderSVGResourceMarker* markerEnd = resources->markerEnd(); |
| 358 ASSERT(markerStart || markerMid || markerEnd); | 358 ASSERT(markerStart || markerMid || markerEnd); |
| 359 | 359 |
| 360 FloatRect boundaries; | 360 FloatRect boundaries; |
| 361 unsigned size = m_markerPositions.size(); | 361 unsigned size = m_markerPositions.size(); |
| 362 for (unsigned i = 0; i < size; ++i) { | 362 for (unsigned i = 0; i < size; ++i) { |
| 363 if (RenderSVGResourceMarker* marker = markerForType(m_markerPositions[i]
.type, markerStart, markerMid, markerEnd)) | 363 if (RenderSVGResourceMarker* marker = markerForType(m_markerPositions[i]
.type, markerStart, markerMid, markerEnd)) |
| 364 boundaries.unite(marker->markerBoundaries(marker->markerTransformati
on(m_markerPositions[i].origin, m_markerPositions[i].angle, strokeWidth))); | 364 boundaries.unite(marker->markerBoundaries(marker->markerTransformati
on(m_markerPositions[i].origin, m_markerPositions[i].angle, strokeWidth, m_marke
rPositions[i].type == StartMarker))); |
| 365 } | 365 } |
| 366 return boundaries; | 366 return boundaries; |
| 367 } | 367 } |
| 368 | 368 |
| 369 FloatRect RenderSVGShape::calculateObjectBoundingBox() const | 369 FloatRect RenderSVGShape::calculateObjectBoundingBox() const |
| 370 { | 370 { |
| 371 return path().boundingRect(); | 371 return path().boundingRect(); |
| 372 } | 372 } |
| 373 | 373 |
| 374 FloatRect RenderSVGShape::calculateStrokeBoundingBox() const | 374 FloatRect RenderSVGShape::calculateStrokeBoundingBox() const |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 432 RenderSVGResourceMarker* markerStart = resources->markerStart(); | 432 RenderSVGResourceMarker* markerStart = resources->markerStart(); |
| 433 RenderSVGResourceMarker* markerMid = resources->markerMid(); | 433 RenderSVGResourceMarker* markerMid = resources->markerMid(); |
| 434 RenderSVGResourceMarker* markerEnd = resources->markerEnd(); | 434 RenderSVGResourceMarker* markerEnd = resources->markerEnd(); |
| 435 if (!markerStart && !markerMid && !markerEnd) | 435 if (!markerStart && !markerMid && !markerEnd) |
| 436 return; | 436 return; |
| 437 | 437 |
| 438 float strokeWidth = this->strokeWidth(); | 438 float strokeWidth = this->strokeWidth(); |
| 439 unsigned size = m_markerPositions.size(); | 439 unsigned size = m_markerPositions.size(); |
| 440 for (unsigned i = 0; i < size; ++i) { | 440 for (unsigned i = 0; i < size; ++i) { |
| 441 if (RenderSVGResourceMarker* marker = markerForType(m_markerPositions[i]
.type, markerStart, markerMid, markerEnd)) | 441 if (RenderSVGResourceMarker* marker = markerForType(m_markerPositions[i]
.type, markerStart, markerMid, markerEnd)) |
| 442 marker->draw(paintInfo, marker->markerTransformation(m_markerPositio
ns[i].origin, m_markerPositions[i].angle, strokeWidth)); | 442 marker->draw(paintInfo, marker->markerTransformation(m_markerPositio
ns[i].origin, m_markerPositions[i].angle, strokeWidth, m_markerPositions[i].type
== StartMarker)); |
| 443 } | 443 } |
| 444 } | 444 } |
| 445 | 445 |
| 446 void RenderSVGShape::processMarkerPositions() | 446 void RenderSVGShape::processMarkerPositions() |
| 447 { | 447 { |
| 448 m_markerPositions.clear(); | 448 m_markerPositions.clear(); |
| 449 | 449 |
| 450 if (!shouldGenerateMarkerPositions()) | 450 if (!shouldGenerateMarkerPositions()) |
| 451 return; | 451 return; |
| 452 | 452 |
| 453 ASSERT(m_path); | 453 ASSERT(m_path); |
| 454 | 454 |
| 455 SVGMarkerData markerData(m_markerPositions); | 455 SVGMarkerData markerData(m_markerPositions); |
| 456 m_path->apply(&markerData, SVGMarkerData::updateFromPathElement); | 456 m_path->apply(&markerData, SVGMarkerData::updateFromPathElement); |
| 457 markerData.pathIsDone(); | 457 markerData.pathIsDone(); |
| 458 } | 458 } |
| 459 | 459 |
| 460 } | 460 } |
| OLD | NEW |