47 if (
q->format().isEmpty())
53 QBuffer *buf = qobject_cast<QBuffer *>(device);
56 res = r.load(QByteArray::fromRawData(ba.constData() + buf->pos(), ba.size() - buf->pos()));
59 }
else if (
q->format() ==
"svgz") {
60 res = r.load(device->readAll());
63 xmlReader.setDevice(device);
64 res = r.load(&xmlReader);
68 defaultSize = r.defaultSize();
106 bool xform = (d->clipRect.isValid() || d->scaledSize.isValid() || d->scaledClipRect.isValid());
107 QSize finalSize = d->defaultSize;
109 if (xform && !d->defaultSize.isEmpty()) {
110 bounds = QRectF(QPointF(0,0), QSizeF(d->defaultSize));
113 if (d->clipRect.isValid()) {
114 tr1 = -d->clipRect.topLeft();
115 finalSize = d->clipRect.size();
117 if (d->scaledSize.isValid()) {
118 sc = QSizeF(qreal(d->scaledSize.width()) / finalSize.width(),
119 qreal(d->scaledSize.height()) / finalSize.height());
120 finalSize = d->scaledSize;
122 if (d->scaledClipRect.isValid()) {
123 tr2 = -d->scaledClipRect.topLeft();
124 finalSize = d->scaledClipRect.size();
127 t.translate(tr2.x(), tr2.y());
128 t.scale(sc.width(), sc.height());
129 t.translate(tr1.x(), tr1.y());
130 bounds = t.mapRect(bounds);
132 if (finalSize.isEmpty()) {
135 if (qMax(finalSize.width(), finalSize.height()) > 0xffff)
137 if (!QImageIOHandler::allocateImage(finalSize, QImage::Format_ARGB32_Premultiplied, image))
139 image->fill(d->backColor.rgba());
141 d->r.render(&p, bounds);
185 d->clipRect = value.toRect();
188 d->scaledSize = value.toSize();
191 d->scaledClipRect = value.toRect();
193 case BackgroundColor:
194 d->backColor = value.value<QColor>();