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 15 matching lines...) Expand all Loading... |
26 #ifndef LayoutSVGPath_h | 26 #ifndef LayoutSVGPath_h |
27 #define LayoutSVGPath_h | 27 #define LayoutSVGPath_h |
28 | 28 |
29 #include "core/layout/svg/LayoutSVGShape.h" | 29 #include "core/layout/svg/LayoutSVGShape.h" |
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 virtual ~LayoutSVGPath(); | 36 ~LayoutSVGPath() override; |
37 | 37 |
38 virtual const Vector<MarkerPosition>* markerPositions() const override { ret
urn &m_markerPositions; } | 38 const Vector<MarkerPosition>* markerPositions() const override { return &m_m
arkerPositions; } |
39 | 39 |
40 virtual const Vector<FloatPoint>* zeroLengthLineCaps() const override { retu
rn &m_zeroLengthLinecapLocations; } | 40 const Vector<FloatPoint>* zeroLengthLineCaps() const override { return &m_ze
roLengthLinecapLocations; } |
41 static FloatRect zeroLengthSubpathRect(const FloatPoint&, float); | 41 static FloatRect zeroLengthSubpathRect(const FloatPoint&, float); |
42 | 42 |
43 virtual const char* name() const override { return "LayoutSVGPath"; } | 43 const char* name() const override { return "LayoutSVGPath"; } |
44 | 44 |
45 private: | 45 private: |
46 void updateShapeFromElement() override; | 46 void updateShapeFromElement() override; |
47 void updateStrokeAndFillBoundingBoxes() override; | 47 void updateStrokeAndFillBoundingBoxes() override; |
48 | 48 |
49 virtual FloatRect hitTestStrokeBoundingBox() const override; | 49 FloatRect hitTestStrokeBoundingBox() const override; |
50 | 50 |
51 virtual bool shapeDependentStrokeContains(const FloatPoint&) override; | 51 bool shapeDependentStrokeContains(const FloatPoint&) override; |
52 | 52 |
53 FloatRect markerRect(float strokeWidth) const; | 53 FloatRect markerRect(float strokeWidth) const; |
54 bool shouldGenerateMarkerPositions() const; | 54 bool shouldGenerateMarkerPositions() const; |
55 void processMarkerPositions(); | 55 void processMarkerPositions(); |
56 | 56 |
57 bool shouldStrokeZeroLengthSubpath() const; | 57 bool shouldStrokeZeroLengthSubpath() const; |
58 void updateZeroLengthSubpaths(); | 58 void updateZeroLengthSubpaths(); |
59 | 59 |
60 Vector<MarkerPosition> m_markerPositions; | 60 Vector<MarkerPosition> m_markerPositions; |
61 Vector<FloatPoint> m_zeroLengthLinecapLocations; | 61 Vector<FloatPoint> m_zeroLengthLinecapLocations; |
62 }; | 62 }; |
63 | 63 |
64 } | 64 } |
65 | 65 |
66 #endif | 66 #endif |
OLD | NEW |