bump product version to 7.6.3.2-android
[LibreOffice.git] / svgio / inc / svgtoken.hxx
blob3a4a89f285e297f0e45b7c4c4bf1dba26c2c6a61
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #pragma once
22 #include <rtl/ustring.hxx>
24 namespace svgio::svgreader
26 // SVG token mapper with hashing
27 enum class SVGToken
29 Unknown = 0,
31 // diverse attribute tokens
32 Width,
33 Height,
34 ViewBox,
35 Transform,
36 Style,
37 Display, // #i121656#
41 Xmlns,
42 Version,
43 Id,
44 In,
45 Rx,
46 Ry,
47 Points,
48 Dx,
49 Dy,
50 Rotate,
51 TextLength,
52 LengthAdjust,
53 Font,
54 FontFamily,
55 FontSize,
56 FontSizeAdjust,
57 FontStretch,
58 FontStyle,
59 FontVariant,
60 FontWeight,
61 Direction,
62 LetterSpacing,
63 TextDecoration,
64 UnicodeBidi,
65 WordSpacing,
66 Character, // not in the hash, just for simple text handling in SvgCharacterNode
67 Tspan,
68 Tref,
69 TextPath,
70 StartOffset,
71 Method,
72 Spacing,
73 StdDeviation,
74 TextAlign,
75 PathLength,
76 Type,
77 Class,
78 TextAnchor,
79 XmlSpace,
80 Color,
81 ClipPathNode,
82 ClipPathProperty,
83 FeColorMatrix,
84 FeDropShadow,
85 FeFlood,
86 FeImage,
87 FeGaussianBlur,
88 FeOffset,
89 Filter,
90 FloodColor,
91 FloodOpacity,
92 Mask,
93 ClipPathUnits,
94 MaskUnits,
95 MaskContentUnits,
96 ClipRule,
97 Marker,
98 MarkerStart,
99 MarkerMid,
100 MarkerEnd,
101 RefX,
102 RefY,
103 MarkerUnits,
104 MarkerWidth,
105 MarkerHeight,
106 Orient,
107 Pattern,
108 PatternUnits,
109 PatternContentUnits,
110 PatternTransform,
111 Opacity,
112 Visibility,
113 Title,
114 Desc,
116 // AspectRatio and params
117 PreserveAspectRatio,
118 Defer,
119 None,
120 XMinYMin,
121 XMidYMin,
122 XMaxYMin,
123 XMinYMid,
124 XMidYMid,
125 XMaxYMid,
126 XMinYMax,
127 XMidYMax,
128 XMaxYMax,
129 Meet,
130 Slice,
131 Values,
133 // structural elements
134 Defs,
136 Svg,
137 Symbol,
138 Switch,
139 Use,
142 // shape elements
143 Circle,
144 Ellipse,
145 Line,
146 Path,
147 Polygon,
148 Polyline,
149 Rect,
150 Image,
152 // gradient elements and tokens
153 LinearGradient,
154 RadialGradient,
155 Stop,
156 Offset,
166 GradientUnits,
167 GradientTransform,
168 SpreadMethod,
169 Href,
170 XlinkHref,
171 StopColor,
172 StopOpacity,
174 // fill tokens
175 Fill,
176 FillOpacity,
177 FillRule,
179 // stroke tokens
180 Stroke,
181 StrokeDasharray,
182 StrokeDashoffset,
183 StrokeLinecap,
184 StrokeLinejoin,
185 StrokeMiterlimit,
186 StrokeOpacity,
187 StrokeWidth,
189 // text tokens
190 Text,
191 BaselineShift,
192 DominantBaseline
195 SVGToken StrToSVGToken(const OUString& rStr, bool bCaseIndependent);
196 OUString SVGTokenToStr(const SVGToken& rToken);
198 } // end of namespace svgio::svgreader
200 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */