diff options
author | Liang Qi <liang.qi@qt.io> | 2016-05-03 15:49:15 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-05-03 15:49:15 +0200 |
commit | 6357813207c866c99aadfd91af8fb3affe891f1d (patch) | |
tree | 69464d415b12ebaa3e57d88d7b5cd113878be988 /src/gui | |
parent | 5a76a3fb03f8d1dc8cb367de1a1dc6a37048376a (diff) | |
parent | b3fcaea5f2b97d3f562add97aee48cbb469c875a (diff) |
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
configure
src/3rdparty/double-conversion/include/double-conversion/utils.h
src/corelib/global/qnamespace.qdoc
src/corelib/tools/qsimd_p.h
tests/auto/corelib/io/qfile/tst_qfile.cpp
Change-Id: I3ca1007bab5355d251c13002a18e93d81c254d34
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/image/qiconloader.cpp | 1 | ||||
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 4 | ||||
-rw-r--r-- | src/gui/opengl/qopenglfunctions.cpp | 4 | ||||
-rw-r--r-- | src/gui/painting/qoutlinemapper.cpp | 52 | ||||
-rw-r--r-- | src/gui/painting/qoutlinemapper_p.h | 23 | ||||
-rw-r--r-- | src/gui/painting/qpaintengine_raster.cpp | 6 | ||||
-rw-r--r-- | src/gui/text/qtextlayout.cpp | 19 |
7 files changed, 41 insertions, 68 deletions
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp index a600aa3299..7b6bfc60b3 100644 --- a/src/gui/image/qiconloader.cpp +++ b/src/gui/image/qiconloader.cpp @@ -158,7 +158,6 @@ QStringList QIconLoader::themeSearchPaths() const } /*! - \class QIconCacheGtkReader \internal Helper class that reads and looks up into the icon-theme.cache generated with gtk-update-icon-cache. If at any point we detect a corruption in the file diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 1f102dcec5..239c5e135b 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -1366,9 +1366,9 @@ void QGuiApplicationPrivate::init() } else if (strcmp(arg, "-testability") == 0) { loadTestability = true; } else if (strncmp(arg, "-style=", 7) == 0) { - s = QString::fromLocal8Bit(arg + 7).toLower(); + s = QString::fromLocal8Bit(arg + 7); } else if (strcmp(arg, "-style") == 0 && i < argc - 1) { - s = QString::fromLocal8Bit(argv[++i]).toLower(); + s = QString::fromLocal8Bit(argv[++i]); } else { argv[j++] = argv[i]; } diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index ea5a8e9252..e4e7c6d1b5 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -47,6 +47,10 @@ #include <qpa/qplatformintegration.h> #include <QtCore/qloggingcategory.h> +#ifdef Q_OS_INTEGRITY +#include <EGL/egl.h> +#endif + #ifndef GL_FRAMEBUFFER_SRGB_CAPABLE_EXT #define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA #endif diff --git a/src/gui/painting/qoutlinemapper.cpp b/src/gui/painting/qoutlinemapper.cpp index 9eb6ee93f2..7245b44fc7 100644 --- a/src/gui/painting/qoutlinemapper.cpp +++ b/src/gui/painting/qoutlinemapper.cpp @@ -38,9 +38,10 @@ ****************************************************************************/ #include "qoutlinemapper_p.h" -#include <private/qpainterpath_p.h> + +#include "qbezier_p.h" #include "qmath.h" -#include <private/qbezier_p.h> +#include "qpainterpath_p.h" #include <stdlib.h> @@ -187,38 +188,26 @@ void QOutlineMapper::endOutline() QPointF *elements = m_elements.data(); // Transform the outline - if (m_txop == QTransform::TxNone) { - // Nothing to do. - } else if (m_txop == QTransform::TxTranslate) { - for (int i = 0; i < m_elements.size(); ++i) { - QPointF &e = elements[i]; - e = QPointF(e.x() + m_dx, e.y() + m_dy); - } - } else if (m_txop == QTransform::TxScale) { - for (int i = 0; i < m_elements.size(); ++i) { - QPointF &e = elements[i]; - e = QPointF(m_m11 * e.x() + m_dx, m_m22 * e.y() + m_dy); - } - } else if (m_txop < QTransform::TxProject) { - for (int i = 0; i < m_elements.size(); ++i) { - QPointF &e = elements[i]; - e = QPointF(m_m11 * e.x() + m_m21 * e.y() + m_dx, - m_m22 * e.y() + m_m12 * e.x() + m_dy); - } + if (m_transform.isIdentity()) { + // Nothing to do + } else if (m_transform.type() < QTransform::TxProject) { + for (int i = 0; i < m_elements.size(); ++i) + elements[i] = m_transform.map(elements[i]); } else { const QVectorPath vp((qreal *)elements, m_elements.size(), m_element_types.size() ? m_element_types.data() : 0); QPainterPath path = vp.convertToPainterPath(); - path = QTransform(m_m11, m_m12, m_m13, m_m21, m_m22, m_m23, m_dx, m_dy, m_m33).map(path); + path = m_transform.map(path); if (!(m_outline.flags & QT_FT_OUTLINE_EVEN_ODD_FILL)) path.setFillRule(Qt::WindingFill); - uint old_txop = m_txop; - m_txop = QTransform::TxNone; - if (path.isEmpty()) + if (path.isEmpty()) { m_valid = false; - else + } else { + QTransform oldTransform = m_transform; + m_transform.reset(); convertPath(path); - m_txop = old_txop; + m_transform = oldTransform; + } return; } @@ -387,13 +376,14 @@ void QOutlineMapper::clipElements(const QPointF *elements, QPainterPath clipPath; clipPath.addRect(m_clip_rect); QPainterPath clippedPath = path.intersected(clipPath); - uint old_txop = m_txop; - m_txop = QTransform::TxNone; - if (clippedPath.isEmpty()) + if (clippedPath.isEmpty()) { m_valid = false; - else + } else { + QTransform oldTransform = m_transform; + m_transform.reset(); convertPath(clippedPath); - m_txop = old_txop; + m_transform = oldTransform; + } m_in_clip_elements = false; } diff --git a/src/gui/painting/qoutlinemapper_p.h b/src/gui/painting/qoutlinemapper_p.h index 05b2fd14ec..47413d920c 100644 --- a/src/gui/painting/qoutlinemapper_p.h +++ b/src/gui/painting/qoutlinemapper_p.h @@ -104,16 +104,7 @@ public: */ void setMatrix(const QTransform &m) { - m_m11 = m.m11(); - m_m12 = m.m12(); - m_m13 = m.m13(); - m_m21 = m.m21(); - m_m22 = m.m22(); - m_m23 = m.m23(); - m_m33 = m.m33(); - m_dx = m.dx(); - m_dy = m.dy(); - m_txop = m.type(); + m_transform = m; qreal scale; qt_scaleForTransform(m, &scale); @@ -207,20 +198,10 @@ public: QRectF controlPointRect; // only valid after endOutline() QT_FT_Outline m_outline; - uint m_txop; int m_subpath_start; - // Matrix - qreal m_m11; - qreal m_m12; - qreal m_m13; - qreal m_m21; - qreal m_m22; - qreal m_m23; - qreal m_m33; - qreal m_dx; - qreal m_dy; + QTransform m_transform; qreal m_curve_threshold; diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index d3b4acbbcd..0edd9125a3 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -1345,9 +1345,9 @@ void QRasterPaintEngine::clip(const QRegion ®ion, Qt::ClipOperation op) */ -///*! -// \internal -//*/ +/*! + \internal +*/ void QRasterPaintEngine::fillPath(const QPainterPath &path, QSpanData *fillData) { #ifdef QT_DEBUG_DRAW diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index 83f2a9bc25..f5827bb683 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -2151,7 +2151,6 @@ static QGlyphRun glyphRunWithInfo(QFontEngine *fontEngine, QGlyphRunPrivate *d = QGlyphRunPrivate::get(glyphRun); int rangeStart = textPosition; - logClusters += textPosition; while (*logClusters != glyphsStart && rangeStart < textPosition + textLength) { ++logClusters; ++rangeStart; @@ -2360,9 +2359,9 @@ QList<QGlyphRun> QTextLine::glyphRuns(int from, int length) const width, glyphsStart + start, glyphsStart + end, - logClusters, - iterator.itemStart, - iterator.itemLength)); + logClusters + relativeFrom, + relativeFrom + si.position, + relativeTo - relativeFrom + 1)); for (int i = 0; i < subLayout.numGlyphs; ++i) { QFixed justification = QFixed::fromFixed(subLayout.justifications[i].space_18d6); pos.rx() += (subLayout.advances[i] + justification).toReal(); @@ -2390,9 +2389,9 @@ QList<QGlyphRun> QTextLine::glyphRuns(int from, int length) const width, glyphsStart + start, glyphsStart + end, - logClusters, - iterator.itemStart, - iterator.itemLength); + logClusters + relativeFrom, + relativeFrom + si.position, + relativeTo - relativeFrom + 1); if (!glyphRun.isEmpty()) glyphRuns.append(glyphRun); } else { @@ -2406,9 +2405,9 @@ QList<QGlyphRun> QTextLine::glyphRuns(int from, int length) const width, glyphsStart, glyphsEnd, - logClusters, - iterator.itemStart, - iterator.itemLength); + logClusters + relativeFrom, + relativeFrom + si.position, + relativeTo - relativeFrom + 1); if (!glyphRun.isEmpty()) glyphRuns.append(glyphRun); } |