OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2014 Samsung Electronics. All rights reserved. | 4 * Copyright (C) 2014 Samsung Electronics. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
11 * This library is distributed in the hope that it will be useful, | 11 * This library is distributed in the hope that it will be useful, |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 * Library General Public License for more details. | 14 * Library General Public License for more details. |
15 * | 15 * |
16 * You should have received a copy of the GNU Library General Public License | 16 * You should have received a copy of the GNU Library General Public License |
17 * along with this library; see the file COPYING.LIB. If not, write to | 17 * along with this library; see the file COPYING.LIB. If not, write to |
18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
19 * Boston, MA 02110-1301, USA. | 19 * Boston, MA 02110-1301, USA. |
20 */ | 20 */ |
21 | 21 |
22 #ifndef SVGZoomAndPan_h | 22 #ifndef SVGZoomAndPan_h |
23 #define SVGZoomAndPan_h | 23 #define SVGZoomAndPan_h |
24 | 24 |
25 #include "core/SVGNames.h" | 25 #include "core/SVGNames.h" |
26 #include "core/dom/QualifiedName.h" | 26 #include "core/dom/QualifiedName.h" |
27 #include "wtf/HashSet.h" | |
28 | 27 |
29 namespace blink { | 28 namespace blink { |
30 | 29 |
31 class ExceptionState; | 30 class ExceptionState; |
32 | 31 |
33 enum SVGZoomAndPanType { | 32 enum SVGZoomAndPanType { |
34 SVGZoomAndPanUnknown = 0, | 33 SVGZoomAndPanUnknown = 0, |
35 SVGZoomAndPanDisable, | 34 SVGZoomAndPanDisable, |
36 SVGZoomAndPanMagnify | 35 SVGZoomAndPanMagnify |
37 }; | 36 }; |
38 | 37 |
39 class SVGZoomAndPan { | 38 class SVGZoomAndPan { |
40 public: | 39 public: |
41 // Forward declare enumerations in the W3C naming scheme, for IDL generation
. | 40 // Forward declare enumerations in the W3C naming scheme, for IDL generation
. |
42 enum { | 41 enum { |
43 SVG_ZOOMANDPAN_UNKNOWN = SVGZoomAndPanUnknown, | 42 SVG_ZOOMANDPAN_UNKNOWN = SVGZoomAndPanUnknown, |
44 SVG_ZOOMANDPAN_DISABLE = SVGZoomAndPanDisable, | 43 SVG_ZOOMANDPAN_DISABLE = SVGZoomAndPanDisable, |
45 SVG_ZOOMANDPAN_MAGNIFY = SVGZoomAndPanMagnify | 44 SVG_ZOOMANDPAN_MAGNIFY = SVGZoomAndPanMagnify |
46 }; | 45 }; |
47 | 46 |
48 virtual ~SVGZoomAndPan() { } | 47 virtual ~SVGZoomAndPan() { } |
49 | 48 |
50 static bool isKnownAttribute(const QualifiedName&); | 49 static bool isKnownAttribute(const QualifiedName&); |
51 static void addSupportedAttributes(HashSet<QualifiedName>&); | |
52 | 50 |
53 static SVGZoomAndPanType parseFromNumber(unsigned short number) | 51 static SVGZoomAndPanType parseFromNumber(unsigned short number) |
54 { | 52 { |
55 if (!number || number > SVGZoomAndPanMagnify) | 53 if (!number || number > SVGZoomAndPanMagnify) |
56 return SVGZoomAndPanUnknown; | 54 return SVGZoomAndPanUnknown; |
57 return static_cast<SVGZoomAndPanType>(number); | 55 return static_cast<SVGZoomAndPanType>(number); |
58 } | 56 } |
59 | 57 |
60 bool parseZoomAndPan(const LChar*& start, const LChar* end); | 58 bool parseZoomAndPan(const LChar*& start, const LChar* end); |
61 bool parseZoomAndPan(const UChar*& start, const UChar* end); | 59 bool parseZoomAndPan(const UChar*& start, const UChar* end); |
(...skipping 26 matching lines...) Expand all Loading... |
88 SVGZoomAndPan(); | 86 SVGZoomAndPan(); |
89 void resetZoomAndPan(); | 87 void resetZoomAndPan(); |
90 | 88 |
91 private: | 89 private: |
92 SVGZoomAndPanType m_zoomAndPan; | 90 SVGZoomAndPanType m_zoomAndPan; |
93 }; | 91 }; |
94 | 92 |
95 } // namespace blink | 93 } // namespace blink |
96 | 94 |
97 #endif // SVGZoomAndPan_h | 95 #endif // SVGZoomAndPan_h |
OLD | NEW |