| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 2 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
| 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 24 matching lines...) Expand all Loading... |
| 35 | 35 |
| 36 SVGTransformDistance::SVGTransformDistance(SVGTransformType transformType, float
angle, float cx, float cy, const AffineTransform& transform) | 36 SVGTransformDistance::SVGTransformDistance(SVGTransformType transformType, float
angle, float cx, float cy, const AffineTransform& transform) |
| 37 : m_transformType(transformType) | 37 : m_transformType(transformType) |
| 38 , m_angle(angle) | 38 , m_angle(angle) |
| 39 , m_cx(cx) | 39 , m_cx(cx) |
| 40 , m_cy(cy) | 40 , m_cy(cy) |
| 41 , m_transform(transform) | 41 , m_transform(transform) |
| 42 { | 42 { |
| 43 } | 43 } |
| 44 | 44 |
| 45 SVGTransformDistance::SVGTransformDistance(PassRefPtrWillBeRawPtr<SVGTransform>
passFromSVGTransform, PassRefPtrWillBeRawPtr<SVGTransform> passToSVGTransform) | 45 SVGTransformDistance::SVGTransformDistance(RawPtr<SVGTransform> passFromSVGTrans
form, RawPtr<SVGTransform> passToSVGTransform) |
| 46 : m_angle(0) | 46 : m_angle(0) |
| 47 , m_cx(0) | 47 , m_cx(0) |
| 48 , m_cy(0) | 48 , m_cy(0) |
| 49 { | 49 { |
| 50 RefPtrWillBeRawPtr<SVGTransform> fromSVGTransform = passFromSVGTransform; | 50 RawPtr<SVGTransform> fromSVGTransform = passFromSVGTransform; |
| 51 RefPtrWillBeRawPtr<SVGTransform> toSVGTransform = passToSVGTransform; | 51 RawPtr<SVGTransform> toSVGTransform = passToSVGTransform; |
| 52 | 52 |
| 53 m_transformType = fromSVGTransform->transformType(); | 53 m_transformType = fromSVGTransform->transformType(); |
| 54 ASSERT(m_transformType == toSVGTransform->transformType()); | 54 ASSERT(m_transformType == toSVGTransform->transformType()); |
| 55 | 55 |
| 56 switch (m_transformType) { | 56 switch (m_transformType) { |
| 57 case SVG_TRANSFORM_MATRIX: | 57 case SVG_TRANSFORM_MATRIX: |
| 58 ASSERT_NOT_REACHED(); | 58 ASSERT_NOT_REACHED(); |
| 59 case SVG_TRANSFORM_UNKNOWN: | 59 case SVG_TRANSFORM_UNKNOWN: |
| 60 break; | 60 break; |
| 61 case SVG_TRANSFORM_ROTATE: { | 61 case SVG_TRANSFORM_ROTATE: { |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 } | 102 } |
| 103 case SVG_TRANSFORM_SKEWX: | 103 case SVG_TRANSFORM_SKEWX: |
| 104 case SVG_TRANSFORM_SKEWY: | 104 case SVG_TRANSFORM_SKEWY: |
| 105 return SVGTransformDistance(m_transformType, m_angle * scaleFactor, m_cx
* scaleFactor, m_cy * scaleFactor, AffineTransform()); | 105 return SVGTransformDistance(m_transformType, m_angle * scaleFactor, m_cx
* scaleFactor, m_cy * scaleFactor, AffineTransform()); |
| 106 } | 106 } |
| 107 | 107 |
| 108 ASSERT_NOT_REACHED(); | 108 ASSERT_NOT_REACHED(); |
| 109 return SVGTransformDistance(); | 109 return SVGTransformDistance(); |
| 110 } | 110 } |
| 111 | 111 |
| 112 PassRefPtrWillBeRawPtr<SVGTransform> SVGTransformDistance::addSVGTransforms(Pass
RefPtrWillBeRawPtr<SVGTransform> passFirst, PassRefPtrWillBeRawPtr<SVGTransform>
passSecond, unsigned repeatCount) | 112 RawPtr<SVGTransform> SVGTransformDistance::addSVGTransforms(RawPtr<SVGTransform>
passFirst, RawPtr<SVGTransform> passSecond, unsigned repeatCount) |
| 113 { | 113 { |
| 114 RefPtrWillBeRawPtr<SVGTransform> first = passFirst; | 114 RawPtr<SVGTransform> first = passFirst; |
| 115 RefPtrWillBeRawPtr<SVGTransform> second = passSecond; | 115 RawPtr<SVGTransform> second = passSecond; |
| 116 ASSERT(first->transformType() == second->transformType()); | 116 ASSERT(first->transformType() == second->transformType()); |
| 117 | 117 |
| 118 RefPtrWillBeRawPtr<SVGTransform> transform = SVGTransform::create(); | 118 RawPtr<SVGTransform> transform = SVGTransform::create(); |
| 119 | 119 |
| 120 switch (first->transformType()) { | 120 switch (first->transformType()) { |
| 121 case SVG_TRANSFORM_MATRIX: | 121 case SVG_TRANSFORM_MATRIX: |
| 122 ASSERT_NOT_REACHED(); | 122 ASSERT_NOT_REACHED(); |
| 123 case SVG_TRANSFORM_UNKNOWN: | 123 case SVG_TRANSFORM_UNKNOWN: |
| 124 return transform.release(); | 124 return transform.release(); |
| 125 case SVG_TRANSFORM_ROTATE: { | 125 case SVG_TRANSFORM_ROTATE: { |
| 126 transform->setRotate(first->angle() + second->angle() * repeatCount, fir
st->rotationCenter().x() + second->rotationCenter().x() * repeatCount, first->ro
tationCenter().y() + second->rotationCenter().y() * repeatCount); | 126 transform->setRotate(first->angle() + second->angle() * repeatCount, fir
st->rotationCenter().x() + second->rotationCenter().x() * repeatCount, first->ro
tationCenter().y() + second->rotationCenter().y() * repeatCount); |
| 127 return transform.release(); | 127 return transform.release(); |
| 128 } | 128 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 143 transform->setSkewX(first->angle() + second->angle() * repeatCount); | 143 transform->setSkewX(first->angle() + second->angle() * repeatCount); |
| 144 return transform.release(); | 144 return transform.release(); |
| 145 case SVG_TRANSFORM_SKEWY: | 145 case SVG_TRANSFORM_SKEWY: |
| 146 transform->setSkewY(first->angle() + second->angle() * repeatCount); | 146 transform->setSkewY(first->angle() + second->angle() * repeatCount); |
| 147 return transform.release(); | 147 return transform.release(); |
| 148 } | 148 } |
| 149 ASSERT_NOT_REACHED(); | 149 ASSERT_NOT_REACHED(); |
| 150 return transform.release(); | 150 return transform.release(); |
| 151 } | 151 } |
| 152 | 152 |
| 153 PassRefPtrWillBeRawPtr<SVGTransform> SVGTransformDistance::addToSVGTransform(Pas
sRefPtrWillBeRawPtr<SVGTransform> passTransform) const | 153 RawPtr<SVGTransform> SVGTransformDistance::addToSVGTransform(RawPtr<SVGTransform
> passTransform) const |
| 154 { | 154 { |
| 155 RefPtrWillBeRawPtr<SVGTransform> transform = passTransform; | 155 RawPtr<SVGTransform> transform = passTransform; |
| 156 ASSERT(m_transformType == transform->transformType() || m_transformType == S
VG_TRANSFORM_UNKNOWN); | 156 ASSERT(m_transformType == transform->transformType() || m_transformType == S
VG_TRANSFORM_UNKNOWN); |
| 157 | 157 |
| 158 RefPtrWillBeRawPtr<SVGTransform> newTransform = transform->clone(); | 158 RawPtr<SVGTransform> newTransform = transform->clone(); |
| 159 | 159 |
| 160 switch (m_transformType) { | 160 switch (m_transformType) { |
| 161 case SVG_TRANSFORM_MATRIX: | 161 case SVG_TRANSFORM_MATRIX: |
| 162 ASSERT_NOT_REACHED(); | 162 ASSERT_NOT_REACHED(); |
| 163 case SVG_TRANSFORM_UNKNOWN: | 163 case SVG_TRANSFORM_UNKNOWN: |
| 164 return SVGTransform::create(); | 164 return SVGTransform::create(); |
| 165 case SVG_TRANSFORM_TRANSLATE: { | 165 case SVG_TRANSFORM_TRANSLATE: { |
| 166 FloatPoint translation = transform->translate(); | 166 FloatPoint translation = transform->translate(); |
| 167 translation += FloatSize::narrowPrecision(m_transform.e(), m_transform.f
()); | 167 translation += FloatSize::narrowPrecision(m_transform.e(), m_transform.f
()); |
| 168 newTransform->setTranslate(translation.x(), translation.y()); | 168 newTransform->setTranslate(translation.x(), translation.y()); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 return static_cast<float>(sqrt(m_transform.e() * m_transform.e() + m_tra
nsform.f() * m_transform.f())); | 206 return static_cast<float>(sqrt(m_transform.e() * m_transform.e() + m_tra
nsform.f() * m_transform.f())); |
| 207 case SVG_TRANSFORM_SKEWX: | 207 case SVG_TRANSFORM_SKEWX: |
| 208 case SVG_TRANSFORM_SKEWY: | 208 case SVG_TRANSFORM_SKEWY: |
| 209 return m_angle; | 209 return m_angle; |
| 210 } | 210 } |
| 211 ASSERT_NOT_REACHED(); | 211 ASSERT_NOT_REACHED(); |
| 212 return 0; | 212 return 0; |
| 213 } | 213 } |
| 214 | 214 |
| 215 } // namespace blink | 215 } // namespace blink |
| OLD | NEW |