Don't transform glyph positions for Core Graphics paint engine

Since it already transformed text positions based on transform matrix
on QPainter.

Reviewed-by: Eskil
(cherry picked from commit b86c9120710bf1481df5f6541618169a82fd65b8)
This commit is contained in:
Jiang Jiang 2011-04-19 12:48:19 +02:00
parent a7b6f4c8a5
commit 0d32728af2

View File

@ -156,7 +156,8 @@ static bool qt_paintengine_supports_transformations(QPaintEngine::Type type)
{ {
return type == QPaintEngine::OpenGL2 return type == QPaintEngine::OpenGL2
|| type == QPaintEngine::OpenVG || type == QPaintEngine::OpenVG
|| type == QPaintEngine::OpenGL; || type == QPaintEngine::OpenGL
|| type == QPaintEngine::CoreGraphics;
} }
#ifndef QT_NO_DEBUG #ifndef QT_NO_DEBUG
@ -5809,7 +5810,7 @@ void QPainter::drawGlyphs(const QPointF &position, const QGlyphs &glyphs)
bool paintEngineSupportsTransformations = bool paintEngineSupportsTransformations =
d->extended != 0 d->extended != 0
? qt_paintengine_supports_transformations(d->extended->type()) ? qt_paintengine_supports_transformations(d->extended->type())
: false; : qt_paintengine_supports_transformations(d->engine->type());
for (int i=0; i<count; ++i) { for (int i=0; i<count; ++i) {
QPointF processedPosition = position + glyphPositions.at(i); QPointF processedPosition = position + glyphPositions.at(i);
if (!paintEngineSupportsTransformations) if (!paintEngineSupportsTransformations)