diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp | 5 | ||||
-rw-r--r-- | src/gui/itemmodels/qstandarditemmodel.cpp | 13 | ||||
-rw-r--r-- | src/gui/text/qfontengine_ft.cpp | 36 | ||||
-rw-r--r-- | src/gui/text/qfontengine_ft_p.h | 4 |
4 files changed, 29 insertions, 29 deletions
diff --git a/src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp b/src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp index 576aea1cf5..ca1ea21b02 100644 --- a/src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp +++ b/src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp @@ -147,10 +147,7 @@ QVariant data = QVariant::fromValue(object); //! [9] -QList<int> intList; -intList.push_back(7); -intList.push_back(11); -intList.push_back(42); +QList<int> intList = {7, 11, 42}; QVariant variant = QVariant::fromValue(intList); if (variant.canConvert<QVariantList>()) { diff --git a/src/gui/itemmodels/qstandarditemmodel.cpp b/src/gui/itemmodels/qstandarditemmodel.cpp index 3861eb8b40..5c04510af1 100644 --- a/src/gui/itemmodels/qstandarditemmodel.cpp +++ b/src/gui/itemmodels/qstandarditemmodel.cpp @@ -1805,11 +1805,12 @@ QStandardItem *QStandardItem::takeChild(int row, int column) QList<QStandardItem*> QStandardItem::takeRow(int row) { Q_D(QStandardItem); + QList<QStandardItem*> items; if ((row < 0) || (row >= rowCount())) - return QList<QStandardItem*>(); + return items; if (d->model) d->model->d_func()->rowsAboutToBeRemoved(this, row, row); - QList<QStandardItem*> items; + int index = d->childIndex(row, 0); // Will return -1 if there are no columns if (index != -1) { int col_count = d->columnCount(); @@ -1838,13 +1839,15 @@ QList<QStandardItem*> QStandardItem::takeRow(int row) QList<QStandardItem*> QStandardItem::takeColumn(int column) { Q_D(QStandardItem); + QList<QStandardItem*> items; if ((column < 0) || (column >= columnCount())) - return QList<QStandardItem*>(); + return items; if (d->model) d->model->d_func()->columnsAboutToBeRemoved(this, column, column); - QList<QStandardItem*> items; - for (int row = d->rowCount() - 1; row >= 0; --row) { + const int rowCount = d->rowCount(); + items.reserve(rowCount); + for (int row = rowCount - 1; row >= 0; --row) { int index = d->childIndex(row, column); QStandardItem *ch = d->children.at(index); if (ch) diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index e89522f5af..26ed81a091 100644 --- a/src/gui/text/qfontengine_ft.cpp +++ b/src/gui/text/qfontengine_ft.cpp @@ -259,7 +259,6 @@ QFreetypeFace *QFreetypeFace::getFace(const QFontEngine::FaceId &face_id, newFreetype->ref.store(1); newFreetype->xsize = 0; newFreetype->ysize = 0; - newFreetype->scalableBitmapScaleFactor = 1; newFreetype->matrix.xx = 0x10000; newFreetype->matrix.yy = 0x10000; newFreetype->matrix.xy = 0; @@ -335,10 +334,11 @@ void QFreetypeFace::release(const QFontEngine::FaceId &face_id) } -void QFreetypeFace::computeSize(const QFontDef &fontDef, int *xsize, int *ysize, bool *outline_drawing) +void QFreetypeFace::computeSize(const QFontDef &fontDef, int *xsize, int *ysize, bool *outline_drawing, QFixed *scalableBitmapScaleFactor) { *ysize = qRound(fontDef.pixelSize * 64); *xsize = *ysize * fontDef.stretch / 100; + *scalableBitmapScaleFactor = 1; *outline_drawing = false; if (!(face->face_flags & FT_FACE_FLAG_SCALABLE)) { @@ -376,7 +376,7 @@ void QFreetypeFace::computeSize(const QFontDef &fontDef, int *xsize, int *ysize, // to make sure we can select the desired bitmap strike index if (FT_Select_Size(face, best) == 0) { if (isScalableBitmap()) - scalableBitmapScaleFactor = QFixed::fromReal((qreal)fontDef.pixelSize / face->available_sizes[best].height); + *scalableBitmapScaleFactor = QFixed::fromReal((qreal)fontDef.pixelSize / face->available_sizes[best].height); *xsize = face->available_sizes[best].x_ppem; *ysize = face->available_sizes[best].y_ppem; } else { @@ -729,7 +729,7 @@ bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format, symbol = bool(fontDef.family.contains(QLatin1String("symbol"), Qt::CaseInsensitive)); } - freetype->computeSize(fontDef, &xsize, &ysize, &defaultGlyphSet.outline_drawing); + freetype->computeSize(fontDef, &xsize, &ysize, &defaultGlyphSet.outline_drawing, &scalableBitmapScaleFactor); FT_Face face = lockFace(); @@ -1294,24 +1294,24 @@ int QFontEngineFT::synthesized() const QFixed QFontEngineFT::ascent() const { QFixed v = QFixed::fromFixed(metrics.ascender); - if (freetype->scalableBitmapScaleFactor != 1) - v *= freetype->scalableBitmapScaleFactor; + if (scalableBitmapScaleFactor != 1) + v *= scalableBitmapScaleFactor; return v; } QFixed QFontEngineFT::descent() const { QFixed v = QFixed::fromFixed(-metrics.descender); - if (freetype->scalableBitmapScaleFactor != 1) - v *= freetype->scalableBitmapScaleFactor; + if (scalableBitmapScaleFactor != 1) + v *= scalableBitmapScaleFactor; return v; } QFixed QFontEngineFT::leading() const { QFixed v = QFixed::fromFixed(metrics.height - metrics.ascender + metrics.descender); - if (freetype->scalableBitmapScaleFactor != 1) - v *= freetype->scalableBitmapScaleFactor; + if (scalableBitmapScaleFactor != 1) + v *= scalableBitmapScaleFactor; return v; } @@ -1326,7 +1326,7 @@ QFixed QFontEngineFT::xHeight() const return answer; } } else { - return QFixed(freetype->face->size->metrics.y_ppem) * freetype->scalableBitmapScaleFactor; + return QFixed(freetype->face->size->metrics.y_ppem) * scalableBitmapScaleFactor; } return QFontEngine::xHeight(); } @@ -1352,8 +1352,8 @@ QFixed QFontEngineFT::averageCharWidth() const qreal QFontEngineFT::maxCharWidth() const { QFixed max_advance = QFixed::fromFixed(metrics.max_advance); - if (freetype->scalableBitmapScaleFactor != 1) - max_advance *= freetype->scalableBitmapScaleFactor; + if (scalableBitmapScaleFactor != 1) + max_advance *= scalableBitmapScaleFactor; return max_advance.toReal(); } @@ -1639,7 +1639,7 @@ bool QFontEngineFT::shouldUseDesignMetrics(QFontEngine::ShaperFlags flags) const QFixed QFontEngineFT::scaledBitmapMetrics(QFixed m) const { - return m * freetype->scalableBitmapScaleFactor; + return m * scalableBitmapScaleFactor; } glyph_metrics_t QFontEngineFT::scaledBitmapMetrics(const glyph_metrics_t &m) const @@ -1677,8 +1677,8 @@ void QFontEngineFT::recalcAdvances(QGlyphLayout *glyphs, QFontEngine::ShaperFlag delete g; } - if (freetype->scalableBitmapScaleFactor != 1) - glyphs->advances[i] *= freetype->scalableBitmapScaleFactor; + if (scalableBitmapScaleFactor != 1) + glyphs->advances[i] *= scalableBitmapScaleFactor; } if (face) unlockFace(); @@ -1981,9 +1981,9 @@ QImage QFontEngineFT::bitmapForGlyph(glyph_t g, QFixed subPixelPosition, const Q else if (defaultFormat == GlyphFormat::Format_Mono) img = QImage(glyph->data, glyph->width, glyph->height, QImage::Format_Mono).copy(); - if (!img.isNull() && (!t.isIdentity() || freetype->scalableBitmapScaleFactor != 1)) { + if (!img.isNull() && (!t.isIdentity() || scalableBitmapScaleFactor != 1)) { QTransform trans(t); - const qreal scaleFactor = freetype->scalableBitmapScaleFactor.toReal(); + const qreal scaleFactor = scalableBitmapScaleFactor.toReal(); trans.scale(scaleFactor, scaleFactor); img = img.transformed(trans, Qt::SmoothTransformation); } diff --git a/src/gui/text/qfontengine_ft_p.h b/src/gui/text/qfontengine_ft_p.h index 3f4bf84753..3cdf0cda47 100644 --- a/src/gui/text/qfontengine_ft_p.h +++ b/src/gui/text/qfontengine_ft_p.h @@ -75,7 +75,7 @@ class QFontconfigDatabase; class QFreetypeFace { public: - void computeSize(const QFontDef &fontDef, int *xsize, int *ysize, bool *outline_drawing); + void computeSize(const QFontDef &fontDef, int *xsize, int *ysize, bool *outline_drawing, QFixed *scalableBitmapScaleFactor); QFontEngine::Properties properties() const; bool getSfntTable(uint tag, uchar *buffer, uint *length) const; @@ -96,7 +96,6 @@ public: FT_Face face; int xsize; // 26.6 int ysize; // 26.6 - QFixed scalableBitmapScaleFactor; FT_Matrix matrix; FT_CharMap unicode_map; FT_CharMap symbol_map; @@ -340,6 +339,7 @@ private: FT_Size_Metrics metrics; mutable bool kerning_pairs_loaded; + QFixed scalableBitmapScaleFactor; }; inline uint qHash(const QFontEngineFT::GlyphAndSubPixelPosition &g) |