| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Task-number: QTBUG-33062
Change-Id: Iab4ccc3a2a855ee7f6964659b53b3401af436212
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
|
|
|
|
|
|
|
|
|
| |
Introduce setter for converting mm to Postscript points.
Task-number: QTBUG-31443
Change-Id: I032118322657ae2a8b3b457010218d6ea3f3e720
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit b5922c89ba942 (Add support for retina glyph-based text drawing
in the GL engine), and commit 155a20628b91 (Use QPaintEngineEx to decide
if font is too big for using the glyph cache) together changed the
behavior of drawing scaled cached glyphs in the GL engine, producing
blocky text drawing when using the FreeType font engine.
Whereas before we would cache all glyphs without any transform, and
let the paint engine take care of the transform, commit b5922c added
support for a scaled GL glyph cache, resulting in a 2x cache, drawn
at 1x for example. The problem was that the FreeType engine claimed
to support producing glyphs at 2x, but did that using the QFontEngine
baseclass implementations, which use a simple fast-transform to scale
up the glyphs. The result was a 2x cache with horrible looking glyphs.
The first step in fixing this issue was to have the FreeType engine
claim to only support translations. This would then make the paint
engine choose path-based drawing for all scaled text, which is slow.
To restore the optimization that we would draw 0.5x-2.0x scaled text
using a smooth-scale in the GL engine (which was removed in 155a206),
we then needed to extend shouldDrawCachedGlyphs() and add a special
condition for this, coupled with a bit of logic in drawCachedGlyphs()
that ensures we don't propagate the painter scale to the glyph cache
if the engine is not able to produce scaled glyphs for it. This
means we get the old behavior of the GL engine doing a smooth scale
of the 1x glyph in the cache.
Finally, since the raster engine also checks if the font engine
supports the current transform, but for FreeType then ends up in
a separate code path when actually drawing the glyphs (as the
FreeType font engine supports internal glyph caching), we need
to add a corresponding check for hasInternalCaching() in the
shouldDrawCachedGlyphs() function, now that the FreeType engine
only reports that it supports translations.
Change-Id: Id03de896dec5f29535b281fb235332ef018045d8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to a refactoring done in Qt 5.1, we would try to do projected
text painting using the glyph cache in the raster engine (the logic
to avoid this was removed when refactoring). If you only did the
projected text drawing, then you would get unprojected text with
projected glyph positions and it would look wrong.
What's worse: If you first drew unprojected text with the same
font engine, so that the font engine already had a glyph cache
stored, we would hit an assert in qtransform_equals_no_translate
which assumes cached drawing is never used for projected painters.
This puts back the logic that we never cache projected text in
the glyph cache.
Task-number: QTBUG-32193
Change-Id: I1f919961c4cf498a9c4a0b1ceb0df1937ed0d067
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Qt 4, there was a special case in qpdf.cpp which would
use the tmHeight from TEXTMETRIC to calculate the height
of the text instead of the pixel size. This was removed when
all code inside Q_WS_WIN was removed from QtGui. The tmHeight
is defined to be the same as ascent + descent, so we reinsert
this code for Windows.
It could be that this code is okay cross-platform, since the
font height and the pixel size are supposed to be the same, though
for some reason not on Windows. However, the safer approach is
to #ifdef it for Windows, since the bug is not present on
other platforms, and since it was #ifdef'd in Qt 4.
Task-number: QTBUG-30875
Change-Id: If0817768bf0ca5ce216842119422a0be944df0bf
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use Q_DECL_UNUSED for the one that is possibly unused (we have two overloads so that one gets selected):
qglobal.cpp(2069): warning #177: function "<unnamed>::fromstrerror_helper(int, const QByteArray &)" was declared but never referenced
Remove functions really not used:
qbezier.cpp(153): warning #177: function "findInflections" was declared but never referenced
qbezier.cpp(534): warning #177: function "splitBezierAt" was declared but never referenced
qpathclipper.cpp(1039): warning #177: function "midPoint" was declared but never referenced
qpainter.cpp(119): warning #177: function "check_gradient" was declared but never referenced
qdockarealayout.cpp(2580): warning #177: function "qMin(int, int, int)" was declared but never referenced
qmainwindowlayout.cpp(1019): warning #177: function "validateDockWidgetArea" was declared but never referenced
qgraphicsanchorlayout_p.cpp(670): warning #177: function "checkAdd" was declared but never referenced
qcups.cpp(481): warning #177: function "paperSize2String" was declared but never referenced
complexwidgets.cpp(373): warning #177: function "removeInvisibleWidgetsFromList" was declared but never referenced
Change-Id: I1e5558e206b04edea381442030dc69536198d966
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
|
|
|
| |
It is deprecated and clang is starting to warn about it.
Patch mostly generated by clang itself, with some careful grep
and sed for the platform-specific parts.
Change-Id: I8058e6db0f1b41b33a9e8f17a712739159982450
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|\
| |
| |
| | |
Change-Id: If29ca1b27da4592d40a7678837c359f75dac1209
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-16757
Change-Id: I3ef988f1e039c12529d62197d85a62f201e4ae12
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was broken by a previous fix which aimed to fix gaps in
polylines with tiny line segments. The result was that we
skipped updating the origin point when stroke() didn't produce
pixels which accidentally included the case of the line
being completely outside the deviceRect. I fixed this
by returning the value of clipLine in drawLine to the caller
so we could still update the origin for this case.
Task-number: QTBUG-31579
Change-Id: Iac29436f042da7658bbeaf9370351dc6f2c95065
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|/
|
|
|
|
|
|
| |
Change-Id: Ida2f59bb245ef70bf65f7e8944c4c315d5bc2f81
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This warning is pretty annoying and doesn't necessarily imply that an
application is not working properly.
Task-number: QTBUG-28613
Change-Id: Id0a2ebd91f9e4d59dce3e3e29637988d8e6175a9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
|
|
|
|
|
|
|
| |
updateMatrix will us both redirection matrix and highdpi
scale matrix, so make sure we don't multiply it in twice.
Change-Id: I7394e504746a8de54b4dc79492264deba320538f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
|
|
|
|
|
| |
Change-Id: I44b2b60e89a3312889101d7e5c305f4f7c18f7ae
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We removed all Q_WS_WIN code when going to Qt 5. One of the things
removed was the condition that we do painter path text rendering
for transformed, non-ttf fonts, since the GDI engine does not support
transforming those. This has now been reintroduced and adapted to the
QPA way of doing things, by checking for it in the font engine subclass.
Then there was the problem that QStaticText only supports cases
where the font engine can transform the glyphs. Thus we need to fall
back to regular text drawing in drawStaticText() for unsupported cases,
and we need to skip the optimized path in the raster engine (which
goes to drawStaticTextItem)
Task-number: QTBUG-30932
Change-Id: I17ba7355ee127811b0e77bb3a9b9db092e99893b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PostScript support was removed back in 2011:
34f712e79e97b757b4426e1ffa09e065c9e379a1
- The QPSPrint* classes are gone
- The QPrinter::OutputFormat enum only has NativeFormat and PdfFormat
constants
- QPaintEngine::PostScript is unused now
Change-Id: I27d595b92341f41e14bd1e4fd860eac6826d7890
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
| |
Change-Id: Ic87be3b6c7afbde869bd011a3a585b0fe7dbf15d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously QPainter computed the devicePixelRatio
based on the physical and logical dpi, and expected
that the ratio between them would be either 1x or
2x.
This was problematic for paint devices like printers
where the physical dpi can be much higher than the
logical dpi, and also for QScreen where the physical
dpi would have to be defined as a multiple of the
logical dpi.
Add QPaintDevice::PdmDevicePixelRatio and QPaintDevice::
devicePixelRatio() getter and implement it for the
QPaintDevice subclasses. Use it when calculating the
highdpi scale transform in qpainter.cpp and when scaling
the clip rect in qwidget.cpp.
Remove physical dpi scaling for QImage, QPixmap and
QOpenGLPaintDevice, reverting to the old behavior.
Change-Id: I6c97510613196d4536ff39d08e9750b8782283d4
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Use the correct metrics for the requested PageSize instead of always
defaulting to A4.
Task-number: QTBUG-30494
Change-Id: Ia3978afe3f7cc9b1ded1065416e5c3def44e7a05
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
|\
| |
| |
| | |
Change-Id: Icedabda08961326a0a447ec71f1b0f0f5df075eb
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
O3 leads to gcc bailing out with OOM on e.g. MinGW with gcc
4.7.3 onwards.
Task-number: QTBUG-29099
Change-Id: I3ce49794fa4857e756d2994454d4144cfb44ce58
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These members are in private classe, so we can safely remove them.
qpathclipper.cpp:762:9: error: private field 'm_point' is not used [-Werror,-Wunused-private-field]
qsimpledrag_p.h:100:20: error: private field 'm_cursor_drop_action' is not used
etc.
Change-Id: I35ed486eb959c49bb971700500a66411308ee7bc
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-30181
Change-Id: I8c9b515af022cb204649cb1e1f344f73a224c8b7
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
configure
mkspecs/features/qt_module_headers.prf
mkspecs/features/qt_tool.prf
src/angle/angle.pro
src/tools/bootstrap/bootstrap.pro
tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
Change-Id: Ide5759fe419a50f1c944211a48f7c66f662684e0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Expanding on the change fixing QTBUG-24762 with the realization that any
line needs to be drawn in a consistent way regardless of system or
painter clip, not just dashed lines.
Task-number: QTBUG-25036
Change-Id: Ief7ef19cc92c52e7d792500a581a072ba032767e
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This starts Qt 5.1 release cycle
Conflicts:
src/gui/text/qfontdatabase.cpp
src/gui/text/qharfbuzz_copy_p.h
src/widgets/kernel/qapplication.cpp
src/widgets/kernel/qcoreapplication.cpp
Change-Id: I72fbf83ab3c2206aeea1b089428b0fc2a89bd62b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove all trailing whitespace from the following list of files:
*.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README
excluding 3rdparty, test-data and auto generated code.
Note A): the only non 3rdparty c++-files that still
have trailing whitespace after this change are:
* src/corelib/codecs/cp949codetbl_p.h
* src/corelib/codecs/qjpunicode.cpp
* src/corelib/codecs/qbig5codec.cpp
* src/corelib/xml/qxmlstream_p.h
* src/tools/qdoc/qmlparser/qqmljsgrammar.cpp
* src/tools/uic/ui4.cpp
* tests/auto/other/qtokenautomaton/tokenizers/*
* tests/benchmarks/corelib/tools/qstring/data.cpp
* util/lexgen/tokenizer.cpp
Note B): in about 30 files some overlapping 'leading tab' and
'TAB character in non-leading whitespace' issues have been fixed
to make the sanity bot happy. Plus some general ws-fixes here
and there as asked for during review.
Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
hb_uint32 <-> quint32
HB_Glyph <-> glyph_t
HB_Fixed <-> QFixed, HB_FixedPoint <-> QFixedPoint
HB_GlyphAttributes <-> QGlyphAttributes
Change-Id: I4338ec4ce9a9c20ea591606ab10e6ef4f19931b8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1dd975926c2bea7bcc10a702739836b16b656213
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a workaround for a broken compiler
Change-Id: I10c8c750caf56036419807ec4a2439bf14cf64d6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
mkspecs/features/unix/separate_debug_info.prf
src/gui/kernel/qwindow_p.h
src/plugins/platforms/cocoa/qcocoacursor.mm
tests/auto/tools/moc/tst_moc.cpp
Change-Id: Ieb57834c00f961a747ffe51e6eb9fc9612cebccf
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/concurrent/doc/qtconcurrent.qdocconf
src/corelib/doc/qtcore.qdocconf
src/corelib/global/qglobal.h
src/dbus/doc/qtdbus.qdocconf
src/dbus/qdbusmessage.h
src/gui/doc/qtgui.qdocconf
src/gui/image/qimagereader.cpp
src/network/doc/qtnetwork.qdocconf
src/opengl/doc/qtopengl.qdocconf
src/opengl/qgl.h
src/plugins/platforms/windows/qwindowswindow.cpp
src/printsupport/doc/qtprintsupport.qdocconf
src/sql/doc/qtsql.qdocconf
src/testlib/doc/qttestlib.qdocconf
src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf
src/widgets/doc/qtwidgets.qdocconf
src/xml/doc/qtxml.qdocconf
Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
A new glyph type is added to the glyph caches for ARGB bitmap glyphs,
and the raster and OpenGL paint engines have been modified to support
this glyph type for drawCachedGlyphs().
The CoreText font engine implements support for these glyphs through
the CTFontDrawGlyphs API, since CGContextShowGlyphsWithAdvances does
not handle color glyphs.
Change-Id: Idad9ce75a911cae130d65aebe59142772a16fc12
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This avoids warnings in compilers that check for unused variables. They
can't tell that the the variable came from a header.
Change-Id: I1ea5e5bbc76d676fbb561bdc8ae6543e758de90e
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
VxWorks has defined variables with same name as in Qt's headers.
Remove these undefines because that has already done in file
src/corelib/kernel/qfunctions_vxworks.h. See related change
f7bd8652caab2f53ced739ce90c640924d4962dc.
Change-Id: I994ac9d00ca223b9fa955dfcba8ad6c8dcbd0549
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It was only used in the now removed OpenGL 1.x paint engine.
Change-Id: I2237172de700bfd31ca25279fbed21d601785962
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I598463e5990e91a5a049d1f9f7a4aa80930c0904
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
That's what the macro did anyway, except it had an extra "static"
keyword. This allows us now to use Q_ALWAYS_INLINE in non-static
contexts, if we wanted to (e.g., certain template cases).
Change-Id: I899d359f46234e93d1912ef9125080dc84e15c93
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I5f37414ee4846b4fe774361f49367bc0d5874039
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | | |
refs/staging/dev
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: I12b4d8b99bdccae53b1a978cd6eb8f4ac6fb3c76
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The macro was made empty in ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb
and is no longer necessary or used.
Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html
Change-Id: Id2bb2e2cabde059305d4af5f12593344ba30f001
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
refs/staging/dev
|
| | |\ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Conflicts:
src/corelib/io/qsavefile_p.h
src/corelib/tools/qregularexpression.cpp
src/gui/util/qvalidator.cpp
src/gui/util/qvalidator.h
Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
VxWorks compiler fails to compile *.c file with C99 style comments on it
Change-Id: Ib5c5ff14006c17f9392b77363232b8b7cc112d34
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Conflicts:
src/widgets/styles/qstyleanimation.cpp
Change-Id: Iae570895be6544de80f9c1ec309d1a08c59daff8
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Some cruft had built up over time, and this is an attempt at cleaning up
the naming and use of these functions, and should not have any behavioral
effects.
The function supportsTransformations() has been renamed in QPaintEngineEx
to reflect its use, which is to decide if QPainter needs to pre-transform
the coordinates of the static text before asking the paint-engine to draw
it. The new name is requiresPretransformedGlyphPositions().
The OpenGL and CoreGraphics (Mac) paint engines keep their behavior of
not needing pre-transformed text, while the raster engine needs this
when using cached glyphs. The base-class implementation assumes that
all transforms that include a projection will need pre-transform,
which is also the case for the raster engine.
All decisions in the paint engines about whether or not to use the
glyph cache when drawing text are now deferred to the function
shouldDrawCachedGlyphs(), which has been refactored for the GL paint
engine(s) to share more logic. All implementations call the base
class implementation, which ensures that large font sizes will not
be cached. The raster engine will in addition ask the font engine
whether or not it can produce glyphs for the glyph-cache with the
given transform.
This is the only remaining instance of the supportsTransformations()
function, and will for all font engines except the CoreText engine
support affine transformations. The CoreText engine on the other hand
only supports translations (for now).
Change-Id: I8fb5e43e3de3ef62a526a79a6dfeda7f9546771d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Change-Id: I7f0dab6bdb1f3cc1d3e6c30166ff6db9dfae37e9
|
| |\ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Conflicts:
examples/widgets/painting/shared/shared.pri
src/corelib/tools/qharfbuzz_p.h
src/corelib/tools/qunicodetools.cpp
src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
src/plugins/platforms/windows/qwindowsfontdatabase.cpp
Change-Id: Ibc9860abf570e5ce8b052fb88feb73ec35e64bd3
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
There is no reason those function shouldn't be static. This produces
no change in code, except that the functions may be better optimised.
Change-Id: Ia60b81d4e29a36190a453e8c7c8102c8f547e1a9
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|