89 VGImage image =
static_cast<VGImage>(m_texture->comparisonKey());
91 QRectF sourceRect(m_sourceA, m_spriteSize);
92 QRectF targetRect(0, 0, m_size.width(), m_size.height());
94 VGImage sourceImage = vgChildImage(image, sourceRect.x(), sourceRect.y(), sourceRect.width(), sourceRect.height());
99 vgSetPaint(opacityPaint(), VG_FILL_PATH);
100 vgSeti(VG_IMAGE_MODE, VG_DRAW_IMAGE_MULTIPLY);
102 vgSeti(VG_IMAGE_MODE, VG_DRAW_IMAGE_NORMAL);
106 vgSeti(VG_MATRIX_MODE, VG_MATRIX_IMAGE_USER_TO_SURFACE);
109 if (sourceRect != targetRect) {
111 float scaleX = targetRect.width() / sourceRect.width();
112 float scaleY = targetRect.height() / sourceRect.height();
113 vgScale(scaleX, scaleY);
116 vgDrawImage(sourceImage);
118 vgDestroyImage(sourceImage);