summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Support gamma correction of text on GLEskil Abrahamsen Blomfeldt2011-05-036-12/+60
| | | | | | | | | | | | | | | | | | | | | | | | | If the SRGB framebuffer extension in GL is available, we can support gamma correction of text with a gamma of 2.1. On Mac this is sufficient for gamma correcting subpixel antialiased text. Gray antialiasing should not be gamma corrected on Mac. On Windows, the user can potentially set the gamma value to anything between 1.0 and 2.2 (or something like that). We support anything that resembles 1.0 closely enough by pushing the text out without any correction (like before). We also support anything that resembles 2.1 (the gamma hardcoded in GL's SRGB extension) by turning on the extension before blending the text. In between the two, we'll use gray antialiasing to avoid differing too much from the raster engine (which is our reference in this.) For gray antialiasing on Windows, we use a constant gamma of 2.3 which has been determined by experimentation. Since this is close enough to 2.1 we do gamma correction with SRGB extension. The distance limit of 0.2 is determined by some experimentation. Reviewed-by: Samuel (cherry picked from commit 79ba7cceca5e4029876ace2121edd25b08ae14ce)
* Make pixel size a qreal in QRawFontEskil Abrahamsen Blomfeldt2011-05-022-5/+5
| | | | | | | | | The pixel size in the font engines is already a floating point value. For maximum flexibility, we should expose this in the public API. Task-number: QTBUG-18817 Reviewed-by: Jiang Jiang (cherry picked from commit ac9e63b58533a3215106ed9da82cff3a3e3dda3a)
* Support more items for QTextCharFormat::VerticalAlignment enum for custom ↵Dmitry Zelenkovsky2011-05-022-3/+13
| | | | | | | | | | | | | | | text objects. * QTextCharFormat::AlignNormal - support text format descent, place text object bottom on (baseline - descent). * QTextCharFormat::AlignBottom - place text object bottom on baseline. * QTextCharFormat::AlignTop - Still not supported. * Any other vertical alignment is mapped QTextCharFormat::AlignBottom. Add new enum AlignBaseline for custom inline objects to take into account font baseline. Merge-request: 2578 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> (cherry picked from commit ee9455ed2a83084692d969c398ecb91bcd4fc33a)
* Use maximum ascent/descent/leading from fallback fonts in shapingJiang Jiang2011-04-296-8/+20
| | | | | | | | | | | | | | | | When shaping a QScriptItem with a multi font engine, currently we only take the ascent/descent/leading from the primary (first) font engine in that multi font engine, however, subsequent engines used during shaping may have larger ascent/descent/leading, disregarding them may cause clipping issues in some cases. It's fixed by checking each font engine used in the shaping process and take the maximum value instead of the first one. On ATSUI we merely make it compile. Task-number: QTBUG-16719 Reviewed-by: Eskil (cherry picked from commit c501403cb5a0c9ec21b00e0c2f640ae85566e0cf)
* Another ugly hack to make bidi cursor work with Core TextJiang Jiang2011-04-291-3/+24
| | | | | | | | | | | | If the text is wrapped with LRE/LRO/RLE/RLO override/embed marks, Core Text in Mac OS X 10.5 doesn't produce an empty glyph at the beginning of the glyphs (while it does in Mac OS X 10.6), thus we need to prepend an empty glyph here, otherwise cursor position calculation will consider the first two characters as a ligature of the same glyph. Reviewed-by: Eskil (cherry picked from commit a36ac6c34bafa801c2c30d76f59e4a3594efc4d5)
* Make sure layoutData exist before checking for string directionJiang Jiang2011-04-291-0/+2
| | | | | | | Otherwise accessing that through QTextEngine::alignLine may cause crash. Reviewed-by: Samuel Rødal (cherry picked from commit dcdb62c3d1a76d951c4b65bc1b1bd930e2ad14ec)
* Take leading space width into account for painting and selectionJiang Jiang2011-04-292-1/+4
| | | | | | | | | | 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 (cherry picked from commit 224226727f07e8940e0d3131fe7587b11cc4a6ca)
* Remove extra comma at the end of enum listJiang Jiang2011-04-291-1/+1
| | | | | | | It fails compilerwarnings test. Reviewed-by: TrustMe (cherry picked from commit 1e847c00dcf4948b8892d0a552576e1d3ea554b9)
* Don't transform glyph positions for Core Graphics paint engineJiang Jiang2011-04-291-2/+3
| | | | | | | | Since it already transformed text positions based on transform matrix on QPainter. Reviewed-by: Eskil (cherry picked from commit b86c9120710bf1481df5f6541618169a82fd65b8)
* Turn on HarfBuzz support for Mac/CocoaJiang Jiang2011-04-292-1/+36
| | | | | | | | | | | | | | | | | | | | It's possible to enable HarfBuzz text layout on Mac by either: - Set QT_ENABLE_HARFBUZZ environment variable when running a Qt app. - configure with -harfbuzz to build Qt, then HarfBuzz support will be turned on by default. HarfBuzz will only be used when the font explicitly requested is supported by HarfBuzz (aka. TrueType/OpenType font), other fonts (AAT fonts) will still be handled by Core Text. Using HarfBuzz for text layout will hopefully solve most tricky complex text shaping bugs on Mac. Task-number: QTBUG-17728 Reviewed-by: Eskil
* Support visual cursor movement for BIDI textJiang Jiang2011-04-2914-272/+627
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (cherry picked from commit c480dd641f5d22d1ee72cb27bf39e24c6df65658)
* Make sure QFont's resolve mask is copied on compilers with C++0x supportEskil Abrahamsen Blomfeldt2011-04-291-1/+1
| | | | | | | | | The QFont consists of a d pointer and a resolve mask, and they should both be copied in the assignment operator. Task-number: QTBUG-18921 Done-by: Friedemann Kleint (cherry picked from commit cb5e526c6023237c36aac3446a0a18288f39f3a9)
* Fix glyph position issue with fallback fontsJiang Jiang2011-04-291-0/+3
| | | | | | Task-number: QTBUG-18933 Reviewed-by: Eskil (cherry picked from commit 18fcbf7ae41504324cd453ba9b9655f3e94f6495)
* Fix crash in raster on X11 when text contains unsupported charactersEskil Abrahamsen Blomfeldt2011-04-291-1/+1
| | | | | | | | | We would assume the font engine was a FT engine and do a static cast here, which would cause a crash if the box engine was in use instead. Task-number: QTBUG-17443 Reviewed-by: Samuel (cherry picked from commit c9c54682bcd23598ac7a8db3b10e9f18c978e268)
* doc: Minor cleanup in QGlyphs docsEskil Abrahamsen Blomfeldt2011-04-291-1/+1
| | | | | | | | Just a minor clean-up in the QGlyphs docs. Mainly to try to trigger CI. Reviewed-by: TrustMe (cherry picked from commit 774b5b8c6a627fc90fb7382bc907db5d2e8193bf)
* doc: Simplify language in QGlyphs docsEskil Abrahamsen Blomfeldt2011-04-291-2/+2
| | | | | | | Mainly to trigger CI. Reviewed-by: TrustMe (cherry picked from commit 1a1683c2d57debbb3e7f3ae6001eb2c8685dca02)
* Make QtQuick2 compile on QPAEskil Abrahamsen Blomfeldt2011-04-2821-126/+202
| | | | | | | | | | | Moved the logic to set pixel size into the font engines to avoid making the platform plugin interface too complex, and added a function in QPA to make an isolated font engine based on font data. Currently none of the QPA back-ends supports it, but it compiles and spits out a warning if you try to create a QRawFont from data there. This isn't used in QtQuick2 anyway. Reviewed-by: Jiang Jiang
* Merged master into qtquick2.axis2011-04-2777-157/+1693
|\
| * Fix the target for QtUiTools debug on MacPrasanth Ullattil2011-04-271-2/+0
| |
| * Introduced the QT.<module>.plugins variable to module profiles.axis2011-04-2766-55/+67
| |
| * Added QT.<module>.imports support to module profiles.axis2011-04-2710-0/+10
| |
| * Avoid recursively including the same arch.pri filePrasanth Ullattil2011-04-271-1/+3
| |
| * Include headers.pri from the last path in MODULE_INCLUDESPrasanth Ullattil2011-04-271-1/+4
| |
| * Use correct DESTDIR for UiTools.axis2011-04-271-0/+1
| |
| * Move uitools from QtTools to QtBaseLiang Qi2011-04-274-7/+37
| |
| * Make each module refer to its own bin/Marius Storm-Olsen2011-04-278-0/+8
| | | | | | | | | | | | | | Since modules cannot rely on QtCore having a build directory, nor can they build the applications directly into $$[QT_INSTALL_BINS] each module needs their own bin/. Add this path to each module's pri file, so others can use their applications
| * Made the internal support for Qt3Support in QtGui compile.axis2011-04-272-2/+2
| |
| * Extended module profiles.axis2011-04-279-0/+9
| | | | | | | | Each module now sets the QT_CONFIG variable itself.
| * Add hardcoded qclass_lib_map.h based on 4.8Marius Storm-Olsen2011-04-271-0/+1437
| | | | | | | | This is only until UIC/Designer handles this properly
| * Move QtSvg into a separate repositoryLiang Qi2011-04-274-21/+2
| |
| * Add the private_includes path to the modules .pri fileLiang Qi2011-04-2710-0/+10
| |
| * Add the source path to the modules .pri fileMarius Storm-Olsen2011-04-2710-0/+10
| |
| * Remove the hardcode QT_CONFIG in those pri files.Liang Qi2011-04-2710-20/+0
| |
| * Make modules compile without hardcoded pathsMarius Storm-Olsen2011-04-272-1/+5
| |
| * Make qt.prf use new qt_module.pri structure for QT variableMarius Storm-Olsen2011-04-271-1/+3
| | | | | | | | This change requires the new resolve_depends(var, prefix) function in qmake.
| * Add module specific pris, and make syncqt create fwd includesMarius Storm-Olsen2011-04-2710-0/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The module specific pris define the modules name version dependencies include paths lib paths additional CONFIGs and DEFINES They are located in the modules source directory, with fwd includes created in QtBase/mkspecs/modules build directory. The pris use QT_MODULE_INCLUDE_BASE QT_MODULE_LIB_BASE to specify the locations for includes and libs. These paths are normally based on QT_INSTALL_HEADERS QT_INSTALL_LIBS for installed modules, but overridden to the module's build directory by syncqt for the fwd included pris. The path of the pris must be specified in the sync.profile for syncqt to create the fwding pris in QtBase.
| * Some changes for qtbaseMarius Storm-Olsen2011-04-274-80/+5
| |
* | Initial import from qtquick2.Qt by Nokia2011-04-2732-152/+461
|/ | | | | Branched from the monolithic repo, Qt qtquick2 branch, at commit a4a585d2ee907746682846ae6e8a48e19deef469
* Initial import from the monolithic Qt.Qt by Nokia2011-04-274506-0/+3239825
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12