Basic QImage cleanup

Remove deprecated methods and do marked TODOs for Qt6.

Change-Id: I905743cf909776c6433616b3a7c3b544d75f2afe
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
This commit is contained in:
Allan Sandfeld Jensen 2019-12-17 17:20:44 +01:00
parent 3660461036
commit 52876e0a82
4 changed files with 1 additions and 303 deletions

View File

@ -27,7 +27,7 @@
/*!
\dontdocument (QTypeInfo QScreenOrientationChangeEvent QApplicationStateChangeEvent
QImageTextKeyLang QMetaTypeId QAbstractUndoItem
QMetaTypeId QAbstractUndoItem
QOpenGLVersionStatus
QOpenGLVersionFunctionsBackend
QOpenGLVersionFunctionsStorage

View File

@ -1381,11 +1381,7 @@ int QImage::colorCount() const
\sa colorTable(), setColor(), {QImage#Image Transformations}{Image
Transformations}
*/
#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
void QImage::setColorTable(const QVector<QRgb> &colors)
#else
void QImage::setColorTable(const QVector<QRgb> colors)
#endif
{
if (!d)
return;
@ -1395,11 +1391,7 @@ void QImage::setColorTable(const QVector<QRgb> colors)
if (!d)
return;
#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
d->colortable = colors;
#else
d->colortable = std::move(const_cast<QVector<QRgb>&>(colors));
#endif
d->has_alpha_clut = false;
for (int i = 0; i < d->colortable.size(); ++i) {
if (qAlpha(d->colortable.at(i)) != 255) {
@ -1472,25 +1464,6 @@ void QImage::setDevicePixelRatio(qreal scaleFactor)
d->devicePixelRatio = scaleFactor;
}
#if QT_DEPRECATED_SINCE(5, 10)
/*!
\since 4.6
\obsolete
Returns the number of bytes occupied by the image data.
Note this method should never be called on an image larger than 2 gigabytes.
Instead use sizeInBytes().
\sa sizeInBytes(), bytesPerLine(), bits(), {QImage#Image Information}{Image
Information}
*/
int QImage::byteCount() const
{
Q_ASSERT(!d || d->nbytes < std::numeric_limits<int>::max());
return d ? int(d->nbytes) : 0;
}
#endif
/*!
\since 5.10
Returns the image data size in bytes.
@ -1510,17 +1483,10 @@ qsizetype QImage::sizeInBytes() const
\sa scanLine()
*/
#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
qsizetype QImage::bytesPerLine() const
{
return d ? d->bytes_per_line : 0;
}
#else
int QImage::bytesPerLine() const
{
return d ? d->bytes_per_line : 0;
}
#endif
/*!
@ -4053,72 +4019,11 @@ void QImage::setText(const QString &key, const QString &value)
d->text.insert(key, value);
}
/*!
\fn QString QImage::text(const char* key, const char* language) const
\obsolete
Returns the text recorded for the given \a key in the given \a
language, or in a default language if \a language is 0.
Use text() instead.
The language the text is recorded in is no longer relevant since
the text is always set using QString and UTF-8 representation.
*/
/*!
\fn QString QImage::text(const QImageTextKeyLang& keywordAndLanguage) const
\overload
\obsolete
Returns the text recorded for the given \a keywordAndLanguage.
Use text() instead.
The language the text is recorded in is no longer relevant since
the text is always set using QString and UTF-8 representation.
*/
/*!
\fn void QImage::setText(const char* key, const char* language, const QString& text)
\obsolete
Sets the image text to the given \a text and associate it with the
given \a key. The text is recorded in the specified \a language,
or in a default language if \a language is 0.
Use setText() instead.
The language the text is recorded in is no longer relevant since
the text is always set using QString and UTF-8 representation.
\omit
Records string \a for the keyword \a key. The \a key should be
a portable keyword recognizable by other software - some suggested
values can be found in
\l{http://www.libpng.org/pub/png/spec/1.2/png-1.2-pdg.html#C.Anc-text}
{the PNG specification}. \a s can be any text. \a lang should
specify the language code (see
\l{http://www.rfc-editor.org/rfc/rfc1766.txt}{RFC 1766}) or 0.
\endomit
*/
/*
Sets the image bits to the \a pixmap contents and returns a
reference to the image.
If the image shares data with other images, it will first
dereference the shared data.
Makes a call to QPixmap::convertToImage().
*/
/*!
\internal
Used by QPainter to retrieve a paint engine for the image.
*/
QPaintEngine *QImage::paintEngine() const
{
if (!d)
@ -4364,22 +4269,6 @@ bool qt_xForm_helper(const QTransform &trueMat, int xoffset, int type, int depth
#undef IWX_LSB
#undef IWX_PIX
/*! \fn int QImage::serialNumber() const
\obsolete
Returns a number that identifies the contents of this
QImage object. Distinct QImage objects can only have the same
serial number if they refer to the same contents (but they don't
have to).
Use cacheKey() instead.
\warning The serial number doesn't necessarily change when the
image is altered. This means that it may be dangerous to use
it as a cache key.
\sa operator==()
*/
/*!
Returns a number that identifies the contents of this QImage
object. Distinct QImage objects can only have the same key if they
@ -5122,50 +5011,6 @@ QDebug operator<<(QDebug dbg, const QImage &i)
}
#endif
/*!
\fn void QImage::setNumColors(int n)
\obsolete
Resizes the color table to contain \a n entries.
\sa setColorCount()
*/
/*!
\fn int QImage::numBytes() const
\obsolete
Returns the number of bytes occupied by the image data.
\sa sizeInBytes()
*/
/*!
\fn QStringList QImage::textLanguages() const
\obsolete
Returns the language identifiers for which some texts are recorded.
Note that if you want to iterate over the list, you should iterate over a copy.
The language the text is recorded in is no longer relevant since the text is
always set using QString and UTF-8 representation.
\sa textKeys()
*/
/*!
\fn QList<QImageTextKeyLang> QImage::textList() const
\obsolete
Returns a list of QImageTextKeyLang objects that enumerate all the texts
key/language pairs set for this image.
The language the text is recorded in is no longer relevant since the text
is always set using QString and UTF-8 representation.
\sa textKeys()
*/
static Q_CONSTEXPR QPixelFormat pixelformats[] = {
//QImage::Format_Invalid:
QPixelFormat(),

View File

@ -50,10 +50,6 @@
#include <QtCore/qrect.h>
#include <QtCore/qstring.h>
#if QT_DEPRECATED_SINCE(5, 0)
#include <QtCore/qstringlist.h>
#endif
#if defined(Q_OS_DARWIN) || defined(Q_QDOC)
Q_FORWARD_DECLARE_MUTABLE_CG_TYPE(CGImage);
#endif
@ -71,27 +67,6 @@ class QVariant;
template <class T> class QVector;
struct QImageData;
class QImageDataMisc; // internal
#if QT_DEPRECATED_SINCE(5, 0)
class QImageTextKeyLang {
public:
QT_DEPRECATED QImageTextKeyLang(const char* k, const char* l) : key(k), lang(l) { }
QT_DEPRECATED QImageTextKeyLang() { }
QByteArray key;
QByteArray lang;
bool operator< (const QImageTextKeyLang& other) const
{ return key < other.key || (key==other.key && lang < other.lang); }
bool operator== (const QImageTextKeyLang& other) const
{ return key==other.key && lang==other.lang; }
inline bool operator!= (const QImageTextKeyLang &other) const
{ return !operator==(other); }
private:
friend class QImage;
QImageTextKeyLang(bool /*dummy*/) {}
};
#endif
typedef void (*QImageCleanupFunction)(void*);
@ -212,19 +187,12 @@ public:
const uchar *bits() const;
const uchar *constBits() const;
#if QT_DEPRECATED_SINCE(5, 10)
QT_DEPRECATED_X("Use sizeInBytes") int byteCount() const;
#endif
qsizetype sizeInBytes() const;
uchar *scanLine(int);
const uchar *scanLine(int) const;
const uchar *constScanLine(int) const;
#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
qsizetype bytesPerLine() const;
#else
int bytesPerLine() const;
#endif
bool valid(int x, int y) const;
bool valid(const QPoint &pt) const;
@ -245,11 +213,7 @@ public:
void setPixelColor(const QPoint &pt, const QColor &c);
QVector<QRgb> colorTable() const;
#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
void setColorTable(const QVector<QRgb> &colors);
#else
void setColorTable(const QVector<QRgb> colors);
#endif
qreal devicePixelRatio() const;
void setDevicePixelRatio(qreal scaleFactor);
@ -309,9 +273,6 @@ public:
inline static QImage fromData(const QByteArray &data, const char *format = nullptr)
{ return fromData(reinterpret_cast<const uchar *>(data.constData()), data.size(), format); }
#if QT_DEPRECATED_SINCE(5, 0)
QT_DEPRECATED inline int serialNumber() const { return cacheKey() >> 32; }
#endif
qint64 cacheKey() const;
QPaintEngine *paintEngine() const override;
@ -337,20 +298,6 @@ public:
CGImageRef toCGImage() const Q_DECL_CF_RETURNS_RETAINED;
#endif
#if QT_DEPRECATED_SINCE(5, 0)
QT_DEPRECATED inline QString text(const char *key, const char *lang = nullptr) const;
QT_DEPRECATED inline QList<QImageTextKeyLang> textList() const;
QT_DEPRECATED inline QStringList textLanguages() const;
QT_DEPRECATED inline QString text(const QImageTextKeyLang&) const;
QT_DEPRECATED inline void setText(const char* key, const char* lang, const QString&);
#endif
#if QT_DEPRECATED_SINCE(5, 0)
QT_DEPRECATED inline int numColors() const;
QT_DEPRECATED inline void setNumColors(int);
QT_DEPRECATED inline int numBytes() const;
#endif
protected:
virtual int metric(PaintDeviceMetric metric) const override;
QImage mirrored_helper(bool horizontal, bool vertical) const;
@ -385,99 +332,6 @@ inline void QImage::setPixel(const QPoint &pt, uint index_or_rgb) { setPixel(pt.
inline QColor QImage::pixelColor(const QPoint &pt) const { return pixelColor(pt.x(), pt.y()); }
inline void QImage::setPixelColor(const QPoint &pt, const QColor &c) { setPixelColor(pt.x(), pt.y(), c); }
#if QT_DEPRECATED_SINCE(5, 0)
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
inline QString QImage::text(const char* key, const char* lang) const
{
if (!d)
return QString();
QString k = QString::fromLatin1(key);
if (lang && *lang)
k += QLatin1Char('/') + QString::fromLatin1(lang);
return text(k);
}
inline QList<QImageTextKeyLang> QImage::textList() const
{
QList<QImageTextKeyLang> imageTextKeys;
if (!d)
return imageTextKeys;
QStringList keys = textKeys();
for (int i = 0; i < keys.size(); ++i) {
int index = keys.at(i).indexOf(QLatin1Char('/'));
if (index > 0) {
QImageTextKeyLang tkl(true);
tkl.key = keys.at(i).left(index).toLatin1();
tkl.lang = keys.at(i).mid(index+1).toLatin1();
imageTextKeys += tkl;
}
}
return imageTextKeys;
}
inline QStringList QImage::textLanguages() const
{
if (!d)
return QStringList();
QStringList keys = textKeys();
QStringList languages;
for (int i = 0; i < keys.size(); ++i) {
int index = keys.at(i).indexOf(QLatin1Char('/'));
if (index > 0)
languages += keys.at(i).mid(index+1);
}
return languages;
}
inline QString QImage::text(const QImageTextKeyLang&kl) const
{
if (!d)
return QString();
QString k = QString::fromLatin1(kl.key.constData());
if (!kl.lang.isEmpty())
k += QLatin1Char('/') + QString::fromLatin1(kl.lang.constData());
return text(k);
}
inline void QImage::setText(const char* key, const char* lang, const QString &s)
{
if (!d)
return;
detach();
// In case detach() ran out of memory
if (!d)
return;
QString k = QString::fromLatin1(key);
if (lang && *lang)
k += QLatin1Char('/') + QString::fromLatin1(lang);
setText(k, s);
}
QT_WARNING_POP
inline int QImage::numColors() const
{
return colorCount();
}
inline void QImage::setNumColors(int n)
{
setColorCount(n);
}
inline int QImage::numBytes() const
{
return int(sizeInBytes());
}
#endif
// QImage stream functions
#if !defined(QT_NO_DATASTREAM)

View File

@ -635,7 +635,6 @@ QT_CLASS_LIB(QIconEngineFactoryInterface, QtGui, qiconengineplugin.h)
QT_CLASS_LIB(QIconEnginePlugin, QtGui, qiconengineplugin.h)
QT_CLASS_LIB(QIconEngineFactoryInterfaceV2, QtGui, qiconengineplugin.h)
QT_CLASS_LIB(QIconEnginePluginV2, QtGui, qiconengineplugin.h)
QT_CLASS_LIB(QImageTextKeyLang, QtGui, qimage.h)
QT_CLASS_LIB(QImage, QtGui, qimage.h)
QT_CLASS_LIB(QImageIOHandler, QtGui, qimageiohandler.h)
QT_CLASS_LIB(QImageIOHandlerFactoryInterface, QtGui, qimageiohandler.h)