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 19 matching lines...) Expand all Loading... |
30 | 30 |
31 namespace blink { | 31 namespace blink { |
32 | 32 |
33 class LayoutSVGPath final : public LayoutSVGShape { | 33 class LayoutSVGPath final : public LayoutSVGShape { |
34 public: | 34 public: |
35 explicit LayoutSVGPath(SVGGeometryElement*); | 35 explicit LayoutSVGPath(SVGGeometryElement*); |
36 ~LayoutSVGPath() override; | 36 ~LayoutSVGPath() override; |
37 | 37 |
38 const Vector<MarkerPosition>* markerPositions() const override { return &m_m
arkerPositions; } | 38 const Vector<MarkerPosition>* markerPositions() const override { return &m_m
arkerPositions; } |
39 | 39 |
40 const Vector<FloatPoint>* zeroLengthLineCaps() const override { return &m_ze
roLengthLinecapLocations; } | |
41 static FloatRect zeroLengthSubpathRect(const FloatPoint&, float); | |
42 | |
43 const char* name() const override { return "LayoutSVGPath"; } | 40 const char* name() const override { return "LayoutSVGPath"; } |
44 | 41 |
45 private: | 42 private: |
46 void updateShapeFromElement() override; | |
47 void updateStrokeAndFillBoundingBoxes() override; | 43 void updateStrokeAndFillBoundingBoxes() override; |
48 | 44 |
49 FloatRect hitTestStrokeBoundingBox() const override; | 45 FloatRect hitTestStrokeBoundingBox() const override; |
50 | 46 |
51 bool shapeDependentStrokeContains(const FloatPoint&) override; | |
52 | |
53 FloatRect markerRect(float strokeWidth) const; | 47 FloatRect markerRect(float strokeWidth) const; |
54 bool shouldGenerateMarkerPositions() const; | 48 bool shouldGenerateMarkerPositions() const; |
55 void processMarkerPositions(); | 49 void processMarkerPositions(); |
56 | 50 |
57 bool shouldStrokeZeroLengthSubpath() const; | |
58 void updateZeroLengthSubpaths(); | |
59 | |
60 Vector<MarkerPosition> m_markerPositions; | 51 Vector<MarkerPosition> m_markerPositions; |
61 Vector<FloatPoint> m_zeroLengthLinecapLocations; | |
62 }; | 52 }; |
63 | 53 |
64 } | 54 } |
65 | 55 |
66 #endif | 56 #endif |
OLD | NEW |