equal
deleted
inserted
replaced
116 |
116 |
117 if (devType == QInternal::Widget) { |
117 if (devType == QInternal::Widget) { |
118 QRegion clip = p->paintEngine()->systemClip(); |
118 QRegion clip = p->paintEngine()->systemClip(); |
119 QTransform native = p->deviceTransform(); |
119 QTransform native = p->deviceTransform(); |
120 QTransform logical = p->combinedTransform(); |
120 QTransform logical = p->combinedTransform(); |
|
121 |
121 if (p->hasClipping()) { |
122 if (p->hasClipping()) { |
122 QRegion r = p->clipRegion(); |
123 QRegion r = p->clipRegion(); |
123 r.translate(native.dx() - logical.dx(), native.dy() - logical.dy()); |
124 r.translate(native.dx(), native.dy()); |
124 if (clip.isEmpty()) |
125 if (clip.isEmpty()) |
125 clip = r; |
126 clip = r; |
126 else |
127 else |
127 clip &= r; |
128 clip &= r; |
128 } |
129 } |
129 qt_mac_clip_cg(context, clip, 0); |
130 qt_mac_clip_cg(context, clip, 0); |
130 |
131 |
131 QPainterState *state = static_cast<QPainterState *>(pe->state); |
132 CGContextTranslateCTM(context, native.dx(), native.dy()); |
132 Q_ASSERT(state); |
|
133 if (!state->redirectionMatrix.isIdentity()) |
|
134 CGContextTranslateCTM(context, state->redirectionMatrix.dx(), state->redirectionMatrix.dy()); |
|
135 } |
133 } |
136 } |
134 } |
137 CGContextRetain(context); |
135 CGContextRetain(context); |
138 } |
136 } |
139 |
137 |
1390 CGContextSetInterpolationQuality(d->hd, kCGInterpolationHigh); |
1388 CGContextSetInterpolationQuality(d->hd, kCGInterpolationHigh); |
1391 } else { |
1389 } else { |
1392 CGContextSetInterpolationQuality(d->hd, (hints & QPainter::SmoothPixmapTransform) ? |
1390 CGContextSetInterpolationQuality(d->hd, (hints & QPainter::SmoothPixmapTransform) ? |
1393 kCGInterpolationHigh : kCGInterpolationNone); |
1391 kCGInterpolationHigh : kCGInterpolationNone); |
1394 } |
1392 } |
1395 CGContextSetShouldSmoothFonts(d->hd, hints & QPainter::TextAntialiasing); |
1393 bool textAntialiasing = (hints & QPainter::TextAntialiasing) == QPainter::TextAntialiasing; |
|
1394 if (!textAntialiasing || d->disabledSmoothFonts) { |
|
1395 d->disabledSmoothFonts = !textAntialiasing; |
|
1396 CGContextSetShouldSmoothFonts(d->hd, textAntialiasing); |
|
1397 } |
1396 } |
1398 } |
1397 |
1399 |
1398 /* |
1400 /* |
1399 Returns the size of one device pixel in user-space coordinates. |
1401 Returns the size of one device pixel in user-space coordinates. |
1400 */ |
1402 */ |