OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 2 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 12 matching lines...) Expand all Loading... |
23 #include "core/svg/SVGPathByteStream.h" | 23 #include "core/svg/SVGPathByteStream.h" |
24 #include "core/svg/SVGPathConsumer.h" | 24 #include "core/svg/SVGPathConsumer.h" |
25 #include "platform/geometry/FloatPoint.h" | 25 #include "platform/geometry/FloatPoint.h" |
26 #include "wtf/PassOwnPtr.h" | 26 #include "wtf/PassOwnPtr.h" |
27 #include "wtf/text/WTFString.h" | 27 #include "wtf/text/WTFString.h" |
28 | 28 |
29 namespace blink { | 29 namespace blink { |
30 | 30 |
31 class SVGPathByteStreamBuilder final : public SVGPathConsumer { | 31 class SVGPathByteStreamBuilder final : public SVGPathConsumer { |
32 public: | 32 public: |
33 SVGPathByteStreamBuilder(); | 33 SVGPathByteStreamBuilder(SVGPathByteStream&); |
34 | |
35 void setCurrentByteStream(SVGPathByteStream* byteStream) { m_byteStream = by
teStream; } | |
36 | 34 |
37 private: | 35 private: |
38 virtual void incrementPathSegmentCount() override { } | 36 virtual void incrementPathSegmentCount() override { } |
39 virtual bool continueConsuming() override { return true; } | 37 virtual bool continueConsuming() override { return true; } |
40 virtual void cleanup() override { m_byteStream = 0; } | |
41 | 38 |
42 // Used in UnalteredParsing/NormalizedParsing modes. | 39 // Used in UnalteredParsing/NormalizedParsing modes. |
43 virtual void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) over
ride; | 40 virtual void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) over
ride; |
44 virtual void lineTo(const FloatPoint&, PathCoordinateMode) override; | 41 virtual void lineTo(const FloatPoint&, PathCoordinateMode) override; |
45 virtual void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatP
oint&, PathCoordinateMode) override; | 42 virtual void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatP
oint&, PathCoordinateMode) override; |
46 virtual void closePath() override; | 43 virtual void closePath() override; |
47 | 44 |
48 // Only used in UnalteredParsing mode. | 45 // Only used in UnalteredParsing mode. |
49 virtual void lineToHorizontal(float, PathCoordinateMode) override; | 46 virtual void lineToHorizontal(float, PathCoordinateMode) override; |
50 virtual void lineToVertical(float, PathCoordinateMode) override; | 47 virtual void lineToVertical(float, PathCoordinateMode) override; |
51 virtual void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCo
ordinateMode) override; | 48 virtual void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCo
ordinateMode) override; |
52 virtual void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoor
dinateMode) override; | 49 virtual void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoor
dinateMode) override; |
53 virtual void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) o
verride; | 50 virtual void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) o
verride; |
54 virtual void arcTo(float, float, float, bool largeArcFlag, bool sweepFlag, c
onst FloatPoint&, PathCoordinateMode) override; | 51 virtual void arcTo(float, float, float, bool largeArcFlag, bool sweepFlag, c
onst FloatPoint&, PathCoordinateMode) override; |
55 | 52 |
56 SVGPathByteStream* m_byteStream; | 53 SVGPathByteStream& m_byteStream; |
57 }; | 54 }; |
58 | 55 |
59 } // namespace blink | 56 } // namespace blink |
60 | 57 |
61 #endif // SVGPathByteStreamBuilder_h | 58 #endif // SVGPathByteStreamBuilder_h |
OLD | NEW |