From 0992a24653eacf2f32741dce91c54980a7cefe10 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Tue, 20 Sep 2011 10:19:18 +0200 Subject: [PATCH] Export QTextImageHandler and add accessor for image To allow optimizations in the scene graph, we export the private QTextImageHandler class and add a function which will fetch a given image when required, or return the cached image in the document resources. Task-number: QTBUG-20917 Change-Id: If45e51b0d9a267bc198623165e7a2cc1fb2b961f Reviewed-on: http://codereview.qt-project.org/5227 Reviewed-by: Qt Sanity Bot Reviewed-by: Jiang Jiang --- src/gui/text/qtextimagehandler.cpp | 7 +++++++ src/gui/text/qtextimagehandler_p.h | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/gui/text/qtextimagehandler.cpp b/src/gui/text/qtextimagehandler.cpp index fcc13a5..138fb1a 100644 --- a/src/gui/text/qtextimagehandler.cpp +++ b/src/gui/text/qtextimagehandler.cpp @@ -217,6 +217,13 @@ QSizeF QTextImageHandler::intrinsicSize(QTextDocument *doc, int posInDocument, c return getPixmapSize(doc, imageFormat); } +QImage QTextImageHandler::image(QTextDocument *doc, const QTextImageFormat &imageFormat) +{ + Q_ASSERT(doc != 0); + + return getImage(doc, imageFormat); +} + void QTextImageHandler::drawObject(QPainter *p, const QRectF &rect, QTextDocument *doc, int posInDocument, const QTextFormat &format) { Q_UNUSED(posInDocument) diff --git a/src/gui/text/qtextimagehandler_p.h b/src/gui/text/qtextimagehandler_p.h index 8285328..8a14a46 100644 --- a/src/gui/text/qtextimagehandler_p.h +++ b/src/gui/text/qtextimagehandler_p.h @@ -60,8 +60,8 @@ QT_BEGIN_NAMESPACE class QTextImageFormat; -class QTextImageHandler : public QObject, - public QTextObjectInterface +class Q_GUI_EXPORT QTextImageHandler : public QObject, + public QTextObjectInterface { Q_OBJECT Q_INTERFACES(QTextObjectInterface) @@ -70,9 +70,10 @@ public: virtual QSizeF intrinsicSize(QTextDocument *doc, int posInDocument, const QTextFormat &format); virtual void drawObject(QPainter *p, const QRectF &rect, QTextDocument *doc, int posInDocument, const QTextFormat &format); + QImage image(QTextDocument *doc, const QTextImageFormat &imageFormat); typedef QImage (*ExternalImageLoaderFunction)(const QString &name, const QString &context); - static Q_GUI_EXPORT ExternalImageLoaderFunction externalLoader; //this is needed by Qt3Support + static ExternalImageLoaderFunction externalLoader; //this is needed by Qt3Support }; QT_END_NAMESPACE -- 2.7.4