void tst_QSvgGenerator::construction() { QSvgGenerator generator; QCOMPARE(generator.fileName(), QString()); QCOMPARE(generator.outputDevice(), (QIODevice *)0); QCOMPARE(generator.resolution(), 72); QCOMPARE(generator.size(), QSize()); }
bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgEllipse(const QDomElement &element) { //ellipse horisontal and vertical radius qreal rx = element.attribute(aRx).toDouble(); qreal ry = element.attribute(aRy).toDouble(); QSvgGenerator *generator = createSvgGenerator(rx * 2, ry * 2); //fill and stroke color QColor fillColor = colorFromString(element.attribute(aFill)); QColor strokeColor = colorFromString(element.attribute(aStroke)); int strokeWidth = element.attribute(aStrokewidth).toInt(); //ellipse center coordinates qreal cx = element.attribute(aCx).toDouble(); qreal cy = element.attribute(aCy).toDouble(); //init painter to paint to svg QPainter painter; painter.begin(generator); QPen pen(strokeColor); pen.setWidth(strokeWidth); painter.setPen(pen); painter.setBrush(QBrush(fillColor)); painter.drawEllipse(0, 0, rx * 2, ry * 2); painter.end(); UBGraphicsSvgItem *svgItem = mCurrentScene->addSvg(QUrl::fromLocalFile(generator->fileName())); QTransform transform; QString textTransform = element.attribute(aTransform); svgItem->resetTransform(); if (!textTransform.isNull()) { transform = transformFromString(textTransform, svgItem); } repositionSvgItem(svgItem, rx * 2, ry * 2, cx - 2*rx, cy+ry, transform); hashSceneItem(element, svgItem); delete generator; return true; }
bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgRect(const QDomElement &element) { qreal x1 = element.attribute(aX).toDouble(); qreal y1 = element.attribute(aY).toDouble(); //rect dimensions qreal width = element.attribute(aWidth).toDouble(); qreal height = element.attribute(aHeight).toDouble(); QString textFillColor = element.attribute(aFill); QString textStrokeColor = element.attribute(aStroke); QString textStrokeWidth = element.attribute(aStrokewidth); QColor fillColor = !textFillColor.isNull() ? colorFromString(textFillColor) : QColor(); QColor strokeColor = !textStrokeColor.isNull() ? colorFromString(textStrokeColor) : QColor(); int strokeWidth = textStrokeWidth.toInt(); x1 -= strokeWidth/2; y1 -= strokeWidth/2; width += strokeWidth; height += strokeWidth; //init svg generator with temp file QSvgGenerator *generator = createSvgGenerator(width, height); //init painter to paint to svg QPainter painter; painter.begin(generator); //fill rect if (fillColor.isValid()) { painter.setBrush(QBrush(fillColor)); painter.fillRect(0, 0, width, height, fillColor); } QPen pen; if (strokeColor.isValid()) { pen.setColor(strokeColor); } if (strokeWidth) pen.setWidth(strokeWidth); painter.setPen(pen); painter.drawRect(0, 0, width, height); painter.end(); UBGraphicsSvgItem *svgItem = mCurrentScene->addSvg(QUrl::fromLocalFile(generator->fileName())); QTransform transform; QString textTransform = element.attribute(aTransform); svgItem->resetTransform(); if (!textTransform.isNull()) { transform = transformFromString(textTransform, svgItem); } repositionSvgItem(svgItem, width, height, x1, y1, transform); hashSceneItem(element, svgItem); delete generator; return true; }