| 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 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> | 3 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
| 4 | 4 |
| 5 This file is part of the KDE project | 5 This file is part of the KDE project |
| 6 | 6 |
| 7 This library is free software; you can redistribute it and/or | 7 This library is free software; you can redistribute it and/or |
| 8 modify it under the terms of the GNU Library General Public | 8 modify it under the terms of the GNU Library General Public |
| 9 License as published by the Free Software Foundation; either | 9 License as published by the Free Software Foundation; either |
| 10 version 2 of the License, or (at your option) any later version. | 10 version 2 of the License, or (at your option) any later version. |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 { | 171 { |
| 172 TransformationMatrix temp; | 172 TransformationMatrix temp; |
| 173 | 173 |
| 174 if (align() == SVG_PRESERVEASPECTRATIO_UNKNOWN) | 174 if (align() == SVG_PRESERVEASPECTRATIO_UNKNOWN) |
| 175 return temp; | 175 return temp; |
| 176 | 176 |
| 177 double vpar = logicWidth / logicHeight; | 177 double vpar = logicWidth / logicHeight; |
| 178 double svgar = physWidth / physHeight; | 178 double svgar = physWidth / physHeight; |
| 179 | 179 |
| 180 if (align() == SVG_PRESERVEASPECTRATIO_NONE) { | 180 if (align() == SVG_PRESERVEASPECTRATIO_NONE) { |
| 181 temp.scale(physWidth / logicWidth, physHeight / logicHeight); | 181 temp.scaleNonUniform(physWidth / logicWidth, physHeight / logicHeight); |
| 182 temp.translate(-logicX, -logicY); | 182 temp.translate(-logicX, -logicY); |
| 183 } else if (vpar < svgar && (meetOrSlice() == SVG_MEETORSLICE_MEET) || vpar >
= svgar && (meetOrSlice() == SVG_MEETORSLICE_SLICE)) { | 183 } else if (vpar < svgar && (meetOrSlice() == SVG_MEETORSLICE_MEET) || vpar >
= svgar && (meetOrSlice() == SVG_MEETORSLICE_SLICE)) { |
| 184 temp.scale(physHeight / logicHeight, physHeight / logicHeight); | 184 temp.scaleNonUniform(physHeight / logicHeight, physHeight / logicHeight)
; |
| 185 | 185 |
| 186 if (align() == SVG_PRESERVEASPECTRATIO_XMINYMIN || align() == SVG_PRESER
VEASPECTRATIO_XMINYMID || align() == SVG_PRESERVEASPECTRATIO_XMINYMAX) | 186 if (align() == SVG_PRESERVEASPECTRATIO_XMINYMIN || align() == SVG_PRESER
VEASPECTRATIO_XMINYMID || align() == SVG_PRESERVEASPECTRATIO_XMINYMAX) |
| 187 temp.translate(-logicX, -logicY); | 187 temp.translate(-logicX, -logicY); |
| 188 else if (align() == SVG_PRESERVEASPECTRATIO_XMIDYMIN || align() == SVG_P
RESERVEASPECTRATIO_XMIDYMID || align() == SVG_PRESERVEASPECTRATIO_XMIDYMAX) | 188 else if (align() == SVG_PRESERVEASPECTRATIO_XMIDYMIN || align() == SVG_P
RESERVEASPECTRATIO_XMIDYMID || align() == SVG_PRESERVEASPECTRATIO_XMIDYMAX) |
| 189 temp.translate(-logicX - (logicWidth - physWidth * logicHeight / phy
sHeight) / 2, -logicY); | 189 temp.translate(-logicX - (logicWidth - physWidth * logicHeight / phy
sHeight) / 2, -logicY); |
| 190 else | 190 else |
| 191 temp.translate(-logicX - (logicWidth - physWidth * logicHeight / phy
sHeight), -logicY); | 191 temp.translate(-logicX - (logicWidth - physWidth * logicHeight / phy
sHeight), -logicY); |
| 192 } else { | 192 } else { |
| 193 temp.scale(physWidth / logicWidth, physWidth / logicWidth); | 193 temp.scaleNonUniform(physWidth / logicWidth, physWidth / logicWidth); |
| 194 | 194 |
| 195 if (align() == SVG_PRESERVEASPECTRATIO_XMINYMIN || align() == SVG_PRESER
VEASPECTRATIO_XMIDYMIN || align() == SVG_PRESERVEASPECTRATIO_XMAXYMIN) | 195 if (align() == SVG_PRESERVEASPECTRATIO_XMINYMIN || align() == SVG_PRESER
VEASPECTRATIO_XMIDYMIN || align() == SVG_PRESERVEASPECTRATIO_XMAXYMIN) |
| 196 temp.translate(-logicX, -logicY); | 196 temp.translate(-logicX, -logicY); |
| 197 else if (align() == SVG_PRESERVEASPECTRATIO_XMINYMID || align() == SVG_P
RESERVEASPECTRATIO_XMIDYMID || align() == SVG_PRESERVEASPECTRATIO_XMAXYMID) | 197 else if (align() == SVG_PRESERVEASPECTRATIO_XMINYMID || align() == SVG_P
RESERVEASPECTRATIO_XMIDYMID || align() == SVG_PRESERVEASPECTRATIO_XMAXYMID) |
| 198 temp.translate(-logicX, -logicY - (logicHeight - physHeight * logicW
idth / physWidth) / 2); | 198 temp.translate(-logicX, -logicY - (logicHeight - physHeight * logicW
idth / physWidth) / 2); |
| 199 else | 199 else |
| 200 temp.translate(-logicX, -logicY - (logicHeight - physHeight * logicW
idth / physWidth)); | 200 temp.translate(-logicX, -logicY - (logicHeight - physHeight * logicW
idth / physWidth)); |
| 201 } | 201 } |
| 202 | 202 |
| 203 return temp; | 203 return temp; |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 result += " slice"; | 252 result += " slice"; |
| 253 break; | 253 break; |
| 254 }; | 254 }; |
| 255 | 255 |
| 256 return result; | 256 return result; |
| 257 } | 257 } |
| 258 | 258 |
| 259 } | 259 } |
| 260 | 260 |
| 261 #endif // ENABLE(SVG) | 261 #endif // ENABLE(SVG) |
| OLD | NEW |