mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-24 02:42:55 +00:00
remove support for old data streams
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
f42b4b7dfe
commit
165b738265
19 changed files with 170 additions and 378 deletions
|
@ -517,19 +517,13 @@ void QDataStream::setByteOrder(ByteOrder bo)
|
|||
This enum provides symbolic synonyms for the data serialization
|
||||
format version numbers.
|
||||
|
||||
\value Qt_1_0 Version 1 (Qt 1.x)
|
||||
\value Qt_2_0 Version 2 (Qt 2.0)
|
||||
\value Qt_2_1 Version 3 (Qt 2.1, 2.2, 2.3)
|
||||
\value Qt_3_0 Version 4 (Qt 3.0)
|
||||
\value Qt_3_1 Version 5 (Qt 3.1, 3.2)
|
||||
\value Qt_3_3 Version 6 (Qt 3.3)
|
||||
\value Qt_4_0 Version 7 (Qt 4.0, Qt 4.1)
|
||||
\value Qt_4_1 Version 7 (Qt 4.0, Qt 4.1)
|
||||
\value Qt_4_2 Version 8 (Qt 4.2)
|
||||
\value Qt_4_3 Version 9 (Qt 4.3)
|
||||
\value Qt_4_4 Version 10 (Qt 4.4)
|
||||
\value Qt_4_5 Version 11 (Qt 4.5)
|
||||
\value Qt_4_6 Version 12 (Qt 4.6, Qt 4.7, Qt 4.8)
|
||||
\value Qt_4_0 Version 1 (Qt 4.0, Qt 4.1)
|
||||
\value Qt_4_1 Version 1 (Qt 4.0, Qt 4.1)
|
||||
\value Qt_4_2 Version 2 (Qt 4.2)
|
||||
\value Qt_4_3 Version 3 (Qt 4.3)
|
||||
\value Qt_4_4 Version 4 (Qt 4.4)
|
||||
\value Qt_4_5 Version 5 (Qt 4.5)
|
||||
\value Qt_4_6 Version 6 (Qt 4.6, Qt 4.7, Qt 4.8)
|
||||
\value Qt_4_7 Same as Qt_4_6.
|
||||
\value Qt_4_8 Same as Qt_4_6.
|
||||
|
||||
|
|
|
@ -71,25 +71,20 @@ class Q_CORE_EXPORT QDataStream
|
|||
{
|
||||
public:
|
||||
enum Version {
|
||||
Qt_1_0 = 1,
|
||||
Qt_2_0 = 2,
|
||||
Qt_2_1 = 3,
|
||||
Qt_3_0 = 4,
|
||||
Qt_3_1 = 5,
|
||||
Qt_3_3 = 6,
|
||||
Qt_4_0 = 7,
|
||||
Qt_4_0 = 1,
|
||||
Qt_4_1 = Qt_4_0,
|
||||
Qt_4_2 = 8,
|
||||
Qt_4_3 = 9,
|
||||
Qt_4_4 = 10,
|
||||
Qt_4_5 = 11,
|
||||
Qt_4_6 = 12,
|
||||
Qt_4_2 = 2,
|
||||
Qt_4_3 = 3,
|
||||
Qt_4_4 = 4,
|
||||
Qt_4_5 = 5,
|
||||
Qt_4_6 = 6,
|
||||
Qt_4_7 = Qt_4_6,
|
||||
Qt_4_8 = Qt_4_7
|
||||
Qt_4_8 = Qt_4_7,
|
||||
#if QT_VERSION >= 0x040900
|
||||
#error Add the datastream version for this Qt version
|
||||
Qt_4_9 = Qt_4_8
|
||||
#endif
|
||||
Qt_Default
|
||||
};
|
||||
|
||||
enum ByteOrder {
|
||||
|
|
|
@ -2072,11 +2072,6 @@ void QVariant::load(QDataStream &s)
|
|||
|
||||
quint32 u;
|
||||
s >> u;
|
||||
if (s.version() < QDataStream::Qt_4_0) {
|
||||
if (u >= MapFromThreeCount)
|
||||
return;
|
||||
u = map_from_three[u];
|
||||
}
|
||||
qint8 is_null = false;
|
||||
if (s.version() >= QDataStream::Qt_4_2)
|
||||
s >> is_null;
|
||||
|
@ -2116,19 +2111,6 @@ void QVariant::load(QDataStream &s)
|
|||
void QVariant::save(QDataStream &s) const
|
||||
{
|
||||
quint32 tp = type();
|
||||
if (s.version() < QDataStream::Qt_4_0) {
|
||||
int i;
|
||||
for (i = MapFromThreeCount - 1; i >= 0; i--) {
|
||||
if (map_from_three[i] == tp) {
|
||||
tp = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (i == -1) {
|
||||
s << QVariant();
|
||||
return;
|
||||
}
|
||||
}
|
||||
s << tp;
|
||||
if (s.version() >= QDataStream::Qt_4_2)
|
||||
s << qint8(d.is_null);
|
||||
|
|
|
@ -2760,7 +2760,7 @@ void QByteArray::clear()
|
|||
|
||||
QDataStream &operator<<(QDataStream &out, const QByteArray &ba)
|
||||
{
|
||||
if (ba.isNull() && out.version() >= 6) {
|
||||
if (ba.isNull()) {
|
||||
out << (quint32)0xffffffff;
|
||||
return out;
|
||||
}
|
||||
|
|
|
@ -3522,8 +3522,7 @@ QDataStream &operator>>(QDataStream &in, QTime &time)
|
|||
QDataStream &operator<<(QDataStream &out, const QDateTime &dateTime)
|
||||
{
|
||||
out << dateTime.d->date << dateTime.d->time;
|
||||
if (out.version() >= 7)
|
||||
out << (qint8)dateTime.d->spec;
|
||||
out << (qint8)dateTime.d->spec;
|
||||
return out;
|
||||
}
|
||||
|
||||
|
@ -3541,8 +3540,7 @@ QDataStream &operator>>(QDataStream &in, QDateTime &dateTime)
|
|||
|
||||
qint8 ts = (qint8)QDateTimePrivate::LocalUnknown;
|
||||
in >> dateTime.d->date >> dateTime.d->time;
|
||||
if (in.version() >= 7)
|
||||
in >> ts;
|
||||
in >> ts;
|
||||
dateTime.d->spec = (QDateTimePrivate::Spec)ts;
|
||||
return in;
|
||||
}
|
||||
|
|
|
@ -377,10 +377,7 @@ QT_BEGIN_NAMESPACE
|
|||
|
||||
QDataStream &operator<<(QDataStream &s, const QPoint &p)
|
||||
{
|
||||
if (s.version() == 1)
|
||||
s << (qint16)p.x() << (qint16)p.y();
|
||||
else
|
||||
s << (qint32)p.x() << (qint32)p.y();
|
||||
s << (qint32)p.x() << (qint32)p.y();
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@ -396,16 +393,9 @@ QDataStream &operator<<(QDataStream &s, const QPoint &p)
|
|||
|
||||
QDataStream &operator>>(QDataStream &s, QPoint &p)
|
||||
{
|
||||
if (s.version() == 1) {
|
||||
qint16 x, y;
|
||||
s >> x; p.rx() = x;
|
||||
s >> y; p.ry() = y;
|
||||
}
|
||||
else {
|
||||
qint32 x, y;
|
||||
s >> x; p.rx() = x;
|
||||
s >> y; p.ry() = y;
|
||||
}
|
||||
qint32 x, y;
|
||||
s >> x; p.rx() = x;
|
||||
s >> y; p.ry() = y;
|
||||
return s;
|
||||
}
|
||||
|
||||
|
|
|
@ -1277,12 +1277,8 @@ bool QRect::intersects(const QRect &r) const
|
|||
|
||||
QDataStream &operator<<(QDataStream &s, const QRect &r)
|
||||
{
|
||||
if (s.version() == 1)
|
||||
s << (qint16)r.left() << (qint16)r.top()
|
||||
<< (qint16)r.right() << (qint16)r.bottom();
|
||||
else
|
||||
s << (qint32)r.left() << (qint32)r.top()
|
||||
<< (qint32)r.right() << (qint32)r.bottom();
|
||||
s << (qint32)r.left() << (qint32)r.top()
|
||||
<< (qint32)r.right() << (qint32)r.bottom();
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@ -1298,16 +1294,9 @@ QDataStream &operator<<(QDataStream &s, const QRect &r)
|
|||
|
||||
QDataStream &operator>>(QDataStream &s, QRect &r)
|
||||
{
|
||||
if (s.version() == 1) {
|
||||
qint16 x1, y1, x2, y2;
|
||||
s >> x1; s >> y1; s >> x2; s >> y2;
|
||||
r.setCoords(x1, y1, x2, y2);
|
||||
}
|
||||
else {
|
||||
qint32 x1, y1, x2, y2;
|
||||
s >> x1; s >> y1; s >> x2; s >> y2;
|
||||
r.setCoords(x1, y1, x2, y2);
|
||||
}
|
||||
qint32 x1, y1, x2, y2;
|
||||
s >> x1; s >> y1; s >> x2; s >> y2;
|
||||
r.setCoords(x1, y1, x2, y2);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
|
|
@ -385,10 +385,7 @@ void QSize::scale(const QSize &s, Qt::AspectRatioMode mode)
|
|||
|
||||
QDataStream &operator<<(QDataStream &s, const QSize &sz)
|
||||
{
|
||||
if (s.version() == 1)
|
||||
s << (qint16)sz.width() << (qint16)sz.height();
|
||||
else
|
||||
s << (qint32)sz.width() << (qint32)sz.height();
|
||||
s << (qint32)sz.width() << (qint32)sz.height();
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@ -404,16 +401,9 @@ QDataStream &operator<<(QDataStream &s, const QSize &sz)
|
|||
|
||||
QDataStream &operator>>(QDataStream &s, QSize &sz)
|
||||
{
|
||||
if (s.version() == 1) {
|
||||
qint16 w, h;
|
||||
s >> w; sz.rwidth() = w;
|
||||
s >> h; sz.rheight() = h;
|
||||
}
|
||||
else {
|
||||
qint32 w, h;
|
||||
s >> w; sz.rwidth() = w;
|
||||
s >> h; sz.rheight() = h;
|
||||
}
|
||||
qint32 w, h;
|
||||
s >> w; sz.rwidth() = w;
|
||||
s >> h; sz.rheight() = h;
|
||||
return s;
|
||||
}
|
||||
#endif // QT_NO_DATASTREAM
|
||||
|
|
|
@ -7458,25 +7458,21 @@ QString &QString::setRawData(const QChar *unicode, int size)
|
|||
|
||||
QDataStream &operator<<(QDataStream &out, const QString &str)
|
||||
{
|
||||
if (out.version() == 1) {
|
||||
out << str.toLatin1();
|
||||
} else {
|
||||
if (!str.isNull() || out.version() < 3) {
|
||||
if ((out.byteOrder() == QDataStream::BigEndian) == (QSysInfo::ByteOrder == QSysInfo::BigEndian)) {
|
||||
out.writeBytes(reinterpret_cast<const char *>(str.unicode()), sizeof(QChar) * str.length());
|
||||
} else {
|
||||
QVarLengthArray<ushort> buffer(str.length());
|
||||
const ushort *data = reinterpret_cast<const ushort *>(str.constData());
|
||||
for (int i = 0; i < str.length(); i++) {
|
||||
buffer[i] = qbswap(*data);
|
||||
++data;
|
||||
}
|
||||
out.writeBytes(reinterpret_cast<const char *>(buffer.data()), sizeof(ushort) * buffer.size());
|
||||
}
|
||||
if (!str.isNull()) {
|
||||
if ((out.byteOrder() == QDataStream::BigEndian) == (QSysInfo::ByteOrder == QSysInfo::BigEndian)) {
|
||||
out.writeBytes(reinterpret_cast<const char *>(str.unicode()), sizeof(QChar) * str.length());
|
||||
} else {
|
||||
// write null marker
|
||||
out << (quint32)0xffffffff;
|
||||
QVarLengthArray<ushort> buffer(str.length());
|
||||
const ushort *data = reinterpret_cast<const ushort *>(str.constData());
|
||||
for (int i = 0; i < str.length(); i++) {
|
||||
buffer[i] = qbswap(*data);
|
||||
++data;
|
||||
}
|
||||
out.writeBytes(reinterpret_cast<const char *>(buffer.data()), sizeof(ushort) * buffer.size());
|
||||
}
|
||||
} else {
|
||||
// write null marker
|
||||
out << (quint32)0xffffffff;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
@ -7498,49 +7494,43 @@ QDataStream &operator>>(QDataStream &in, QString &str)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
if (in.version() == 1) {
|
||||
QByteArray l;
|
||||
in >> l;
|
||||
str = QString::fromLatin1(l);
|
||||
} else {
|
||||
quint32 bytes = 0;
|
||||
in >> bytes; // read size of string
|
||||
if (bytes == 0xffffffff) { // null string
|
||||
quint32 bytes = 0;
|
||||
in >> bytes; // read size of string
|
||||
if (bytes == 0xffffffff) { // null string
|
||||
str.clear();
|
||||
} else if (bytes > 0) { // not empty
|
||||
if (bytes & 0x1) {
|
||||
str.clear();
|
||||
} else if (bytes > 0) { // not empty
|
||||
if (bytes & 0x1) {
|
||||
in.setStatus(QDataStream::ReadCorruptData);
|
||||
return in;
|
||||
}
|
||||
|
||||
const quint32 Step = 1024 * 1024;
|
||||
quint32 len = bytes / 2;
|
||||
quint32 allocated = 0;
|
||||
|
||||
while (allocated < len) {
|
||||
int blockSize = qMin(Step, len - allocated);
|
||||
str.resize(allocated + blockSize);
|
||||
if (in.readRawData(reinterpret_cast<char *>(str.data()) + allocated * 2,
|
||||
blockSize * 2) != blockSize * 2) {
|
||||
str.clear();
|
||||
in.setStatus(QDataStream::ReadCorruptData);
|
||||
in.setStatus(QDataStream::ReadPastEnd);
|
||||
return in;
|
||||
}
|
||||
|
||||
const quint32 Step = 1024 * 1024;
|
||||
quint32 len = bytes / 2;
|
||||
quint32 allocated = 0;
|
||||
|
||||
while (allocated < len) {
|
||||
int blockSize = qMin(Step, len - allocated);
|
||||
str.resize(allocated + blockSize);
|
||||
if (in.readRawData(reinterpret_cast<char *>(str.data()) + allocated * 2,
|
||||
blockSize * 2) != blockSize * 2) {
|
||||
str.clear();
|
||||
in.setStatus(QDataStream::ReadPastEnd);
|
||||
return in;
|
||||
}
|
||||
allocated += blockSize;
|
||||
}
|
||||
|
||||
if ((in.byteOrder() == QDataStream::BigEndian)
|
||||
!= (QSysInfo::ByteOrder == QSysInfo::BigEndian)) {
|
||||
ushort *data = reinterpret_cast<ushort *>(str.data());
|
||||
while (len--) {
|
||||
*data = qbswap(*data);
|
||||
++data;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
str = QLatin1String("");
|
||||
allocated += blockSize;
|
||||
}
|
||||
|
||||
if ((in.byteOrder() == QDataStream::BigEndian)
|
||||
!= (QSysInfo::ByteOrder == QSysInfo::BigEndian)) {
|
||||
ushort *data = reinterpret_cast<ushort *>(str.data());
|
||||
while (len--) {
|
||||
*data = qbswap(*data);
|
||||
++data;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
str = QLatin1String("");
|
||||
}
|
||||
return in;
|
||||
}
|
||||
|
|
|
@ -4798,16 +4798,14 @@ bool QImageData::doImageIO(const QImage *image, QImageWriter *writer, int qualit
|
|||
|
||||
QDataStream &operator<<(QDataStream &s, const QImage &image)
|
||||
{
|
||||
if (s.version() >= 5) {
|
||||
if (image.isNull()) {
|
||||
s << (qint32) 0; // null image marker
|
||||
return s;
|
||||
} else {
|
||||
s << (qint32) 1;
|
||||
// continue ...
|
||||
}
|
||||
if (image.isNull()) {
|
||||
s << (qint32) 0; // null image marker
|
||||
return s;
|
||||
} else {
|
||||
s << (qint32) 1;
|
||||
// continue ...
|
||||
}
|
||||
QImageWriter writer(s.device(), s.version() == 1 ? "bmp" : "png");
|
||||
QImageWriter writer(s.device(), "png");
|
||||
writer.write(image);
|
||||
return s;
|
||||
}
|
||||
|
@ -4824,13 +4822,11 @@ QDataStream &operator<<(QDataStream &s, const QImage &image)
|
|||
|
||||
QDataStream &operator>>(QDataStream &s, QImage &image)
|
||||
{
|
||||
if (s.version() >= 5) {
|
||||
qint32 nullMarker;
|
||||
s >> nullMarker;
|
||||
if (!nullMarker) {
|
||||
image = QImage(); // null image
|
||||
return s;
|
||||
}
|
||||
qint32 nullMarker;
|
||||
s >> nullMarker;
|
||||
if (!nullMarker) {
|
||||
image = QImage(); // null image
|
||||
return s;
|
||||
}
|
||||
image = QImageReader(s.device(), 0).read();
|
||||
return s;
|
||||
|
|
|
@ -236,11 +236,8 @@ QDataStream &operator<<(QDataStream &s, const QCursor &c)
|
|||
{
|
||||
s << (qint16)c.shape(); // write shape id to stream
|
||||
if (c.shape() == Qt::BitmapCursor) { // bitmap cursor
|
||||
bool isPixmap = false;
|
||||
if (s.version() >= 7) {
|
||||
isPixmap = !c.pixmap().isNull();
|
||||
s << isPixmap;
|
||||
}
|
||||
bool isPixmap = !c.pixmap().isNull();
|
||||
s << isPixmap;
|
||||
if (isPixmap)
|
||||
s << c.pixmap();
|
||||
else
|
||||
|
@ -265,8 +262,7 @@ QDataStream &operator>>(QDataStream &s, QCursor &c)
|
|||
s >> shape; // read shape id from stream
|
||||
if (shape == Qt::BitmapCursor) { // read bitmap cursor
|
||||
bool isPixmap = false;
|
||||
if (s.version() >= 7)
|
||||
s >> isPixmap;
|
||||
s >> isPixmap;
|
||||
if (isPixmap) {
|
||||
QPixmap pm;
|
||||
QPoint hot;
|
||||
|
|
|
@ -1666,7 +1666,7 @@ QDataStream &operator<<(QDataStream &s, const QKeySequence &keysequence)
|
|||
QList<quint32> list;
|
||||
list << keysequence.d->key[0];
|
||||
|
||||
if (s.version() >= 5 && keysequence.count() > 1) {
|
||||
if (keysequence.count() > 1) {
|
||||
list << keysequence.d->key[1];
|
||||
list << keysequence.d->key[2];
|
||||
list << keysequence.d->key[3];
|
||||
|
|
|
@ -903,19 +903,11 @@ static const int oldRoles[7] = { QPalette::Foreground, QPalette::Background, QPa
|
|||
QDataStream &operator<<(QDataStream &s, const QPalette &p)
|
||||
{
|
||||
for (int grp = 0; grp < (int)QPalette::NColorGroups; grp++) {
|
||||
if (s.version() == 1) {
|
||||
// Qt 1.x
|
||||
for (int i = 0; i < NumOldRoles; ++i)
|
||||
s << p.d->br[grp][oldRoles[i]].color();
|
||||
} else {
|
||||
int max = QPalette::ToolTipText + 1;
|
||||
if (s.version() <= QDataStream::Qt_2_1)
|
||||
max = QPalette::HighlightedText + 1;
|
||||
else if (s.version() <= QDataStream::Qt_4_3)
|
||||
max = QPalette::AlternateBase + 1;
|
||||
for (int r = 0; r < max; r++)
|
||||
s << p.d->br[grp][r];
|
||||
}
|
||||
int max = QPalette::ToolTipText + 1;
|
||||
if (s.version() <= QDataStream::Qt_4_3)
|
||||
max = QPalette::AlternateBase + 1;
|
||||
for (int r = 0; r < max; r++)
|
||||
s << p.d->br[grp][r];
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
@ -940,27 +932,17 @@ static void readV1ColorGroup(QDataStream &s, QPalette &pal, QPalette::ColorGroup
|
|||
|
||||
QDataStream &operator>>(QDataStream &s, QPalette &p)
|
||||
{
|
||||
if(s.version() == 1) {
|
||||
int max = QPalette::NColorRoles;
|
||||
if (s.version() <= QDataStream::Qt_4_3) {
|
||||
p = QPalette();
|
||||
readV1ColorGroup(s, p, QPalette::Active);
|
||||
readV1ColorGroup(s, p, QPalette::Disabled);
|
||||
readV1ColorGroup(s, p, QPalette::Inactive);
|
||||
} else {
|
||||
int max = QPalette::NColorRoles;
|
||||
if (s.version() <= QDataStream::Qt_2_1) {
|
||||
p = QPalette();
|
||||
max = QPalette::HighlightedText + 1;
|
||||
} else if (s.version() <= QDataStream::Qt_4_3) {
|
||||
p = QPalette();
|
||||
max = QPalette::AlternateBase + 1;
|
||||
}
|
||||
max = QPalette::AlternateBase + 1;
|
||||
}
|
||||
|
||||
QBrush tmp;
|
||||
for(int grp = 0; grp < (int)QPalette::NColorGroups; ++grp) {
|
||||
for(int role = 0; role < max; ++role) {
|
||||
s >> tmp;
|
||||
p.setBrush((QPalette::ColorGroup)grp, (QPalette::ColorRole)role, tmp);
|
||||
}
|
||||
QBrush tmp;
|
||||
for(int grp = 0; grp < (int)QPalette::NColorGroups; ++grp) {
|
||||
for(int role = 0; role < max; ++role) {
|
||||
s >> tmp;
|
||||
p.setBrush((QPalette::ColorGroup)grp, (QPalette::ColorRole)role, tmp);
|
||||
}
|
||||
}
|
||||
return s;
|
||||
|
|
|
@ -1030,13 +1030,10 @@ QDataStream &operator<<(QDataStream &s, const QBrush &b)
|
|||
|| style == Qt::ConicalGradientPattern)
|
||||
gradient_style = true;
|
||||
|
||||
if (s.version() < QDataStream::Qt_4_0 && gradient_style)
|
||||
style = Qt::NoBrush;
|
||||
|
||||
s << style << b.color();
|
||||
if (b.style() == Qt::TexturePattern) {
|
||||
s << b.texture();
|
||||
} else if (s.version() >= QDataStream::Qt_4_0 && gradient_style) {
|
||||
} else if (gradient_style) {
|
||||
const QGradient *gradient = b.gradient();
|
||||
int type_as_int = int(gradient->type());
|
||||
s << type_as_int;
|
||||
|
|
|
@ -2503,15 +2503,6 @@ QDebug operator<<(QDebug dbg, const QColor &c)
|
|||
*/
|
||||
QDataStream &operator<<(QDataStream &stream, const QColor &color)
|
||||
{
|
||||
if (stream.version() < 7) {
|
||||
if (!color.isValid())
|
||||
return stream << quint32(0x49000000);
|
||||
quint32 p = (quint32)color.rgb();
|
||||
if (stream.version() == 1) // Swap red and blue
|
||||
p = ((p << 16) & 0xff0000) | ((p >> 16) & 0xff) | (p & 0xff00ff00);
|
||||
return stream << p;
|
||||
}
|
||||
|
||||
qint8 s = color.cspec;
|
||||
quint16 a = color.ct.argb.alpha;
|
||||
quint16 r = color.ct.argb.red;
|
||||
|
@ -2539,19 +2530,6 @@ QDataStream &operator<<(QDataStream &stream, const QColor &color)
|
|||
*/
|
||||
QDataStream &operator>>(QDataStream &stream, QColor &color)
|
||||
{
|
||||
if (stream.version() < 7) {
|
||||
quint32 p;
|
||||
stream >> p;
|
||||
if (p == 0x49000000) {
|
||||
color.invalidate();
|
||||
return stream;
|
||||
}
|
||||
if (stream.version() == 1) // Swap red and blue
|
||||
p = ((p << 16) & 0xff0000) | ((p >> 16) & 0xff) | (p & 0xff00ff00);
|
||||
color.setRgb(p);
|
||||
return stream;
|
||||
}
|
||||
|
||||
qint8 s;
|
||||
quint16 a, r, g, b, p;
|
||||
stream >> s;
|
||||
|
|
|
@ -1113,17 +1113,12 @@ Q_GUI_EXPORT QPainterPath operator *(const QPainterPath &p, const QMatrix &m)
|
|||
|
||||
QDataStream &operator<<(QDataStream &s, const QMatrix &m)
|
||||
{
|
||||
if (s.version() == 1) {
|
||||
s << (float)m.m11() << (float)m.m12() << (float)m.m21()
|
||||
<< (float)m.m22() << (float)m.dx() << (float)m.dy();
|
||||
} else {
|
||||
s << double(m.m11())
|
||||
<< double(m.m12())
|
||||
<< double(m.m21())
|
||||
<< double(m.m22())
|
||||
<< double(m.dx())
|
||||
<< double(m.dy());
|
||||
}
|
||||
s << double(m.m11())
|
||||
<< double(m.m12())
|
||||
<< double(m.m21())
|
||||
<< double(m.m22())
|
||||
<< double(m.dx())
|
||||
<< double(m.dy());
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@ -1139,22 +1134,14 @@ QDataStream &operator<<(QDataStream &s, const QMatrix &m)
|
|||
|
||||
QDataStream &operator>>(QDataStream &s, QMatrix &m)
|
||||
{
|
||||
if (s.version() == 1) {
|
||||
float m11, m12, m21, m22, dx, dy;
|
||||
s >> m11; s >> m12; s >> m21; s >> m22;
|
||||
s >> dx; s >> dy;
|
||||
m.setMatrix(m11, m12, m21, m22, dx, dy);
|
||||
}
|
||||
else {
|
||||
double m11, m12, m21, m22, dx, dy;
|
||||
s >> m11;
|
||||
s >> m12;
|
||||
s >> m21;
|
||||
s >> m22;
|
||||
s >> dx;
|
||||
s >> dy;
|
||||
m.setMatrix(m11, m12, m21, m22, dx, dy);
|
||||
}
|
||||
double m11, m12, m21, m22, dx, dy;
|
||||
s >> m11;
|
||||
s >> m12;
|
||||
s >> m21;
|
||||
s >> m22;
|
||||
s >> dx;
|
||||
s >> dy;
|
||||
m.setMatrix(m11, m12, m21, m22, dx, dy);
|
||||
return s;
|
||||
}
|
||||
#endif // QT_NO_DATASTREAM
|
||||
|
|
|
@ -886,36 +886,29 @@ bool QPen::isDetached()
|
|||
QDataStream &operator<<(QDataStream &s, const QPen &p)
|
||||
{
|
||||
QPenData *dd = static_cast<QPenData *>(p.d);
|
||||
if (s.version() < 3) {
|
||||
s << (quint8)p.style();
|
||||
} else if (s.version() < QDataStream::Qt_4_3) {
|
||||
if (s.version() < QDataStream::Qt_4_3) {
|
||||
s << (quint8)(p.style() | p.capStyle() | p.joinStyle());
|
||||
} else {
|
||||
s << (quint16)(p.style() | p.capStyle() | p.joinStyle());
|
||||
s << (bool)(dd->cosmetic);
|
||||
}
|
||||
|
||||
if (s.version() < 7) {
|
||||
s << (quint8)p.width();
|
||||
s << p.color();
|
||||
s << double(p.widthF());
|
||||
s << p.brush();
|
||||
s << double(p.miterLimit());
|
||||
if (sizeof(qreal) == sizeof(double)) {
|
||||
s << p.dashPattern();
|
||||
} else {
|
||||
s << double(p.widthF());
|
||||
s << p.brush();
|
||||
s << double(p.miterLimit());
|
||||
if (sizeof(qreal) == sizeof(double)) {
|
||||
s << p.dashPattern();
|
||||
} else {
|
||||
// ensure that we write doubles here instead of streaming the pattern
|
||||
// directly; otherwise, platforms that redefine qreal might generate
|
||||
// data that cannot be read on other platforms.
|
||||
QVector<qreal> pattern = p.dashPattern();
|
||||
s << quint32(pattern.size());
|
||||
for (int i = 0; i < pattern.size(); ++i)
|
||||
s << double(pattern.at(i));
|
||||
}
|
||||
if (s.version() >= 9)
|
||||
s << double(p.dashOffset());
|
||||
// ensure that we write doubles here instead of streaming the pattern
|
||||
// directly; otherwise, platforms that redefine qreal might generate
|
||||
// data that cannot be read on other platforms.
|
||||
QVector<qreal> pattern = p.dashPattern();
|
||||
s << quint32(pattern.size());
|
||||
for (int i = 0; i < pattern.size(); ++i)
|
||||
s << double(pattern.at(i));
|
||||
}
|
||||
if (s.version() >= QDataStream::Qt_4_3)
|
||||
s << double(p.dashOffset());
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@ -948,29 +941,22 @@ QDataStream &operator>>(QDataStream &s, QPen &p)
|
|||
s >> style;
|
||||
s >> cosmetic;
|
||||
}
|
||||
if (s.version() < 7) {
|
||||
s >> width8;
|
||||
s >> color;
|
||||
brush = color;
|
||||
width = width8;
|
||||
s >> width;
|
||||
s >> brush;
|
||||
s >> miterLimit;
|
||||
if (sizeof(qreal) == sizeof(double)) {
|
||||
s >> dashPattern;
|
||||
} else {
|
||||
s >> width;
|
||||
s >> brush;
|
||||
s >> miterLimit;
|
||||
if (sizeof(qreal) == sizeof(double)) {
|
||||
s >> dashPattern;
|
||||
} else {
|
||||
quint32 numDashes;
|
||||
s >> numDashes;
|
||||
double dash;
|
||||
for (quint32 i = 0; i < numDashes; ++i) {
|
||||
s >> dash;
|
||||
dashPattern << dash;
|
||||
}
|
||||
quint32 numDashes;
|
||||
s >> numDashes;
|
||||
double dash;
|
||||
for (quint32 i = 0; i < numDashes; ++i) {
|
||||
s >> dash;
|
||||
dashPattern << dash;
|
||||
}
|
||||
if (s.version() >= 9)
|
||||
s >> dashOffset;
|
||||
}
|
||||
if (s.version() >= QDataStream::Qt_4_3)
|
||||
s >> dashOffset;
|
||||
|
||||
p.detach();
|
||||
QPenData *dd = static_cast<QPenData *>(p.d);
|
||||
|
|
|
@ -309,13 +309,7 @@ void QRegion::exec(const QByteArray &buffer, int ver, QDataStream::ByteOrder byt
|
|||
#endif
|
||||
while (!s.atEnd()) {
|
||||
qint32 id;
|
||||
if (s.version() == 1) {
|
||||
int id_int;
|
||||
s >> id_int;
|
||||
id = id_int;
|
||||
} else {
|
||||
s >> id;
|
||||
}
|
||||
s >> id;
|
||||
#ifndef QT_NO_DEBUG
|
||||
if (test_cnt > 0 && id != QRGN_TRANSLATE)
|
||||
qWarning("QRegion::exec: Internal error");
|
||||
|
@ -403,20 +397,9 @@ QDataStream &operator<<(QDataStream &s, const QRegion &r)
|
|||
if (a.isEmpty()) {
|
||||
s << (quint32)0;
|
||||
} else {
|
||||
if (s.version() == 1) {
|
||||
int i;
|
||||
for (i = a.size() - 1; i > 0; --i) {
|
||||
s << (quint32)(12 + i * 24);
|
||||
s << (int)QRGN_OR;
|
||||
}
|
||||
for (i = 0; i < a.size(); ++i) {
|
||||
s << (quint32)(4+8) << (int)QRGN_SETRECT << a[i];
|
||||
}
|
||||
} else {
|
||||
s << (quint32)(4 + 4 + 16 * a.size()); // 16: storage size of QRect
|
||||
s << (qint32)QRGN_RECTS;
|
||||
s << a;
|
||||
}
|
||||
s << (quint32)(4 + 4 + 16 * a.size()); // 16: storage size of QRect
|
||||
s << (qint32)QRGN_RECTS;
|
||||
s << a;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
|
|
@ -2103,10 +2103,8 @@ static quint8 get_font_bits(int version, const QFontPrivate *f)
|
|||
// bits |= 0x10;
|
||||
if (f->rawMode)
|
||||
bits |= 0x20;
|
||||
if (version >= QDataStream::Qt_4_0) {
|
||||
if (f->kerning)
|
||||
bits |= 0x10;
|
||||
}
|
||||
if (f->kerning)
|
||||
bits |= 0x10;
|
||||
if (f->request.style == QFont::StyleOblique)
|
||||
bits |= 0x80;
|
||||
return bits;
|
||||
|
@ -2139,8 +2137,7 @@ static void set_font_bits(int version, quint8 bits, QFontPrivate *f)
|
|||
f->request.fixedPitch = (bits & 0x08) != 0;
|
||||
// f->hintSetByUser = (bits & 0x10) != 0;
|
||||
f->rawMode = (bits & 0x20) != 0;
|
||||
if (version >= QDataStream::Qt_4_0)
|
||||
f->kerning = (bits & 0x10) != 0;
|
||||
f->kerning = (bits & 0x10) != 0;
|
||||
if ((bits & 0x80) != 0)
|
||||
f->request.style = QFont::StyleOblique;
|
||||
}
|
||||
|
@ -2263,36 +2260,15 @@ void QFont::cacheStatistics()
|
|||
*/
|
||||
QDataStream &operator<<(QDataStream &s, const QFont &font)
|
||||
{
|
||||
if (s.version() == 1) {
|
||||
s << font.d->request.family.toLatin1();
|
||||
} else {
|
||||
s << font.d->request.family;
|
||||
}
|
||||
s << font.d->request.family;
|
||||
|
||||
if (s.version() >= QDataStream::Qt_4_0) {
|
||||
// 4.0
|
||||
double pointSize = font.d->request.pointSize;
|
||||
qint32 pixelSize = font.d->request.pixelSize;
|
||||
s << pointSize;
|
||||
s << pixelSize;
|
||||
} else if (s.version() <= 3) {
|
||||
qint16 pointSize = (qint16) (font.d->request.pointSize * 10);
|
||||
if (pointSize < 0) {
|
||||
#ifdef Q_WS_X11
|
||||
pointSize = (qint16)(font.d->request.pixelSize*720/QX11Info::appDpiY());
|
||||
#else
|
||||
pointSize = (qint16)QFontInfo(font).pointSize() * 10;
|
||||
#endif
|
||||
}
|
||||
s << pointSize;
|
||||
} else {
|
||||
s << (qint16) (font.d->request.pointSize * 10);
|
||||
s << (qint16) font.d->request.pixelSize;
|
||||
}
|
||||
double pointSize = font.d->request.pointSize;
|
||||
qint32 pixelSize = font.d->request.pixelSize;
|
||||
s << pointSize;
|
||||
s << pixelSize;
|
||||
|
||||
s << (quint8) font.d->request.styleHint;
|
||||
if (s.version() >= QDataStream::Qt_3_1)
|
||||
s << (quint8) font.d->request.styleStrategy;
|
||||
s << (quint8) font.d->request.styleStrategy;
|
||||
s << (quint8) 0
|
||||
<< (quint8) font.d->request.weight
|
||||
<< get_font_bits(s.version(), font.d.data());
|
||||
|
@ -2323,33 +2299,16 @@ QDataStream &operator>>(QDataStream &s, QFont &font)
|
|||
|
||||
quint8 styleHint, styleStrategy = QFont::PreferDefault, charSet, weight, bits;
|
||||
|
||||
if (s.version() == 1) {
|
||||
QByteArray fam;
|
||||
s >> fam;
|
||||
font.d->request.family = QString::fromLatin1(fam);
|
||||
} else {
|
||||
s >> font.d->request.family;
|
||||
}
|
||||
s >> font.d->request.family;
|
||||
|
||||
if (s.version() >= QDataStream::Qt_4_0) {
|
||||
// 4.0
|
||||
double pointSize;
|
||||
qint32 pixelSize;
|
||||
s >> pointSize;
|
||||
s >> pixelSize;
|
||||
font.d->request.pointSize = qreal(pointSize);
|
||||
font.d->request.pixelSize = pixelSize;
|
||||
} else {
|
||||
qint16 pointSize, pixelSize = -1;
|
||||
s >> pointSize;
|
||||
if (s.version() >= 4)
|
||||
s >> pixelSize;
|
||||
font.d->request.pointSize = qreal(pointSize / 10.);
|
||||
font.d->request.pixelSize = pixelSize;
|
||||
}
|
||||
double pointSize;
|
||||
qint32 pixelSize;
|
||||
s >> pointSize;
|
||||
s >> pixelSize;
|
||||
font.d->request.pointSize = qreal(pointSize);
|
||||
font.d->request.pixelSize = pixelSize;
|
||||
s >> styleHint;
|
||||
if (s.version() >= QDataStream::Qt_3_1)
|
||||
s >> styleStrategy;
|
||||
s >> styleStrategy;
|
||||
|
||||
s >> charSet;
|
||||
s >> weight;
|
||||
|
|
Loading…
Add table
Reference in a new issue