I have made some progress with he following implementation
{
QString str
= qVariantValue<QString>
(format.
property(Window
::SvgData));
QRect rect
= fm.
boundingRect(str
);
size.setHeight(rect.height());
size.setWidth(rect.width());
}
QSizeF SvgTextObject::intrinsicSize(QTextDocument * doc, int posInDocument,
const QTextFormat &format)
{
QSize size;
QString str = qVariantValue<QString>(format.property(Window::SvgData));
QTextCursor cursor(doc);
QTextCharFormat fmt = cursor.charFormat();
QFont font = fmt.font();
QFontMetrics fm(font);
QRect rect = fm.boundingRect(str);
size.setHeight(rect.height());
size.setWidth(rect.width());
return QSizeF(size);
}
To copy to clipboard, switch view to plain text mode
{
const QString str
= qVariantValue<QString>
(format.
property(Window
::SvgData));
painter->setFont(font);
painter->drawText(rect,str);
}
void SvgTextObject::drawObject(QPainter *painter, const QRectF &rect,
QTextDocument * /*doc*/, int /*posInDocument*/,
const QTextFormat &format)
{
const QString str = qVariantValue<QString>(format.property(Window::SvgData));
QTextCursor cursor(doc);
QTextCharFormat fmt = cursor.charFormat();
QFont font = fmt.font();
painter->setFont(font);
painter->drawText(rect,str);
}
To copy to clipboard, switch view to plain text mode
Is this the correct way or is there a better way?
Thanks for your help
Bookmarks