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 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> |
5 * Copyright (C) 2006 Apple Computer, Inc | 5 * Copyright (C) 2006 Apple Computer, Inc |
6 * Copyright (C) 2009 Google, Inc. | 6 * Copyright (C) 2009 Google, Inc. |
7 * Copyright (C) 2011 Renata Hodovan <reni@webkit.org> | 7 * Copyright (C) 2011 Renata Hodovan <reni@webkit.org> |
8 * Copyright (C) 2011 University of Szeged | 8 * Copyright (C) 2011 University of Szeged |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 17 matching lines...) Expand all Loading... |
28 | 28 |
29 #include "core/rendering/svg/RenderSVGShape.h" | 29 #include "core/rendering/svg/RenderSVGShape.h" |
30 | 30 |
31 namespace blink { | 31 namespace blink { |
32 | 32 |
33 class RenderSVGPath final : public RenderSVGShape { | 33 class RenderSVGPath final : public RenderSVGShape { |
34 public: | 34 public: |
35 explicit RenderSVGPath(SVGGraphicsElement*); | 35 explicit RenderSVGPath(SVGGraphicsElement*); |
36 virtual ~RenderSVGPath(); | 36 virtual ~RenderSVGPath(); |
37 | 37 |
| 38 virtual const Vector<MarkerPosition>* markerPositions() const override { ret
urn &m_markerPositions; } |
| 39 |
| 40 virtual const Vector<FloatPoint>* zeroLengthLineCaps() const override { retu
rn &m_zeroLengthLinecapLocations; } |
| 41 static FloatRect zeroLengthSubpathRect(const FloatPoint&, float); |
| 42 |
38 private: | 43 private: |
39 virtual const char* renderName() const override { return "RenderSVGPath"; } | 44 virtual const char* renderName() const override { return "RenderSVGPath"; } |
40 | 45 |
41 virtual void updateShapeFromElement() override; | 46 virtual void updateShapeFromElement() override; |
42 FloatRect calculateUpdatedStrokeBoundingBox() const; | 47 FloatRect calculateUpdatedStrokeBoundingBox() const; |
43 | 48 |
44 virtual void strokeShape(GraphicsContext*) const override; | |
45 virtual bool shapeDependentStrokeContains(const FloatPoint&) override; | 49 virtual bool shapeDependentStrokeContains(const FloatPoint&) override; |
46 | 50 |
| 51 FloatRect markerRect(float strokeWidth) const; |
| 52 bool shouldGenerateMarkerPositions() const; |
| 53 virtual void processMarkerPositions() override; |
| 54 |
47 bool shouldStrokeZeroLengthSubpath() const; | 55 bool shouldStrokeZeroLengthSubpath() const; |
48 Path* zeroLengthLinecapPath(const FloatPoint&) const; | |
49 FloatRect zeroLengthSubpathRect(const FloatPoint&, float) const; | |
50 void updateZeroLengthSubpaths(); | 56 void updateZeroLengthSubpaths(); |
51 | 57 |
| 58 Vector<MarkerPosition> m_markerPositions; |
52 Vector<FloatPoint> m_zeroLengthLinecapLocations; | 59 Vector<FloatPoint> m_zeroLengthLinecapLocations; |
53 }; | 60 }; |
54 | 61 |
55 } | 62 } |
56 | 63 |
57 #endif | 64 #endif |
OLD | NEW |