summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-03-13 18:39:03 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2016-03-13 19:27:21 +0000
commit59a3ca679ede2cb9b6a162edf8eba5cf6d9af4a9 (patch)
tree0d0f76caa042db299cddaa84c14c28e4c80b2ffd /src/gui/painting
parent447a508d003ce487f2be69af9ab05aeec272e64d (diff)
parent50d0f57b77b8088875d7185c5906b5f57985d5fb (diff)
Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7
Diffstat (limited to 'src/gui/painting')
-rw-r--r--src/gui/painting/qcosmeticstroker.cpp12
-rw-r--r--src/gui/painting/qdrawhelper_mips_dsp.cpp6
-rw-r--r--src/gui/painting/qpagelayout.cpp33
-rw-r--r--src/gui/painting/qpagesize.cpp14
-rw-r--r--src/gui/painting/qpathclipper.cpp8
5 files changed, 32 insertions, 41 deletions
diff --git a/src/gui/painting/qcosmeticstroker.cpp b/src/gui/painting/qcosmeticstroker.cpp
index 5cbcdf83d4..ba0d1871d1 100644
--- a/src/gui/painting/qcosmeticstroker.cpp
+++ b/src/gui/painting/qcosmeticstroker.cpp
@@ -147,12 +147,14 @@ inline void drawPixel(QCosmeticStroker *stroker, int x, int y, int coverage)
if (x < cl.x() || x > cl.right() || y < cl.y() || y > cl.bottom())
return;
- int lastx = stroker->spans[stroker->current_span-1].x + stroker->spans[stroker->current_span-1].len ;
- int lasty = stroker->spans[stroker->current_span-1].y;
+ if (stroker->current_span > 0) {
+ const int lastx = stroker->spans[stroker->current_span-1].x + stroker->spans[stroker->current_span-1].len ;
+ const int lasty = stroker->spans[stroker->current_span-1].y;
- if (stroker->current_span == QCosmeticStroker::NSPANS || y < lasty || (y == lasty && x < lastx)) {
- stroker->blend(stroker->current_span, stroker->spans, &stroker->state->penData);
- stroker->current_span = 0;
+ if (stroker->current_span == QCosmeticStroker::NSPANS || y < lasty || (y == lasty && x < lastx)) {
+ stroker->blend(stroker->current_span, stroker->spans, &stroker->state->penData);
+ stroker->current_span = 0;
+ }
}
stroker->spans[stroker->current_span].x = ushort(x);
diff --git a/src/gui/painting/qdrawhelper_mips_dsp.cpp b/src/gui/painting/qdrawhelper_mips_dsp.cpp
index 81ae0f43ba..b72ca3da3d 100644
--- a/src/gui/painting/qdrawhelper_mips_dsp.cpp
+++ b/src/gui/painting/qdrawhelper_mips_dsp.cpp
@@ -495,7 +495,7 @@ void QT_FASTCALL comp_func_SourceOut_mips_dsp(uint *dest, const uint *src, int l
const uint * QT_FASTCALL qt_fetchUntransformed_888_mips_dsp (uint *buffer, const Operator *, const QSpanData *data,
int y, int x, int length)
{
- uchar *line = (uchar *)data->texture.scanLine(y) + x;
+ const uchar *line = data->texture.scanLine(y) + x * 3;
fetchUntransformed_888_asm_mips_dsp(buffer, line, length);
return buffer;
}
@@ -503,7 +503,7 @@ const uint * QT_FASTCALL qt_fetchUntransformed_888_mips_dsp (uint *buffer, const
const uint * QT_FASTCALL qt_fetchUntransformed_444_mips_dsp (uint *buffer, const Operator *, const QSpanData *data,
int y, int x, int length)
{
- uchar *line = (uchar *)data->texture.scanLine(y) + x;
+ const uchar *line = data->texture.scanLine(y) + x * 2;
fetchUntransformed_444_asm_mips_dsp(buffer, line, length);
return buffer;
}
@@ -511,7 +511,7 @@ const uint * QT_FASTCALL qt_fetchUntransformed_444_mips_dsp (uint *buffer, const
const uint * QT_FASTCALL qt_fetchUntransformed_argb8565_premultiplied_mips_dsp (uint *buffer, const Operator *, const QSpanData *data,
int y, int x, int length)
{
- uchar *line = (uchar *)data->texture.scanLine(y) + x;
+ const uchar *line = data->texture.scanLine(y) + x * 3;
fetchUntransformed_argb8565_premultiplied_asm_mips_dsp(buffer, line, length);
return buffer;
}
diff --git a/src/gui/painting/qpagelayout.cpp b/src/gui/painting/qpagelayout.cpp
index 317e6d241a..f3f7f5f956 100644
--- a/src/gui/painting/qpagelayout.cpp
+++ b/src/gui/painting/qpagelayout.cpp
@@ -949,40 +949,37 @@ QRect QPageLayout::paintRectPixels(int resolution) const
QDebug operator<<(QDebug dbg, const QPageLayout &layout)
{
QDebugStateSaver saver(dbg);
+ dbg.nospace();
+ dbg.noquote();
+ dbg << "QPageLayout(";
if (layout.isValid()) {
- QString output = QStringLiteral("QPageLayout(%1, %2, l:%3 r:%4 t:%5 b:%6 %7)");
- QString units;
+ const QMarginsF margins = layout.margins();
+ dbg << '"' << layout.pageSize().name() << "\", "
+ << (layout.orientation() == QPageLayout::Portrait ? "Portrait" : "Landscape")
+ << ", l:" << margins.left() << " r:" << margins.right() << " t:"
+ << margins.top() << " b:" << margins.bottom() << ' ';
switch (layout.units()) {
case QPageLayout::Millimeter:
- units = QStringLiteral("mm");
+ dbg << "mm";
break;
case QPageLayout::Point:
- units = QStringLiteral("pt");
+ dbg << "pt";
break;
case QPageLayout::Inch:
- units = QStringLiteral("in");
+ dbg << "in";
break;
case QPageLayout::Pica:
- units = QStringLiteral("pc");
+ dbg << "pc";
break;
case QPageLayout::Didot:
- units = QStringLiteral("DD");
+ dbg << "DD";
break;
case QPageLayout::Cicero:
- units = QStringLiteral("CC");
+ dbg << "CC";
break;
}
- output = output.arg(layout.pageSize().name())
- .arg(layout.orientation() == QPageLayout::Portrait ? QStringLiteral("Portrait") : QStringLiteral("Landscape"))
- .arg(layout.margins().left())
- .arg(layout.margins().right())
- .arg(layout.margins().top())
- .arg(layout.margins().bottom())
- .arg(units);
- dbg.nospace() << output;
- } else {
- dbg.nospace() << "QPageLayout()";
}
+ dbg << ')';
return dbg;
}
#endif
diff --git a/src/gui/painting/qpagesize.cpp b/src/gui/painting/qpagesize.cpp
index c5a2e7288b..f53285d9cb 100644
--- a/src/gui/painting/qpagesize.cpp
+++ b/src/gui/painting/qpagesize.cpp
@@ -1861,17 +1861,17 @@ QSize QPageSize::sizePixels(PageSizeId pageSizeId, int resolution)
QDebug operator<<(QDebug dbg, const QPageSize &pageSize)
{
QDebugStateSaver saver(dbg);
+ dbg.nospace();
+ dbg.noquote();
+ dbg << "QPageSize(";
if (pageSize.isValid()) {
- QString output = QStringLiteral("QPageSize(\"%1\", \"%2\", %3x%4pt, %5)");
- output = output.arg(pageSize.name())
- .arg(pageSize.key())
- .arg(pageSize.sizePoints().width())
- .arg(pageSize.sizePoints().height())
- .arg(pageSize.id());
- dbg.nospace() << output;
+ dbg << '"' << pageSize.name() << "\", key=\"" << pageSize.key()
+ << "\", " << pageSize.sizePoints().width() << 'x'
+ << pageSize.sizePoints().height() << "pt, id=" << pageSize.id();
} else {
dbg.nospace() << "QPageSize()";
}
+ dbg << ')';
return dbg;
}
#endif
diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp
index 861d651756..48ae3cfc80 100644
--- a/src/gui/painting/qpathclipper.cpp
+++ b/src/gui/painting/qpathclipper.cpp
@@ -258,8 +258,6 @@ class SegmentTree
public:
SegmentTree(QPathSegments &segments);
- QRectF boundingRect() const;
-
void produceIntersections(int segment);
private:
@@ -310,12 +308,6 @@ SegmentTree::SegmentTree(QPathSegments &segments)
m_tree[0] = root;
}
-QRectF SegmentTree::boundingRect() const
-{
- return QRectF(QPointF(m_bounds.x1, m_bounds.y1),
- QPointF(m_bounds.x2, m_bounds.y2));
-}
-
static inline qreal coordinate(const QPointF &pos, int axis)
{
return axis == 0 ? pos.x() : pos.y();