equal
deleted
inserted
replaced
3079 |
3079 |
3080 QVarLengthArray<QFixedPoint> positions; |
3080 QVarLengthArray<QFixedPoint> positions; |
3081 QVarLengthArray<glyph_t> glyphs; |
3081 QVarLengthArray<glyph_t> glyphs; |
3082 QTransform matrix = s->matrix; |
3082 QTransform matrix = s->matrix; |
3083 matrix.translate(p.x(), p.y()); |
3083 matrix.translate(p.x(), p.y()); |
|
3084 if (matrix.type() == QTransform::TxScale) |
|
3085 fe->setFontScale(matrix.m11()); |
3084 ti.fontEngine->getGlyphPositions(ti.glyphs, matrix, ti.flags, glyphs, positions); |
3086 ti.fontEngine->getGlyphPositions(ti.glyphs, matrix, ti.flags, glyphs, positions); |
3085 |
3087 |
3086 const QFixed aliasDelta = QFixed::fromReal(aliasedCoordinateDelta); |
3088 const QFixed aliasDelta = QFixed::fromReal(aliasedCoordinateDelta); |
3087 |
3089 |
3088 for (int i=0; i<glyphs.size(); ++i) { |
3090 for (int i=0; i<glyphs.size(); ++i) { |
3094 const int x = qFloor(positions[i].x + metrics.x + aliasDelta); |
3096 const int x = qFloor(positions[i].x + metrics.x + aliasDelta); |
3095 const int y = qFloor(positions[i].y + metrics.y + aliasDelta); |
3097 const int y = qFloor(positions[i].y + metrics.y + aliasDelta); |
3096 |
3098 |
3097 alphaPenBlt(glyphBitmapBytes, glyphBitmapSize.iWidth, 8, x, y, glyphBitmapSize.iWidth, glyphBitmapSize.iHeight); |
3099 alphaPenBlt(glyphBitmapBytes, glyphBitmapSize.iWidth, 8, x, y, glyphBitmapSize.iWidth, glyphBitmapSize.iHeight); |
3098 } |
3100 } |
|
3101 |
|
3102 if (matrix.type() == QTransform::TxScale) |
|
3103 fe->setFontScale(1.0); |
3099 |
3104 |
3100 return; |
3105 return; |
3101 } |
3106 } |
3102 #endif // Q_OS_SYMBIAN && QT_NO_FREETYPE |
3107 #endif // Q_OS_SYMBIAN && QT_NO_FREETYPE |
3103 |
3108 |
3267 drawCachedGlyphs(p, ti); |
3272 drawCachedGlyphs(p, ti); |
3268 return; |
3273 return; |
3269 } |
3274 } |
3270 |
3275 |
3271 #elif defined (Q_OS_SYMBIAN) && defined(QT_NO_FREETYPE) // Q_WS_WIN || Q_WS_MAC |
3276 #elif defined (Q_OS_SYMBIAN) && defined(QT_NO_FREETYPE) // Q_WS_WIN || Q_WS_MAC |
3272 if (s->matrix.type() <= QTransform::TxTranslate) { |
3277 if (s->matrix.type() <= QTransform::TxTranslate |
|
3278 || (s->matrix.type() == QTransform::TxScale |
|
3279 && (qFuzzyCompare(s->matrix.m11(), s->matrix.m22())))) { |
3273 drawGlyphsS60(p, ti); |
3280 drawGlyphsS60(p, ti); |
3274 return; |
3281 return; |
3275 } |
3282 } |
3276 #else // Q_WS_WIN || Q_WS_MAC |
3283 #else // Q_WS_WIN || Q_WS_MAC |
3277 |
3284 |