| 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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 110     return point.release(); | 110     return point.release(); | 
| 111 } | 111 } | 
| 112 | 112 | 
| 113 float SVGAngle::value() const | 113 float SVGAngle::value() const | 
| 114 { | 114 { | 
| 115     switch (m_unitType) { | 115     switch (m_unitType) { | 
| 116     case SVG_ANGLETYPE_GRAD: | 116     case SVG_ANGLETYPE_GRAD: | 
| 117         return grad2deg(m_valueInSpecifiedUnits); | 117         return grad2deg(m_valueInSpecifiedUnits); | 
| 118     case SVG_ANGLETYPE_RAD: | 118     case SVG_ANGLETYPE_RAD: | 
| 119         return rad2deg(m_valueInSpecifiedUnits); | 119         return rad2deg(m_valueInSpecifiedUnits); | 
|  | 120     case SVG_ANGLETYPE_TURN: | 
|  | 121         return turn2deg(m_valueInSpecifiedUnits); | 
| 120     case SVG_ANGLETYPE_UNSPECIFIED: | 122     case SVG_ANGLETYPE_UNSPECIFIED: | 
| 121     case SVG_ANGLETYPE_UNKNOWN: | 123     case SVG_ANGLETYPE_UNKNOWN: | 
| 122     case SVG_ANGLETYPE_DEG: | 124     case SVG_ANGLETYPE_DEG: | 
| 123         return m_valueInSpecifiedUnits; | 125         return m_valueInSpecifiedUnits; | 
| 124     } | 126     } | 
| 125 | 127 | 
| 126     ASSERT_NOT_REACHED(); | 128     ASSERT_NOT_REACHED(); | 
| 127     return 0; | 129     return 0; | 
| 128 } | 130 } | 
| 129 | 131 | 
| 130 void SVGAngle::setValue(float value) | 132 void SVGAngle::setValue(float value) | 
| 131 { | 133 { | 
| 132     switch (m_unitType) { | 134     switch (m_unitType) { | 
| 133     case SVG_ANGLETYPE_GRAD: | 135     case SVG_ANGLETYPE_GRAD: | 
| 134         m_valueInSpecifiedUnits = deg2grad(value); | 136         m_valueInSpecifiedUnits = deg2grad(value); | 
| 135         break; | 137         break; | 
| 136     case SVG_ANGLETYPE_RAD: | 138     case SVG_ANGLETYPE_RAD: | 
| 137         m_valueInSpecifiedUnits = deg2rad(value); | 139         m_valueInSpecifiedUnits = deg2rad(value); | 
| 138         break; | 140         break; | 
|  | 141     case SVG_ANGLETYPE_TURN: | 
|  | 142         m_valueInSpecifiedUnits = deg2turn(value); | 
|  | 143         break; | 
| 139     case SVG_ANGLETYPE_UNSPECIFIED: | 144     case SVG_ANGLETYPE_UNSPECIFIED: | 
| 140     case SVG_ANGLETYPE_UNKNOWN: | 145     case SVG_ANGLETYPE_UNKNOWN: | 
| 141     case SVG_ANGLETYPE_DEG: | 146     case SVG_ANGLETYPE_DEG: | 
| 142         m_valueInSpecifiedUnits = value; | 147         m_valueInSpecifiedUnits = value; | 
| 143         break; | 148         break; | 
| 144     } | 149     } | 
| 145     m_orientType->setEnumValue(SVGMarkerOrientAngle); | 150     m_orientType->setEnumValue(SVGMarkerOrientAngle); | 
| 146 } | 151 } | 
| 147 | 152 | 
| 148 template<typename CharType> | 153 template<typename CharType> | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
| 161         const CharType secondChar = *ptr++; | 166         const CharType secondChar = *ptr++; | 
| 162         const CharType thirdChar = *ptr++; | 167         const CharType thirdChar = *ptr++; | 
| 163         if (firstChar == 'd' && secondChar == 'e' && thirdChar == 'g') { | 168         if (firstChar == 'd' && secondChar == 'e' && thirdChar == 'g') { | 
| 164             type = SVGAngle::SVG_ANGLETYPE_DEG; | 169             type = SVGAngle::SVG_ANGLETYPE_DEG; | 
| 165         } else if (firstChar == 'r' && secondChar == 'a' && thirdChar == 'd') { | 170         } else if (firstChar == 'r' && secondChar == 'a' && thirdChar == 'd') { | 
| 166             type = SVGAngle::SVG_ANGLETYPE_RAD; | 171             type = SVGAngle::SVG_ANGLETYPE_RAD; | 
| 167         } else if (ptr != end) { | 172         } else if (ptr != end) { | 
| 168             const CharType fourthChar = *ptr++; | 173             const CharType fourthChar = *ptr++; | 
| 169             if (firstChar == 'g' && secondChar == 'r' && thirdChar == 'a' && fou
     rthChar == 'd') | 174             if (firstChar == 'g' && secondChar == 'r' && thirdChar == 'a' && fou
     rthChar == 'd') | 
| 170                 type = SVGAngle::SVG_ANGLETYPE_GRAD; | 175                 type = SVGAngle::SVG_ANGLETYPE_GRAD; | 
|  | 176             else if (firstChar == 't' && secondChar == 'u' && thirdChar == 'r' &
     & fourthChar == 'n') | 
|  | 177                 type = SVGAngle::SVG_ANGLETYPE_TURN; | 
| 171         } | 178         } | 
| 172     } | 179     } | 
| 173 | 180 | 
| 174     if (!skipOptionalSVGSpaces(ptr, end)) | 181     if (!skipOptionalSVGSpaces(ptr, end)) | 
| 175         return type; | 182         return type; | 
| 176 | 183 | 
| 177     return SVGAngle::SVG_ANGLETYPE_UNKNOWN; | 184     return SVGAngle::SVG_ANGLETYPE_UNKNOWN; | 
| 178 } | 185 } | 
| 179 | 186 | 
| 180 String SVGAngle::valueAsString() const | 187 String SVGAngle::valueAsString() const | 
| 181 { | 188 { | 
| 182     switch (m_unitType) { | 189     switch (m_unitType) { | 
| 183     case SVG_ANGLETYPE_DEG: { | 190     case SVG_ANGLETYPE_DEG: { | 
| 184         DEFINE_STATIC_LOCAL(String, degString, ("deg")); | 191         DEFINE_STATIC_LOCAL(String, degString, ("deg")); | 
| 185         return String::number(m_valueInSpecifiedUnits) + degString; | 192         return String::number(m_valueInSpecifiedUnits) + degString; | 
| 186     } | 193     } | 
| 187     case SVG_ANGLETYPE_RAD: { | 194     case SVG_ANGLETYPE_RAD: { | 
| 188         DEFINE_STATIC_LOCAL(String, radString, ("rad")); | 195         DEFINE_STATIC_LOCAL(String, radString, ("rad")); | 
| 189         return String::number(m_valueInSpecifiedUnits) + radString; | 196         return String::number(m_valueInSpecifiedUnits) + radString; | 
| 190     } | 197     } | 
| 191     case SVG_ANGLETYPE_GRAD: { | 198     case SVG_ANGLETYPE_GRAD: { | 
| 192         DEFINE_STATIC_LOCAL(String, gradString, ("grad")); | 199         DEFINE_STATIC_LOCAL(String, gradString, ("grad")); | 
| 193         return String::number(m_valueInSpecifiedUnits) + gradString; | 200         return String::number(m_valueInSpecifiedUnits) + gradString; | 
| 194     } | 201     } | 
|  | 202     case SVG_ANGLETYPE_TURN: { | 
|  | 203         DEFINE_STATIC_LOCAL(String, turnString, ("turn")); | 
|  | 204         return String::number(m_valueInSpecifiedUnits) + turnString; | 
|  | 205     } | 
| 195     case SVG_ANGLETYPE_UNSPECIFIED: | 206     case SVG_ANGLETYPE_UNSPECIFIED: | 
| 196     case SVG_ANGLETYPE_UNKNOWN: | 207     case SVG_ANGLETYPE_UNKNOWN: | 
| 197         return String::number(m_valueInSpecifiedUnits); | 208         return String::number(m_valueInSpecifiedUnits); | 
| 198     } | 209     } | 
| 199 | 210 | 
| 200     ASSERT_NOT_REACHED(); | 211     ASSERT_NOT_REACHED(); | 
| 201     return String(); | 212     return String(); | 
| 202 } | 213 } | 
| 203 | 214 | 
| 204 template<typename CharType> | 215 template<typename CharType> | 
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 256 { | 267 { | 
| 257     if (m_unitType == SVG_ANGLETYPE_UNKNOWN) { | 268     if (m_unitType == SVG_ANGLETYPE_UNKNOWN) { | 
| 258         exceptionState.throwDOMException(NotSupportedError, "Cannot convert from
      unknown or invalid units."); | 269         exceptionState.throwDOMException(NotSupportedError, "Cannot convert from
      unknown or invalid units."); | 
| 259         return; | 270         return; | 
| 260     } | 271     } | 
| 261 | 272 | 
| 262     if (unitType == m_unitType) | 273     if (unitType == m_unitType) | 
| 263         return; | 274         return; | 
| 264 | 275 | 
| 265     switch (m_unitType) { | 276     switch (m_unitType) { | 
|  | 277     case SVG_ANGLETYPE_TURN: | 
|  | 278         switch (unitType) { | 
|  | 279         case SVG_ANGLETYPE_GRAD: | 
|  | 280             m_valueInSpecifiedUnits = turn2grad(m_valueInSpecifiedUnits); | 
|  | 281             break; | 
|  | 282         case SVG_ANGLETYPE_UNSPECIFIED: | 
|  | 283         case SVG_ANGLETYPE_DEG: | 
|  | 284             m_valueInSpecifiedUnits = turn2deg(m_valueInSpecifiedUnits); | 
|  | 285             break; | 
|  | 286         case SVG_ANGLETYPE_RAD: | 
|  | 287             m_valueInSpecifiedUnits = deg2rad(turn2deg(m_valueInSpecifiedUnits))
     ; | 
|  | 288             break; | 
|  | 289         case SVG_ANGLETYPE_TURN: | 
|  | 290         case SVG_ANGLETYPE_UNKNOWN: | 
|  | 291             ASSERT_NOT_REACHED(); | 
|  | 292             break; | 
|  | 293         } | 
|  | 294         break; | 
| 266     case SVG_ANGLETYPE_RAD: | 295     case SVG_ANGLETYPE_RAD: | 
| 267         switch (unitType) { | 296         switch (unitType) { | 
| 268         case SVG_ANGLETYPE_GRAD: | 297         case SVG_ANGLETYPE_GRAD: | 
| 269             m_valueInSpecifiedUnits = rad2grad(m_valueInSpecifiedUnits); | 298             m_valueInSpecifiedUnits = rad2grad(m_valueInSpecifiedUnits); | 
| 270             break; | 299             break; | 
| 271         case SVG_ANGLETYPE_UNSPECIFIED: | 300         case SVG_ANGLETYPE_UNSPECIFIED: | 
| 272         case SVG_ANGLETYPE_DEG: | 301         case SVG_ANGLETYPE_DEG: | 
| 273             m_valueInSpecifiedUnits = rad2deg(m_valueInSpecifiedUnits); | 302             m_valueInSpecifiedUnits = rad2deg(m_valueInSpecifiedUnits); | 
| 274             break; | 303             break; | 
|  | 304         case SVG_ANGLETYPE_TURN: | 
|  | 305             m_valueInSpecifiedUnits = deg2turn(rad2deg(m_valueInSpecifiedUnits))
     ; | 
|  | 306             break; | 
| 275         case SVG_ANGLETYPE_RAD: | 307         case SVG_ANGLETYPE_RAD: | 
| 276         case SVG_ANGLETYPE_UNKNOWN: | 308         case SVG_ANGLETYPE_UNKNOWN: | 
| 277             ASSERT_NOT_REACHED(); | 309             ASSERT_NOT_REACHED(); | 
| 278             break; | 310             break; | 
| 279         } | 311         } | 
| 280         break; | 312         break; | 
| 281     case SVG_ANGLETYPE_GRAD: | 313     case SVG_ANGLETYPE_GRAD: | 
| 282         switch (unitType) { | 314         switch (unitType) { | 
| 283         case SVG_ANGLETYPE_RAD: | 315         case SVG_ANGLETYPE_RAD: | 
| 284             m_valueInSpecifiedUnits = grad2rad(m_valueInSpecifiedUnits); | 316             m_valueInSpecifiedUnits = grad2rad(m_valueInSpecifiedUnits); | 
| 285             break; | 317             break; | 
| 286         case SVG_ANGLETYPE_UNSPECIFIED: | 318         case SVG_ANGLETYPE_UNSPECIFIED: | 
| 287         case SVG_ANGLETYPE_DEG: | 319         case SVG_ANGLETYPE_DEG: | 
| 288             m_valueInSpecifiedUnits = grad2deg(m_valueInSpecifiedUnits); | 320             m_valueInSpecifiedUnits = grad2deg(m_valueInSpecifiedUnits); | 
| 289             break; | 321             break; | 
|  | 322         case SVG_ANGLETYPE_TURN: | 
|  | 323             m_valueInSpecifiedUnits = grad2turn(m_valueInSpecifiedUnits); | 
|  | 324             break; | 
| 290         case SVG_ANGLETYPE_GRAD: | 325         case SVG_ANGLETYPE_GRAD: | 
| 291         case SVG_ANGLETYPE_UNKNOWN: | 326         case SVG_ANGLETYPE_UNKNOWN: | 
| 292             ASSERT_NOT_REACHED(); | 327             ASSERT_NOT_REACHED(); | 
| 293             break; | 328             break; | 
| 294         } | 329         } | 
| 295         break; | 330         break; | 
| 296     case SVG_ANGLETYPE_UNSPECIFIED: | 331     case SVG_ANGLETYPE_UNSPECIFIED: | 
| 297         // Spec: For angles, a unitless value is treated the same as if degrees 
     were specified. | 332         // Spec: For angles, a unitless value is treated the same as if degrees 
     were specified. | 
| 298     case SVG_ANGLETYPE_DEG: | 333     case SVG_ANGLETYPE_DEG: | 
| 299         switch (unitType) { | 334         switch (unitType) { | 
| 300         case SVG_ANGLETYPE_RAD: | 335         case SVG_ANGLETYPE_RAD: | 
| 301             m_valueInSpecifiedUnits = deg2rad(m_valueInSpecifiedUnits); | 336             m_valueInSpecifiedUnits = deg2rad(m_valueInSpecifiedUnits); | 
| 302             break; | 337             break; | 
| 303         case SVG_ANGLETYPE_GRAD: | 338         case SVG_ANGLETYPE_GRAD: | 
| 304             m_valueInSpecifiedUnits = deg2grad(m_valueInSpecifiedUnits); | 339             m_valueInSpecifiedUnits = deg2grad(m_valueInSpecifiedUnits); | 
| 305             break; | 340             break; | 
|  | 341         case SVG_ANGLETYPE_TURN: | 
|  | 342             m_valueInSpecifiedUnits = deg2turn(m_valueInSpecifiedUnits); | 
|  | 343             break; | 
| 306         case SVG_ANGLETYPE_UNSPECIFIED: | 344         case SVG_ANGLETYPE_UNSPECIFIED: | 
|  | 345         case SVG_ANGLETYPE_DEG: | 
| 307             break; | 346             break; | 
| 308         case SVG_ANGLETYPE_DEG: |  | 
| 309         case SVG_ANGLETYPE_UNKNOWN: | 347         case SVG_ANGLETYPE_UNKNOWN: | 
| 310             ASSERT_NOT_REACHED(); | 348             ASSERT_NOT_REACHED(); | 
| 311             break; | 349             break; | 
| 312         } | 350         } | 
| 313         break; | 351         break; | 
| 314     case SVG_ANGLETYPE_UNKNOWN: | 352     case SVG_ANGLETYPE_UNKNOWN: | 
| 315         ASSERT_NOT_REACHED(); | 353         ASSERT_NOT_REACHED(); | 
| 316         break; | 354         break; | 
| 317     } | 355     } | 
| 318 | 356 | 
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 389 | 427 | 
| 390 void SVGAngle::orientTypeChanged() | 428 void SVGAngle::orientTypeChanged() | 
| 391 { | 429 { | 
| 392     if (orientType()->enumValue() == SVGMarkerOrientAuto) { | 430     if (orientType()->enumValue() == SVGMarkerOrientAuto) { | 
| 393         m_unitType = SVG_ANGLETYPE_UNSPECIFIED; | 431         m_unitType = SVG_ANGLETYPE_UNSPECIFIED; | 
| 394         m_valueInSpecifiedUnits = 0; | 432         m_valueInSpecifiedUnits = 0; | 
| 395     } | 433     } | 
| 396 } | 434 } | 
| 397 | 435 | 
| 398 } | 436 } | 
| OLD | NEW | 
|---|