| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging:
Make macdeployqt more robust against usage of symbolic links.
Document support for Linguist on Mac.
Make mac(deploy|change)qt handle dylibs that use Qt inside an app bundle.
Guard macdeployqt against @rpath and @loader_path too.
Fix typo.
OpenVG cleanup.
Include trailing space width in RTL text line width
Fix the compilation error when QT_NO_PLUGIN_CHECK was set.
Fixed holes in border image drawing by introducing new API.
Properly resolve and use glMapBuffer / glUnmapBuffer on GLES2.
Revert "fix QFileInfo::isSymLink() for NTFS mount points"
Remove debug output.
Add some sound support to the uikit platform.
Add flickrdemo uikit example project.
Fix uikit simulator build.
Get subpixel antialiasing again w/combo of raster and affine transform
Add initial support for bitmap version 4/5 headers.
optimize QRawFont::supportsCharacter()
Switch to use floating point pixelSize in QRawFont completely
Add a way to check if we have a matching family in the database.
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-15511
Reviewed-by: Eskil
|
|\ \
| |/
|/|
| |
| |
| | |
Conflicts:
src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
src/gui/text/qfont_s60.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In last fix I forgot that fd818312 was for saving and restoring the
right bearing (of last visible glyph) when a LineSeparator was hit
(which can have a different font engine but usually not visble),
thus we can't reset previousGlyph in that case. To make sure we
still get correct right bearing from the font engine used to shape
previousGlyph, we need to save that font engine as well. It does
make the code more complicated than simply saving the right bearing
when a QScriptItem boundary is hit, so hopefully it's an optimization
worth to be made (following e1915815).
Task-number: QTBUG-20423
Reviewed-by: Eskil
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The bug was introduced in fd818312. Before that, previousGlyph
is only saved in the same text item. After we moved it to
LineBreakHelper struct, it will cause crash if the font engine
in the new text item no longer contains the sub engine required
by previousGlyph.
Task-number: QTBUG-20243
Reviewed-by: Eskil
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When laying out text, a significant amount of time was being spent
querying for the font engine. This patch:
* changes the layout to only query for the engine when a new script item
is encountered.
* adds an internal cache of the previous result to
QTextEngine::fontEngine(). This catches the important case of multiline
text with few font engine changes.
With these changes layout costs are now approximately 60% of what they
were previously, as measured by the text layout benchmarks.
Reviewed-by: Eskil Abrahamsen Blomfeldt
(cherry picked from commit 0c56bef89b6e3fe4c9fb32eb8b51a6ea316a89fa)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Loading app fonts will clear the application font cache, but
QFontPrivate::engineWithScript will try to load the font again,
in Mac the font engine used here must be the one used for shaping,
because subsequent sub font engines may be added to it during the
shaping process (QCoreTextFontEngineMulti::stringToCMap). That is
why we need to fetch the font engine directly from QTextEngine's
fontEngine cache instead of QFontCache.
Task-number: QTBUG-20250
Reviewed-by: Eskil
(cherry picked from commit 1f90ae36cff8acf581d1624bf011fe3a55c623c0)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Text drawn with horizontal center alignment (AlignHCenter) and
QTextOption::IncludeTrailingSpaces flag as off should consider
the trailing space width (leading space width for RTL lines),
because textAdvance here ignores the space. Disregard that space
width here in alignLine will make RTL lines aligned a bit to
the right.
In short, for something like this:
|w1|space|text|w2|
|<- totalWidth ->|
we want to have w1 + spaceWidth = w2 = (totalWidth - textWidth)/2,
so that the actual rendered text will appear at the center of the
bounding rect.
Task-number: QTBUG-18303
Reviewed-by: Eskil
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-19260
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We need to find out the closest element in the ligature to
the point we clicked (or tapped), currently we do this by
dividing the width of that ligature glyph evenly by the number
of characters it covered. We only support Common and Greek script
at this point, ligatures in other scripts are still handled as a
whole.
Task-number: QTBUG-19260
Reviewed-by: Eskil
|
| |
| |
| |
| | |
Reviewed-by: Eskil
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For widgets like QPlainTextEdit, selection across ligatures (typically
'fi', 'ffi', 'fl', etc.) end up highlighting the entire ligature
glyphs, this patch fixed that by dividing width inside the ligature so
that selection will not expand past the actual selected characters.
Since cursor position already considered this, we merely adopted the
algorithm and made it a separated helper function for all necessary
cases. Dividing width directly looks like a temporary workaround but
works well enough so far for cursor positions.
Task-number: QTBUG-11969
Reviewed-by: Eskil
(cherry picked from commit 99fd5825dfb4d50cff93165995701a65b7a8e4ed)
|
| |
| |
| |
| |
| |
| |
| | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
So that it can take trailing space width into account when
doing right aligned text drawing.
Backported from master.
Task-number: QTBUG-18303
Reviewed-by: Eskil
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging:
Fix compiler warning in qtextdocument.cpp
Fix crash when app font is added
Use truncate only for subpixel boundingBox x position
Use more numerically robust algorithm to compute QBezier::pointAt().
Fix editable combobox style on Mac
Revert 344a4dcfe and part of 93bce787
Fix raster subpixel positioning in Lion
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Loading app fonts will clear the application font cache, but
QFontPrivate::engineWithScript will try to load the font again,
in Mac the font engine used here must be the one used for shaping,
because subsequent sub font engines may be added to it during the
shaping process (QCoreTextFontEngineMulti::stringToCMap). That is
why we need to fetch the font engine directly from QTextEngine's
fontEngine cache instead of QFontCache.
Task-number: QTBUG-20250
Reviewed-by: Eskil
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
doc/src/declarative/righttoleft.qdoc
examples/draganddrop/fridgemagnets/main.cpp
examples/script/context2d/main.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/plugins/platforms/wayland/qwaylandclipboard.cpp
src/plugins/platforms/wayland/qwaylandclipboard.h
src/plugins/platforms/wayland/qwaylanddisplay.cpp
src/s60installs/eabi/QtOpenGLu.def
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: TrustMe
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We need to find out the closest element in the ligature to
the point we clicked (or tapped), currently we do this by
dividing the width of that ligature glyph evenly by the number
of characters it covered. We only support Common and Greek script
at this point, ligatures in other scripts are still handled as a
whole.
Task-number: QTBUG-19260
Reviewed-by: Eskil
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Eskil
|
|\ \ \ \
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/gui/text/qrawfont.cpp
src/gui/text/qtextlayout.cpp
src/gui/util/qscroller.cpp
src/gui/widgets/qlineedit.cpp
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
doc/src/examples/wheel.qdoc
src/gui/util/qflickgesture.cpp
src/gui/util/qflickgesture_p.h
src/gui/util/qscroller.cpp
src/gui/util/qscroller.h
src/gui/util/qscroller_p.h
src/gui/util/qscrollerproperties.cpp
src/gui/util/qscrollerproperties.h
tests/auto/qscroller/tst_qscroller.cpp
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We cannot use QTextCursor::MoveStyle enums in QTextLine because
QTextCursor is not a QObject, while referring to that enum in
Q_PROPERTY requires it to be. That's why we need to move the
enums in Qt namespace.
Reviewed-by: David Boddie
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
API clean-up for QGlyphRun:
1. QGlyphs -> QGlyphRun
2. QGlyphRun's font()/setFont() -> rawFont()/setRawFont()
3. QPainter::drawGlyphs() -> drawGlyphRun()
4. QTextLayout and QTextFragment's glyphs() -> glyphRuns()
Reviewed-by: Jiang Jiang
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging:
Compile on Windows
Support gamma correction of text on GL
Remove QFontEngineFT::loadGlyphMetrics
Make autotest more resilient against network timeout
Do not filter adhoc clients
Lancelot: Add configurable client filtering to baseline server
Improve error reporting on failure to connect to baseline server
Fixed bug in X11 backend when creating translucent windows.
Only cleanup share widget if it has been created.
Add required font metrics functions to QRawFont
Fixed bug in QPdfEngine::addImage causing mono images to be made 32 bit
Make pixel size a qreal in QRawFont
Make sure removed QTextBlock is invalid
Make sure QFont's resolve mask is copied on compilers with C++0x support
Fix glyph position issue with fallback fonts
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-18933
Reviewed-by: Eskil
|
|/ / / |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
Conflicts:
configure
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When painting horizontally centered RTL text and selection with
trailing spaces, we need to take that space width into account
because line.textAdvance doesn't include it.
Task-number: QTBUG-18612
Reviewed-by: Eskil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bidi input can in some contexts be more intuitive if the cursor
works in visual way: pressing left arrow key always make cursor
move one character to the left regardless the language of text,
pressing right arrow key always make cursor move to the right.
It is also the behavior of Mac OS X. Based on the above reason
and requests from Symbian we implemented this support for visual
movement in BIDI text. 3 public properties are added to
QTextDocument, QTextLayout and QLineEdit respectively:
- QTextDocument::defaultCursorMoveStyle can be used to control
the cursor behavior in all widgets based on QTextDocument,
like QTextEdit, QPlainTextEdit, etc. When set to QTextCursor::
Visual, it will enable visual movement for all the cursors in
the corresponding text edit. Default is QTextCursor::Logical.
- QTextLayout::cursorMoveStyle is used for low-level cursor
manipulation. When set to Visual, it will enable visual movement
behavior for all the cursor related methods, including cursorToX,
xToCursor and drawCursor. Default is Logical.
- QLineEdit::cursorMoveStyle is used to control cursor movement
behavior in QLineEdit. Default is Logical.:
Task-number: QTBUG-13859
Reviewed-by: Eskil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The QGlyphs API was initially attempted with a bastardization of
QFont which was meant to encapsulate a single, physical font
instance (a QFontEngine) where a set of glyph indexes would make
sense. This is not how QFont was intended to be used, and it caused
several issues. At the same time, the requirement for loading a
font from ttf/otf data and be able to access it and use it without
polluting the rest of the process with the font arose. To support
these two APIs we introduce QRawFont, which is an abstraction on
top of a single physical font.
Done-with: Jiang Jiang
|
| | |
| | |
| | |
| | | |
Reviewed-by: Samuel
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QGlyphs API was initially attempted with a bastardization of
QFont which was meant to encapsulate a single, physical font
instance (a QFontEngine) where a set of glyph indexes would make
sense. This is not how QFont was intended to be used, and it caused
several issues. At the same time, the requirement for loading a
font from ttf/otf data and be able to access it and use it without
polluting the rest of the process with the font arose. To support
these two APIs we introduce QRawFont, which is an abstraction on
top of a single physical font.
Done-with: Jiang Jiang
|
| |
| |
| |
| |
| |
| |
| |
| | |
In this case we can't use line width to align the text, we have to
use the rectangle width given in QPainter::drawText for alignment
instead.
Reviewed-by: Eskil
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
configure
mkspecs/symbian-gcce/qmake.conf
qmake/generators/metamakefile.cpp
qmake/generators/win32/mingw_make.cpp
src/corelib/global/global.pri
src/corelib/global/qglobal.h
src/opengl/qgl.cpp
src/opengl/qwindowsurface_gl.cpp
src/plugins/platforms/wayland/qwaylandbuffer.h
tests/auto/qnetworkreply/tst_qnetworkreply.cpp
tools/designer/src/components/formeditor/qdesigner_resource.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we found a forced line break with line separator (e.g. '\n'),
take the right bearing of previous glyph into account, otherwise
the resulting text width will be slightly smaller than the one
without a line separator.
Task-number: QTBUG-17020
Reviewed-by: Eskil
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/webkit/imageanalyzer/imageanalyzer.h
examples/webkit/imageanalyzer/mainwindow.h
mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h
src/corelib/io/qfsfileengine_iterator_unix.cpp
src/corelib/io/qfsfileengine_iterator_win.cpp
src/corelib/kernel/qcoreapplication.cpp
src/network/access/qnetworkaccessdatabackend.cpp
src/plugins/bearer/connman/qconnmanservice_linux.cpp
src/plugins/platforms/openvglite/qwindowsurface_vglite.h
src/s60installs/bwins/QtCoreu.def
src/s60installs/eabi/QtCoreu.def
src/s60installs/s60installs.pro
tools/assistant/tools/assistant/helpviewer_qwv.h
tools/qdoc3/test/qt-html-templates.qdocconf
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \
| |/ |
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
Task: http://bugreports.qt.nokia.com/browse/QTBUG-231
Reviwed-by: Eskil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Setting the QTextOption::SuppressColors tag on a QTextDocument
breaks all text format, not just colors. This patch fix this by
selectively ignoring color properties in the format and keeping
other properties.
Task-number: QTBUG-13090
Reviewed-by: Eskil
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/painting/qpainter.cpp
src/gui/text/qtextengine.cpp
tests/auto/qimage/tst_qimage.cpp
tests/auto/qpainter/tst_qpainter.cpp
tools/qdoc3/test/assistant.qdocconf
tools/qdoc3/test/designer.qdocconf
tools/qdoc3/test/linguist.qdocconf
tools/qdoc3/test/qmake.qdocconf
tools/qdoc3/test/qt-build-docs.qdocconf
tools/qdoc3/test/qt-html-templates.qdocconf
tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf
tools/qdoc3/test/qt.qdocconf
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Neither of the Mac font engines have implemented minimum right bearing,
which will cause them to return 0 for the minimum value. This will
cause the right bearing to never be calculated prior to breaking
and thus never be a part of the breaking width. Since actually
implementing the functions is too time consuming for right now, we
will disable the optimization for the time being.
Reviewed-by: Olivier
|