qt5base-lts/src
Eskil Abrahamsen Blomfeldt ae3b5b3ab4 Add function QGlyphRun::setRawData()
To provide an optimized way of constructing QGlyphRun objects with no
copying or allocation, we add function setRawData() (naming inspired by
QByteArray::setRawData()). Data retrieved from QRawFont can be passed
directly into this. The logic is now that the data pointers in
QGlyphRunPrivate should always point to the current valid data and is
what will be used in comparisons and drawing calls. The vectors are
optimizations to avoid unnecessary copying if the user wants to use
the QVector based API (which makes it easier to manage the memory.)
This reflected in the functions that return QVectors, which will
return the stored vector if and only if it is identical to the
current pointer. Otherwise we will have to copy the memory.

The internal addition operators in QGlyphRun have been removed since
they really provide no real optimization and have an unclear definition
if the two glyph runs are based on different fonts.

Reviewed-by: Jiang Jiang
(cherry picked from commit 86d88c5b719fd3d50336d9d8e7127b8045ee82ae)

Change-Id: Id5bb55ee3d93afb32ffca850f53382e856df7b3e
Reviewed-on: http://codereview.qt.nokia.com/342
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-06-07 10:30:57 +02:00
..
3rdparty Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
corelib Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
dbus Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
gui Add function QGlyphRun::setRawData() 2011-06-07 10:30:57 +02:00
modules Updated Qt and QtBase module version number to 5.0.0 2011-05-13 13:22:30 +03:00
network Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
opengl Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
openvg Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
plugins Added private header dependencies to MeeGo graphics system plugin 2011-06-06 19:11:25 +02:00
s60installs update def files 2011-05-11 16:40:09 +02:00
s60main Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
sql Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
testlib Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
tools Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
uitools Added module CONFIG to uitools. 2011-06-06 13:29:40 +02:00
winmain Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
xml Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
qbase.pri Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
qt_install.pri Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
qt_targets.pri Moved common module profiles to be feature profiles. 2011-06-05 14:47:14 +02:00
src.pro Move uitools from QtTools to QtBase 2011-04-27 12:05:52 +02:00