void QEmulationPaintEngine::drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap, QPainter::PixmapFragmentHints hints) { if (state()->bgMode == Qt::OpaqueMode && pixmap.isQBitmap()) { qreal oldOpacity = real_engine->state()->opacity; QTransform oldTransform = real_engine->state()->matrix; for (int i = 0; i < fragmentCount; ++i) { QTransform transform = oldTransform; transform.translate(fragments[i].x, fragments[i].y); transform.rotate(fragments[i].rotation); real_engine->state()->opacity = oldOpacity * fragments[i].opacity; real_engine->state()->matrix = transform; real_engine->opacityChanged(); real_engine->transformChanged(); qreal w = fragments[i].scaleX * fragments[i].width; qreal h = fragments[i].scaleY * fragments[i].height; fillBGRect(QRectF(-0.5 * w, -0.5 * h, w, h)); } real_engine->state()->opacity = oldOpacity; real_engine->state()->matrix = oldTransform; real_engine->opacityChanged(); real_engine->transformChanged(); } real_engine->drawPixmapFragments(fragments, fragmentCount, pixmap, hints); }
void QEmulationPaintEngine::drawPixmapFragments(const QRectF *targetRects, const QRectF *sourceRects, int fragmentCount, const QPixmap &pixmap, QPainter::PixmapFragmentHints hints) { if (state()->bgMode == Qt::OpaqueMode && pixmap.isQBitmap()) { for (int i = 0; i < fragmentCount; ++i) fillBGRect(targetRects[i]); } real_engine->drawPixmapFragments(targetRects, sourceRects, fragmentCount, pixmap, hints); }
void QAlphaPaintEngine::drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s) { Q_D(QAlphaPaintEngine); QRectF brect = d->m_transform.mapRect(r); if (d->m_pass == 0) { d->m_continueCall = false; if (pixmap.hasAlpha() || d->m_alphaOpacity || d->m_complexTransform || pixmap.isQBitmap()) { d->addAlphaRect(brect); } if (d->m_picengine) d->m_picengine->drawTiledPixmap(r, pixmap, s); } else { d->m_continueCall = !d->fullyContained(brect); } }
void QAlphaPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) { Q_D(QAlphaPaintEngine); QRectF tr = d->m_transform.mapRect(r); if (d->m_pass == 0) { d->m_continueCall = false; if (pm.hasAlpha() || d->m_alphaOpacity || d->m_complexTransform || pm.isQBitmap()) { d->addAlphaRect(tr); } if (d->m_picengine) d->m_picengine->drawPixmap(r, pm, sr); } else { d->m_continueCall = !d->fullyContained(tr); } }
void QEmulationPaintEngine::drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s) { if (state()->bgMode == Qt::OpaqueMode && pixmap.isQBitmap()) fillBGRect(r); real_engine->drawTiledPixmap(r, pixmap, s); }
void QEmulationPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) { if (state()->bgMode == Qt::OpaqueMode && pm.isQBitmap()) fillBGRect(r); real_engine->drawPixmap(r, pm, sr); }