| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
| 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> |
| 4 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 4 * Copyright (C) Research In Motion Limited 2010. 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 * |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 } | 79 } |
| 80 | 80 |
| 81 float SVGMarkerOrientEnumeration::calculateDistance(SVGPropertyBase* to, SVGElem
ent* contextElement) | 81 float SVGMarkerOrientEnumeration::calculateDistance(SVGPropertyBase* to, SVGElem
ent* contextElement) |
| 82 { | 82 { |
| 83 // SVGMarkerOrientEnumeration is only animated via SVGAngle | 83 // SVGMarkerOrientEnumeration is only animated via SVGAngle |
| 84 ASSERT_NOT_REACHED(); | 84 ASSERT_NOT_REACHED(); |
| 85 return -1.0; | 85 return -1.0; |
| 86 } | 86 } |
| 87 | 87 |
| 88 SVGAngle::SVGAngle() | 88 SVGAngle::SVGAngle() |
| 89 : m_unitType(SVG_ANGLETYPE_UNSPECIFIED) | 89 : m_unitType(kSvgAngletypeUnspecified) |
| 90 , m_valueInSpecifiedUnits(0) | 90 , m_valueInSpecifiedUnits(0) |
| 91 , m_orientType(SVGMarkerOrientEnumeration::create(this)) | 91 , m_orientType(SVGMarkerOrientEnumeration::create(this)) |
| 92 { | 92 { |
| 93 } | 93 } |
| 94 | 94 |
| 95 SVGAngle::SVGAngle(SVGAngleType unitType, float valueInSpecifiedUnits, SVGMarker
OrientType orientType) | 95 SVGAngle::SVGAngle(SVGAngleType unitType, float valueInSpecifiedUnits, SVGMarker
OrientType orientType) |
| 96 : m_unitType(unitType) | 96 : m_unitType(unitType) |
| 97 , m_valueInSpecifiedUnits(valueInSpecifiedUnits) | 97 , m_valueInSpecifiedUnits(valueInSpecifiedUnits) |
| 98 , m_orientType(SVGMarkerOrientEnumeration::create(this)) | 98 , m_orientType(SVGMarkerOrientEnumeration::create(this)) |
| 99 { | 99 { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 111 } | 111 } |
| 112 | 112 |
| 113 SVGAngle* SVGAngle::clone() const | 113 SVGAngle* SVGAngle::clone() const |
| 114 { | 114 { |
| 115 return new SVGAngle(m_unitType, m_valueInSpecifiedUnits, m_orientType->enumV
alue()); | 115 return new SVGAngle(m_unitType, m_valueInSpecifiedUnits, m_orientType->enumV
alue()); |
| 116 } | 116 } |
| 117 | 117 |
| 118 float SVGAngle::value() const | 118 float SVGAngle::value() const |
| 119 { | 119 { |
| 120 switch (m_unitType) { | 120 switch (m_unitType) { |
| 121 case SVG_ANGLETYPE_GRAD: | 121 case kSvgAngletypeGrad: |
| 122 return grad2deg(m_valueInSpecifiedUnits); | 122 return grad2deg(m_valueInSpecifiedUnits); |
| 123 case SVG_ANGLETYPE_RAD: | 123 case kSvgAngletypeRad: |
| 124 return rad2deg(m_valueInSpecifiedUnits); | 124 return rad2deg(m_valueInSpecifiedUnits); |
| 125 case SVG_ANGLETYPE_TURN: | 125 case kSvgAngletypeTurn: |
| 126 return turn2deg(m_valueInSpecifiedUnits); | 126 return turn2deg(m_valueInSpecifiedUnits); |
| 127 case SVG_ANGLETYPE_UNSPECIFIED: | 127 case kSvgAngletypeUnspecified: |
| 128 case SVG_ANGLETYPE_UNKNOWN: | 128 case kSvgAngletypeUnknown: |
| 129 case SVG_ANGLETYPE_DEG: | 129 case kSvgAngletypeDeg: |
| 130 return m_valueInSpecifiedUnits; | 130 return m_valueInSpecifiedUnits; |
| 131 } | 131 } |
| 132 | 132 |
| 133 ASSERT_NOT_REACHED(); | 133 ASSERT_NOT_REACHED(); |
| 134 return 0; | 134 return 0; |
| 135 } | 135 } |
| 136 | 136 |
| 137 void SVGAngle::setValue(float value) | 137 void SVGAngle::setValue(float value) |
| 138 { | 138 { |
| 139 switch (m_unitType) { | 139 switch (m_unitType) { |
| 140 case SVG_ANGLETYPE_GRAD: | 140 case kSvgAngletypeGrad: |
| 141 m_valueInSpecifiedUnits = deg2grad(value); | 141 m_valueInSpecifiedUnits = deg2grad(value); |
| 142 break; | 142 break; |
| 143 case SVG_ANGLETYPE_RAD: | 143 case kSvgAngletypeRad: |
| 144 m_valueInSpecifiedUnits = deg2rad(value); | 144 m_valueInSpecifiedUnits = deg2rad(value); |
| 145 break; | 145 break; |
| 146 case SVG_ANGLETYPE_TURN: | 146 case kSvgAngletypeTurn: |
| 147 m_valueInSpecifiedUnits = deg2turn(value); | 147 m_valueInSpecifiedUnits = deg2turn(value); |
| 148 break; | 148 break; |
| 149 case SVG_ANGLETYPE_UNSPECIFIED: | 149 case kSvgAngletypeUnspecified: |
| 150 case SVG_ANGLETYPE_UNKNOWN: | 150 case kSvgAngletypeUnknown: |
| 151 case SVG_ANGLETYPE_DEG: | 151 case kSvgAngletypeDeg: |
| 152 m_valueInSpecifiedUnits = value; | 152 m_valueInSpecifiedUnits = value; |
| 153 break; | 153 break; |
| 154 } | 154 } |
| 155 m_orientType->setEnumValue(SVGMarkerOrientAngle); | 155 m_orientType->setEnumValue(SVGMarkerOrientAngle); |
| 156 } | 156 } |
| 157 | 157 |
| 158 template<typename CharType> | 158 template<typename CharType> |
| 159 static SVGAngle::SVGAngleType stringToAngleType(const CharType*& ptr, const Char
Type* end) | 159 static SVGAngle::SVGAngleType stringToAngleType(const CharType*& ptr, const Char
Type* end) |
| 160 { | 160 { |
| 161 // If there's no unit given, the angle type is unspecified. | 161 // If there's no unit given, the angle type is unspecified. |
| 162 if (ptr == end) | 162 if (ptr == end) |
| 163 return SVGAngle::SVG_ANGLETYPE_UNSPECIFIED; | 163 return SVGAngle::kSvgAngletypeUnspecified; |
| 164 | 164 |
| 165 SVGAngle::SVGAngleType type = SVGAngle::SVG_ANGLETYPE_UNKNOWN; | 165 SVGAngle::SVGAngleType type = SVGAngle::kSvgAngletypeUnknown; |
| 166 if (isHTMLSpace<CharType>(ptr[0])) { | 166 if (isHTMLSpace<CharType>(ptr[0])) { |
| 167 type = SVGAngle::SVG_ANGLETYPE_UNSPECIFIED; | 167 type = SVGAngle::kSvgAngletypeUnspecified; |
| 168 ptr++; | 168 ptr++; |
| 169 } else if (end - ptr >= 3) { | 169 } else if (end - ptr >= 3) { |
| 170 if (ptr[0] == 'd' && ptr[1] == 'e' && ptr[2] == 'g') { | 170 if (ptr[0] == 'd' && ptr[1] == 'e' && ptr[2] == 'g') { |
| 171 type = SVGAngle::SVG_ANGLETYPE_DEG; | 171 type = SVGAngle::kSvgAngletypeDeg; |
| 172 ptr += 3; | 172 ptr += 3; |
| 173 } else if (ptr[0] == 'r' && ptr[1] == 'a' && ptr[2] == 'd') { | 173 } else if (ptr[0] == 'r' && ptr[1] == 'a' && ptr[2] == 'd') { |
| 174 type = SVGAngle::SVG_ANGLETYPE_RAD; | 174 type = SVGAngle::kSvgAngletypeRad; |
| 175 ptr += 3; | 175 ptr += 3; |
| 176 } else if (end - ptr >= 4) { | 176 } else if (end - ptr >= 4) { |
| 177 if (ptr[0] == 'g' && ptr[1] == 'r' && ptr[2] == 'a' && ptr[3] == 'd'
) { | 177 if (ptr[0] == 'g' && ptr[1] == 'r' && ptr[2] == 'a' && ptr[3] == 'd'
) { |
| 178 type = SVGAngle::SVG_ANGLETYPE_GRAD; | 178 type = SVGAngle::kSvgAngletypeGrad; |
| 179 ptr += 4; | 179 ptr += 4; |
| 180 } else if (ptr[0] == 't' && ptr[1] == 'u' && ptr[2] == 'r' && ptr[3]
== 'n') { | 180 } else if (ptr[0] == 't' && ptr[1] == 'u' && ptr[2] == 'r' && ptr[3]
== 'n') { |
| 181 type = SVGAngle::SVG_ANGLETYPE_TURN; | 181 type = SVGAngle::kSvgAngletypeTurn; |
| 182 ptr += 4; | 182 ptr += 4; |
| 183 } | 183 } |
| 184 } | 184 } |
| 185 } | 185 } |
| 186 | 186 |
| 187 if (!skipOptionalSVGSpaces(ptr, end)) | 187 if (!skipOptionalSVGSpaces(ptr, end)) |
| 188 return type; | 188 return type; |
| 189 | 189 |
| 190 return SVGAngle::SVG_ANGLETYPE_UNKNOWN; | 190 return SVGAngle::kSvgAngletypeUnknown; |
| 191 } | 191 } |
| 192 | 192 |
| 193 String SVGAngle::valueAsString() const | 193 String SVGAngle::valueAsString() const |
| 194 { | 194 { |
| 195 switch (m_unitType) { | 195 switch (m_unitType) { |
| 196 case SVG_ANGLETYPE_DEG: { | 196 case kSvgAngletypeDeg: { |
| 197 DEFINE_STATIC_LOCAL(String, degString, ("deg")); | 197 DEFINE_STATIC_LOCAL(String, degString, ("deg")); |
| 198 return String::number(m_valueInSpecifiedUnits) + degString; | 198 return String::number(m_valueInSpecifiedUnits) + degString; |
| 199 } | 199 } |
| 200 case SVG_ANGLETYPE_RAD: { | 200 case kSvgAngletypeRad: { |
| 201 DEFINE_STATIC_LOCAL(String, radString, ("rad")); | 201 DEFINE_STATIC_LOCAL(String, radString, ("rad")); |
| 202 return String::number(m_valueInSpecifiedUnits) + radString; | 202 return String::number(m_valueInSpecifiedUnits) + radString; |
| 203 } | 203 } |
| 204 case SVG_ANGLETYPE_GRAD: { | 204 case kSvgAngletypeGrad: { |
| 205 DEFINE_STATIC_LOCAL(String, gradString, ("grad")); | 205 DEFINE_STATIC_LOCAL(String, gradString, ("grad")); |
| 206 return String::number(m_valueInSpecifiedUnits) + gradString; | 206 return String::number(m_valueInSpecifiedUnits) + gradString; |
| 207 } | 207 } |
| 208 case SVG_ANGLETYPE_TURN: { | 208 case kSvgAngletypeTurn: { |
| 209 DEFINE_STATIC_LOCAL(String, turnString, ("turn")); | 209 DEFINE_STATIC_LOCAL(String, turnString, ("turn")); |
| 210 return String::number(m_valueInSpecifiedUnits) + turnString; | 210 return String::number(m_valueInSpecifiedUnits) + turnString; |
| 211 } | 211 } |
| 212 case SVG_ANGLETYPE_UNSPECIFIED: | 212 case kSvgAngletypeUnspecified: |
| 213 case SVG_ANGLETYPE_UNKNOWN: | 213 case kSvgAngletypeUnknown: |
| 214 return String::number(m_valueInSpecifiedUnits); | 214 return String::number(m_valueInSpecifiedUnits); |
| 215 } | 215 } |
| 216 | 216 |
| 217 ASSERT_NOT_REACHED(); | 217 ASSERT_NOT_REACHED(); |
| 218 return String(); | 218 return String(); |
| 219 } | 219 } |
| 220 | 220 |
| 221 template<typename CharType> | 221 template<typename CharType> |
| 222 static SVGParsingError parseValue(const String& value, float& valueInSpecifiedUn
its, SVGAngle::SVGAngleType& unitType) | 222 static SVGParsingError parseValue(const String& value, float& valueInSpecifiedUn
its, SVGAngle::SVGAngleType& unitType) |
| 223 { | 223 { |
| 224 const CharType* ptr = value.getCharacters<CharType>(); | 224 const CharType* ptr = value.getCharacters<CharType>(); |
| 225 const CharType* end = ptr + value.length(); | 225 const CharType* end = ptr + value.length(); |
| 226 | 226 |
| 227 if (!parseNumber(ptr, end, valueInSpecifiedUnits, AllowLeadingWhitespace)) | 227 if (!parseNumber(ptr, end, valueInSpecifiedUnits, AllowLeadingWhitespace)) |
| 228 return SVGParsingError(SVGParseStatus::ExpectedAngle, ptr - value.getCha
racters<CharType>()); | 228 return SVGParsingError(SVGParseStatus::ExpectedAngle, ptr - value.getCha
racters<CharType>()); |
| 229 | 229 |
| 230 unitType = stringToAngleType(ptr, end); | 230 unitType = stringToAngleType(ptr, end); |
| 231 if (unitType == SVGAngle::SVG_ANGLETYPE_UNKNOWN) | 231 if (unitType == SVGAngle::kSvgAngletypeUnknown) |
| 232 return SVGParsingError(SVGParseStatus::ExpectedAngle, ptr - value.getCha
racters<CharType>()); | 232 return SVGParsingError(SVGParseStatus::ExpectedAngle, ptr - value.getCha
racters<CharType>()); |
| 233 | 233 |
| 234 return SVGParseStatus::NoError; | 234 return SVGParseStatus::NoError; |
| 235 } | 235 } |
| 236 | 236 |
| 237 SVGParsingError SVGAngle::setValueAsString(const String& value) | 237 SVGParsingError SVGAngle::setValueAsString(const String& value) |
| 238 { | 238 { |
| 239 if (value.isEmpty()) { | 239 if (value.isEmpty()) { |
| 240 newValueSpecifiedUnits(SVG_ANGLETYPE_UNSPECIFIED, 0); | 240 newValueSpecifiedUnits(kSvgAngletypeUnspecified, 0); |
| 241 return SVGParseStatus::NoError; | 241 return SVGParseStatus::NoError; |
| 242 } | 242 } |
| 243 | 243 |
| 244 if (value == "auto") { | 244 if (value == "auto") { |
| 245 newValueSpecifiedUnits(SVG_ANGLETYPE_UNSPECIFIED, 0); | 245 newValueSpecifiedUnits(kSvgAngletypeUnspecified, 0); |
| 246 m_orientType->setEnumValue(SVGMarkerOrientAuto); | 246 m_orientType->setEnumValue(SVGMarkerOrientAuto); |
| 247 return SVGParseStatus::NoError; | 247 return SVGParseStatus::NoError; |
| 248 } | 248 } |
| 249 if (value == "auto-start-reverse") { | 249 if (value == "auto-start-reverse") { |
| 250 newValueSpecifiedUnits(SVG_ANGLETYPE_UNSPECIFIED, 0); | 250 newValueSpecifiedUnits(kSvgAngletypeUnspecified, 0); |
| 251 m_orientType->setEnumValue(SVGMarkerOrientAutoStartReverse); | 251 m_orientType->setEnumValue(SVGMarkerOrientAutoStartReverse); |
| 252 return SVGParseStatus::NoError; | 252 return SVGParseStatus::NoError; |
| 253 } | 253 } |
| 254 | 254 |
| 255 float valueInSpecifiedUnits = 0; | 255 float valueInSpecifiedUnits = 0; |
| 256 SVGAngleType unitType = SVG_ANGLETYPE_UNKNOWN; | 256 SVGAngleType unitType = kSvgAngletypeUnknown; |
| 257 | 257 |
| 258 SVGParsingError error; | 258 SVGParsingError error; |
| 259 if (value.is8Bit()) | 259 if (value.is8Bit()) |
| 260 error = parseValue<LChar>(value, valueInSpecifiedUnits, unitType); | 260 error = parseValue<LChar>(value, valueInSpecifiedUnits, unitType); |
| 261 else | 261 else |
| 262 error = parseValue<UChar>(value, valueInSpecifiedUnits, unitType); | 262 error = parseValue<UChar>(value, valueInSpecifiedUnits, unitType); |
| 263 if (error != SVGParseStatus::NoError) | 263 if (error != SVGParseStatus::NoError) |
| 264 return error; | 264 return error; |
| 265 | 265 |
| 266 m_orientType->setEnumValue(SVGMarkerOrientAngle); | 266 m_orientType->setEnumValue(SVGMarkerOrientAngle); |
| 267 m_unitType = unitType; | 267 m_unitType = unitType; |
| 268 m_valueInSpecifiedUnits = valueInSpecifiedUnits; | 268 m_valueInSpecifiedUnits = valueInSpecifiedUnits; |
| 269 return SVGParseStatus::NoError; | 269 return SVGParseStatus::NoError; |
| 270 } | 270 } |
| 271 | 271 |
| 272 void SVGAngle::newValueSpecifiedUnits(SVGAngleType unitType, float valueInSpecif
iedUnits) | 272 void SVGAngle::newValueSpecifiedUnits(SVGAngleType unitType, float valueInSpecif
iedUnits) |
| 273 { | 273 { |
| 274 m_orientType->setEnumValue(SVGMarkerOrientAngle); | 274 m_orientType->setEnumValue(SVGMarkerOrientAngle); |
| 275 m_unitType = unitType; | 275 m_unitType = unitType; |
| 276 m_valueInSpecifiedUnits = valueInSpecifiedUnits; | 276 m_valueInSpecifiedUnits = valueInSpecifiedUnits; |
| 277 } | 277 } |
| 278 | 278 |
| 279 void SVGAngle::convertToSpecifiedUnits(SVGAngleType unitType) | 279 void SVGAngle::convertToSpecifiedUnits(SVGAngleType unitType) |
| 280 { | 280 { |
| 281 if (unitType == m_unitType) | 281 if (unitType == m_unitType) |
| 282 return; | 282 return; |
| 283 | 283 |
| 284 switch (m_unitType) { | 284 switch (m_unitType) { |
| 285 case SVG_ANGLETYPE_TURN: | 285 case kSvgAngletypeTurn: |
| 286 switch (unitType) { | 286 switch (unitType) { |
| 287 case SVG_ANGLETYPE_GRAD: | 287 case kSvgAngletypeGrad: |
| 288 m_valueInSpecifiedUnits = turn2grad(m_valueInSpecifiedUnits); | 288 m_valueInSpecifiedUnits = turn2grad(m_valueInSpecifiedUnits); |
| 289 break; | 289 break; |
| 290 case SVG_ANGLETYPE_UNSPECIFIED: | 290 case kSvgAngletypeUnspecified: |
| 291 case SVG_ANGLETYPE_DEG: | 291 case kSvgAngletypeDeg: |
| 292 m_valueInSpecifiedUnits = turn2deg(m_valueInSpecifiedUnits); | 292 m_valueInSpecifiedUnits = turn2deg(m_valueInSpecifiedUnits); |
| 293 break; | 293 break; |
| 294 case SVG_ANGLETYPE_RAD: | 294 case kSvgAngletypeRad: |
| 295 m_valueInSpecifiedUnits = deg2rad(turn2deg(m_valueInSpecifiedUnits))
; | 295 m_valueInSpecifiedUnits = deg2rad(turn2deg(m_valueInSpecifiedUnits))
; |
| 296 break; | 296 break; |
| 297 case SVG_ANGLETYPE_TURN: | 297 case kSvgAngletypeTurn: |
| 298 case SVG_ANGLETYPE_UNKNOWN: | 298 case kSvgAngletypeUnknown: |
| 299 ASSERT_NOT_REACHED(); | 299 ASSERT_NOT_REACHED(); |
| 300 break; | 300 break; |
| 301 } | 301 } |
| 302 break; | 302 break; |
| 303 case SVG_ANGLETYPE_RAD: | 303 case kSvgAngletypeRad: |
| 304 switch (unitType) { | 304 switch (unitType) { |
| 305 case SVG_ANGLETYPE_GRAD: | 305 case kSvgAngletypeGrad: |
| 306 m_valueInSpecifiedUnits = rad2grad(m_valueInSpecifiedUnits); | 306 m_valueInSpecifiedUnits = rad2grad(m_valueInSpecifiedUnits); |
| 307 break; | 307 break; |
| 308 case SVG_ANGLETYPE_UNSPECIFIED: | 308 case kSvgAngletypeUnspecified: |
| 309 case SVG_ANGLETYPE_DEG: | 309 case kSvgAngletypeDeg: |
| 310 m_valueInSpecifiedUnits = rad2deg(m_valueInSpecifiedUnits); | 310 m_valueInSpecifiedUnits = rad2deg(m_valueInSpecifiedUnits); |
| 311 break; | 311 break; |
| 312 case SVG_ANGLETYPE_TURN: | 312 case kSvgAngletypeTurn: |
| 313 m_valueInSpecifiedUnits = deg2turn(rad2deg(m_valueInSpecifiedUnits))
; | 313 m_valueInSpecifiedUnits = deg2turn(rad2deg(m_valueInSpecifiedUnits))
; |
| 314 break; | 314 break; |
| 315 case SVG_ANGLETYPE_RAD: | 315 case kSvgAngletypeRad: |
| 316 case SVG_ANGLETYPE_UNKNOWN: | 316 case kSvgAngletypeUnknown: |
| 317 ASSERT_NOT_REACHED(); | 317 ASSERT_NOT_REACHED(); |
| 318 break; | 318 break; |
| 319 } | 319 } |
| 320 break; | 320 break; |
| 321 case SVG_ANGLETYPE_GRAD: | 321 case kSvgAngletypeGrad: |
| 322 switch (unitType) { | 322 switch (unitType) { |
| 323 case SVG_ANGLETYPE_RAD: | 323 case kSvgAngletypeRad: |
| 324 m_valueInSpecifiedUnits = grad2rad(m_valueInSpecifiedUnits); | 324 m_valueInSpecifiedUnits = grad2rad(m_valueInSpecifiedUnits); |
| 325 break; | 325 break; |
| 326 case SVG_ANGLETYPE_UNSPECIFIED: | 326 case kSvgAngletypeUnspecified: |
| 327 case SVG_ANGLETYPE_DEG: | 327 case kSvgAngletypeDeg: |
| 328 m_valueInSpecifiedUnits = grad2deg(m_valueInSpecifiedUnits); | 328 m_valueInSpecifiedUnits = grad2deg(m_valueInSpecifiedUnits); |
| 329 break; | 329 break; |
| 330 case SVG_ANGLETYPE_TURN: | 330 case kSvgAngletypeTurn: |
| 331 m_valueInSpecifiedUnits = grad2turn(m_valueInSpecifiedUnits); | 331 m_valueInSpecifiedUnits = grad2turn(m_valueInSpecifiedUnits); |
| 332 break; | 332 break; |
| 333 case SVG_ANGLETYPE_GRAD: | 333 case kSvgAngletypeGrad: |
| 334 case SVG_ANGLETYPE_UNKNOWN: | 334 case kSvgAngletypeUnknown: |
| 335 ASSERT_NOT_REACHED(); | 335 ASSERT_NOT_REACHED(); |
| 336 break; | 336 break; |
| 337 } | 337 } |
| 338 break; | 338 break; |
| 339 case SVG_ANGLETYPE_UNSPECIFIED: | 339 case kSvgAngletypeUnspecified: |
| 340 // Spec: For angles, a unitless value is treated the same as if degrees
were specified. | 340 // Spec: For angles, a unitless value is treated the same as if degrees
were specified. |
| 341 case SVG_ANGLETYPE_DEG: | 341 case kSvgAngletypeDeg: |
| 342 switch (unitType) { | 342 switch (unitType) { |
| 343 case SVG_ANGLETYPE_RAD: | 343 case kSvgAngletypeRad: |
| 344 m_valueInSpecifiedUnits = deg2rad(m_valueInSpecifiedUnits); | 344 m_valueInSpecifiedUnits = deg2rad(m_valueInSpecifiedUnits); |
| 345 break; | 345 break; |
| 346 case SVG_ANGLETYPE_GRAD: | 346 case kSvgAngletypeGrad: |
| 347 m_valueInSpecifiedUnits = deg2grad(m_valueInSpecifiedUnits); | 347 m_valueInSpecifiedUnits = deg2grad(m_valueInSpecifiedUnits); |
| 348 break; | 348 break; |
| 349 case SVG_ANGLETYPE_TURN: | 349 case kSvgAngletypeTurn: |
| 350 m_valueInSpecifiedUnits = deg2turn(m_valueInSpecifiedUnits); | 350 m_valueInSpecifiedUnits = deg2turn(m_valueInSpecifiedUnits); |
| 351 break; | 351 break; |
| 352 case SVG_ANGLETYPE_UNSPECIFIED: | 352 case kSvgAngletypeUnspecified: |
| 353 case SVG_ANGLETYPE_DEG: | 353 case kSvgAngletypeDeg: |
| 354 break; | 354 break; |
| 355 case SVG_ANGLETYPE_UNKNOWN: | 355 case kSvgAngletypeUnknown: |
| 356 ASSERT_NOT_REACHED(); | 356 ASSERT_NOT_REACHED(); |
| 357 break; | 357 break; |
| 358 } | 358 } |
| 359 break; | 359 break; |
| 360 case SVG_ANGLETYPE_UNKNOWN: | 360 case kSvgAngletypeUnknown: |
| 361 ASSERT_NOT_REACHED(); | 361 ASSERT_NOT_REACHED(); |
| 362 break; | 362 break; |
| 363 } | 363 } |
| 364 | 364 |
| 365 m_unitType = unitType; | 365 m_unitType = unitType; |
| 366 m_orientType->setEnumValue(SVGMarkerOrientAngle); | 366 m_orientType->setEnumValue(SVGMarkerOrientAngle); |
| 367 } | 367 } |
| 368 | 368 |
| 369 void SVGAngle::add(SVGPropertyBase* other, SVGElement*) | 369 void SVGAngle::add(SVGPropertyBase* other, SVGElement*) |
| 370 { | 370 { |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 } | 430 } |
| 431 | 431 |
| 432 float SVGAngle::calculateDistance(SVGPropertyBase* other, SVGElement*) | 432 float SVGAngle::calculateDistance(SVGPropertyBase* other, SVGElement*) |
| 433 { | 433 { |
| 434 return fabsf(value() - toSVGAngle(other)->value()); | 434 return fabsf(value() - toSVGAngle(other)->value()); |
| 435 } | 435 } |
| 436 | 436 |
| 437 void SVGAngle::orientTypeChanged() | 437 void SVGAngle::orientTypeChanged() |
| 438 { | 438 { |
| 439 if (orientType()->enumValue() == SVGMarkerOrientAuto || orientType()->enumVa
lue() == SVGMarkerOrientAutoStartReverse) { | 439 if (orientType()->enumValue() == SVGMarkerOrientAuto || orientType()->enumVa
lue() == SVGMarkerOrientAutoStartReverse) { |
| 440 m_unitType = SVG_ANGLETYPE_UNSPECIFIED; | 440 m_unitType = kSvgAngletypeUnspecified; |
| 441 m_valueInSpecifiedUnits = 0; | 441 m_valueInSpecifiedUnits = 0; |
| 442 } | 442 } |
| 443 } | 443 } |
| 444 | 444 |
| 445 } // namespace blink | 445 } // namespace blink |
| OLD | NEW |