diff options
author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-04-05 12:05:18 +0300 |
---|---|---|
committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-07-14 05:53:48 +0000 |
commit | 7682542b4b487003e43c4081be01c06655db3c7e (patch) | |
tree | d2a2a7900c9bd361dd23a345a16122262d4aa6a2 /src/gui/image/qpnghandler.cpp | |
parent | 4cb3c3e15aba83a32f5b4ddcf4561bc231aa4dc2 (diff) |
Factor out qt_getImageText() and qt_getImageTextFromDescription()
... and re-use them in QImageReader, QJpegHandler, QPngHandler.
Change-Id: Iec89e47205f3c420e1e7eb4a2d3c1fbfe887fd8c
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/gui/image/qpnghandler.cpp')
-rw-r--r-- | src/gui/image/qpnghandler.cpp | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp index 96d6be502d..fdf77e162c 100644 --- a/src/gui/image/qpnghandler.cpp +++ b/src/gui/image/qpnghandler.cpp @@ -49,6 +49,8 @@ #include <qvariant.h> #include <qvector.h> +#include <private/qimage_p.h> // for qt_getImageText + #include <png.h> #include <pngconf.h> @@ -718,27 +720,10 @@ void QPNGImageWriter::setGamma(float g) gamma = g; } - static void set_text(const QImage &image, png_structp png_ptr, png_infop info_ptr, const QString &description) { - QMap<QString, QString> text; - foreach (const QString &key, image.textKeys()) { - if (!key.isEmpty()) - text.insert(key, image.text(key)); - } - foreach (const QString &pair, description.split(QLatin1String("\n\n"))) { - int index = pair.indexOf(QLatin1Char(':')); - if (index >= 0 && pair.indexOf(QLatin1Char(' ')) < index) { - QString s = pair.simplified(); - if (!s.isEmpty()) - text.insert(QLatin1String("Description"), s); - } else { - QString key = pair.left(index); - if (!key.simplified().isEmpty()) - text.insert(key, pair.mid(index + 2).simplified()); - } - } + const QMap<QString, QString> text = qt_getImageText(image, description); if (text.isEmpty()) return; |