summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
Commit message (Collapse)AuthorAgeFilesLines
* Symbian build failure for Armv5Sami Merila2011-05-121-1/+1
| | | | | | | 1. Changed externs to Q_GUI_EXPORTs 2. ABSENTed missing exports from openGL's DEF-file Reviewed-by: Tomi Vihria
* Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-05-052-9/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Support gamma correction of text on GLEskil Abrahamsen Blomfeldt2011-05-031-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Fixed bug in QPdfEngine::addImage causing mono images to be made 32 bitMatthew Cattell2011-05-021-1/+4
| | | | | | | | | | | | | | Regression from 4.5 causing performance and size degradation. Task-number: QTBUG-18997 Reviewed-by: Samuel
* | Merge earth-team into origin/4.8Olivier Goffart2011-05-0313-222/+744
|\ \ | | | | | | | | | | | | Conflicts: configure
| * \ Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Olivier Goffart2011-05-021-1/+1
| |\ \ | | |/ | |/| | | | | | | | | | | | | Conflicts: src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def
| | * Fix crash in raster on X11 when text contains unsupported charactersEskil Abrahamsen Blomfeldt2011-04-281-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
| * | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-04-291-4/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: Fixed off-by-one in radial gradient color table index computation. Support more items for QTextCharFormat::VerticalAlignment enum for custom text objects.
| | * \ Merge remote branch 'qt-fire-review/master'aavit2011-04-281-4/+2
| | |\ \
| | | * | Fixed off-by-one in radial gradient color table index computation.Samuel Rødal2011-04-281-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clamp to GRADIENT_COLOR_TABLE-1, not GRADIENT_COLOR_TABLE-2. Fixes visible error in gradients.qps Reviewed-by: Kim Motoyoshi Kalland <kim.kalland@nokia.com>
| * | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-04-2812-210/+734
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: (31 commits) Make QtQuick2 compile on QPA Use maximum ascent/descent/leading from fallback fonts in shaping Another ugly hack to make bidi cursor work with Core Text Make sure layoutData exist before checking for string direction Removed warning from QPixmap::handle(). Take leading space width into account for painting and selection doc: Simplify language in QGlyphs docs doc: Minor cleanup in QGlyphs docs Remove extra comma at the end of enum list Fix compilation with Qt3Support Don't transform glyph positions for Core Graphics paint engine Skip linearGradientSymmetry test on QWS. Turn on HarfBuzz support for Mac/Cocoa Support visual cursor movement for BIDI text Disable tst_QPixmap::onlyNullPixmapsOutsideGuiThread on Mac Revert "Switch the default graphics system to raster on Mac." Fix an race condition in the auto test. Made linearGradientSymmetry test pass on qreal=float platforms. Make sure #ifdef'd tests still have main() function Long live QRawFont! ...
| | * | | Merge remote branch 'qt-mainline/master'aavit2011-04-262-3/+3
| | |\ \ \ | | | |/ / | | |/| | | | | | | | | | | | Conflicts: configure
| | * | | Don't transform glyph positions for Core Graphics paint engineJiang Jiang2011-04-191-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since it already transformed text positions based on transform matrix on QPainter. Reviewed-by: Eskil
| | * | | Revert "Switch the default graphics system to raster on Mac."Fabien Freling2011-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a5d40fd3814ab7c8e865912c03a918bfd5994998. We have to fix the regressions due to the raster engine before putting it by default.
| | * | | Long live QRawFont!Eskil Abrahamsen Blomfeldt2011-04-154-43/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | | Another attempt at fixing the MSVC2005 build.Samuel Rødal2011-04-151-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently direct casting is illegal there too, even though they don't have the cast operators. Reviewed-by: Kim
| | * | | Compile fix in qdrawhelper_sse2.cpp for MSVC 2005.Samuel Rødal2011-04-141-0/+5
| | | | |
| | * | | Compile fix in qdrawhelper_sse2.cpp.Samuel Rødal2011-04-141-1/+1
| | | | |
| | * | | Added support for six-parameter radial gradients.Samuel Rødal2011-04-1311-73/+343
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The extended radial gradients conform to the radial gradient specification in HTML 5 canvas. Task-number: QTBUG-14075 Reviewed-by: Andreas Kling
| | * | | Improved gradient table generation performance for two-stop gradients.Samuel Rødal2011-04-135-72/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two stops is a fairly common case so we gain quite a bit by special casing it. Improves performance by 10 % in parcycle benchmark, and by 90 % in a synthetic benchmark. Reviewed-by: Andreas Kling
| | * | | Optimized radial gradient fetch using SSE 2.Samuel Rødal2011-04-133-0/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On an i7 this improves performance by 22 % in parcycle, 107 % in default svgviewer example, and 283 % in a synthetic radial gradient benchmark. Reviewed-by: Andreas Kling
| | * | | Improved qt_gradient_clamp for reflect spreads.Samuel Rødal2011-04-131-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using GRADIENT_STOPTABLE_SIZE * 2 as the modulo gives more correct behaviour, and also improves performance slightly. Reviewed-by: Benjamin Poulain
| | * | | Prepared for SIMD implementation of radial gradients.Samuel Rødal2011-04-132-177/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made the radial gradient fetch func into a template to be able to optimize the inner loop using SIMD instructions. Reviewed-by: Benjamin Poulain
| | * | | Fix a race condition when the main window is being destructed.Fabien Freling2011-04-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the destructor of QWidget, we delete the layout. If the layout is not set to 0 afterwards, a check on the layout might turn true, but any access will end with a segfault. Reviewed-by: João Abecasis
| | * | | Switch the default graphics system to raster on Mac.Fabien Freling2011-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | Reviewed-by: Lars Knoll
| * | | | Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Olivier Goffart2011-04-271-11/+11
| |\ \ \ \ | | |_|/ / | |/| | / | | | |/ | | |/| | | | | Conflicts: src/opengl/qwindowsurface_gl.cpp src/s60installs/eabi/QtGuiu.def
| | * | Let QTextLine decide its own x position in QPainterJiang Jiang2011-04-191-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | Support text decoration in QML when using static text back-endEskil Abrahamsen Blomfeldt2011-04-181-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the QStaticTextItem code path in QML was copy-pasted, QStaticText did not support text decoration yet. It has since been implemented. We copy-paste the fix as well (which means we have to export a private function from QtGui to avoid duplicating that code as well.) Task-number: QTBUG-18428 Reviewed-by: Jiang Jiang
* | | | Fixes warnings about unused variablesOlivier Goffart2011-04-285-17/+2
|/ / / | | | | | | | | | Reviewed-by: Samuel
* | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-04-194-43/+46
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: Make sure #ifdef'd tests still have main() function Long live QRawFont!
| * | | Long live QRawFont!Eskil Abrahamsen Blomfeldt2011-04-194-43/+46
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge remote-tracking branch 'origin/master' into lighthouse-masterJørgen Lind2011-04-1434-445/+489
|\ \ \
| * \ \ Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-04-131-2/+2
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Remove a race condition in SIGCHLD handler. Fix warnings about && inside ||
| | * | Fix warnings about && inside ||Thiago Macieira2011-04-131-2/+2
| | | | | | | | | | | | | | | | Reviewed-By: Trust Me
| * | | Merge branch 'qt-master-from-4.7' of ↵Qt Continuous Integration System2011-04-091-3/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scm.dev.nokia.troll.no:qt/qt-integration into master-integration * 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: [QTBUG-15278] QWidget::windowState gets out of sync (Aero Snap) HTTP cacheing: do not store the date header with the resource Let's not write to the source buffer when blending argb32 on rgb16. make -markuntranslated work without -idbased fix conditional on shell type
| | * \ \ Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-04-091-3/+1
| | |\ \ \ | | | | |/ | | | |/|
| | | * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-04-081-3/+1
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Let's not write to the source buffer when blending argb32 on rgb16.
| | | | * | Let's not write to the source buffer when blending argb32 on rgb16.Samuel Rødal2011-04-081-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though we're writing the same values back, we might get a segfault when the source is in read-only memory. Reviewed-by: Kim
| * | | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-04-075-135/+128
| |\ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: Avoid compilation warnings on Symbian Get rid of double conversions and arithmetic when qreal is float.
| | * | | | Get rid of double conversions and arithmetic when qreal is float.Samuel Rødal2011-04-065-135/+128
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | Task-number: QT-4624 Reviewed-by: Kim
| * | | | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-04-071-2/+4
| |\ \ \ \ | | |/ / / | |/| / / | | |/ / | | | | | | | | Conflicts: src/gui/text/qfontengine_mac.mm tests/auto/qdiriterator/tst_qdiriterator.cpp
| | * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-04-041-2/+4
| | |\ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fix QGradient stop with NaN position on Symbian. Do not add project path to SYMBIAN_MATCHED_TRANSLATIONS if not needed QApplication does not define flag for "single touch" Native dialog softkeys are covered by QApplication softkeys
| | | * Fix QGradient stop with NaN position on Symbian.Laszlo Agocs2011-04-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qbrush autotest was failing on Symbian, because gradient stops with NaN position cannot be inserted on Symbian. This is caused by the pos > 1 || pos < 0 check in setColorAt() which is incorrect on ARM as NaN > 1 will evaluate to true. Task-number: QTBUG-17874 Reviewed-by: Samuel Rødal
| * | | Put all the declarations of qt_defaultDpi{,X,Y}() in one placeJiang Jiang2011-04-055-12/+3
| | | | | | | | | | | | | | | | Reviewed-by: Samuel Rødal
| * | | Fix positioning in GL2 paint engine with subpixel antialiasingJiang Jiang2011-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this case we will use QTextureGlyphCache with FreeType renderer, which requires the subpixel positition to get correct left bearings, thus alphaMapBoundingBox is extended to support subPixelPosition. In QFontEngineFT we also simplify the code a bit by reusing loadGlyphs for metrics calculation instead of duplicate code. Since we need to use the glyphs after all, cache them here in alphaMapBoundingBox shouldn't be a problem. Reviewed-by: Eskil
| * | | Merge branch 'qt-master-from-4.7' of ↵Qt Continuous Integration System2011-04-032-9/+9
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scm.dev.nokia.troll.no:qt/qt-integration into master-integration * 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: (237 commits) Fix animation tests after merge Remove duplicated test. Add missing test file. Changing width of RTL positioner doesn't relayout Fix TextInput auto test failure on mac. PinchArea and Flickable don't work well enough together Do not set focus unnecessarily at window activation in Symbian QS60Style: Regression in drawing dialog background QS60Style: Support menu separator (pt.2) Fix auto test failure. Support for new softkey in Symbian^3 Once Image sourceSize is set there is no way to clear it. Rotation transform with NaN angle can cause crash QSoftkeyManager auto test update Fixed not switching to MeeGo graphicssystem. Canceling image download while reading causes crash Fix width of TextInput micro focus rectangle. Return correct boundaries reasons from QTextBoundaryFinder. GridView jumps to beginning of list when resized Fixed rounding of coordinates pre-transformation in CG paintengine. ...
| | * \ \ Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-03-312-9/+9
| | |\ \ \ | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/declarative/example-slideswitch.qdoc doc/src/development/qmake-manual.qdoc doc/src/snippets/code/doc_src_qmake-manual.pro doc/src/snippets/code/doc_src_qtscript.qdoc src/corelib/animation/qabstractanimation.cpp src/s60installs/bwins/QtOpenGLu.def src/s60installs/eabi/QtOpenGLu.def src/s60installs/eabi/QtOpenVGu.def tests/auto/qdir/qdir.pro tests/auto/qsslsocket/tst_qsslsocket.cpp tools/qdoc3/doc/qdoc-manual.qdocconf
| | | * | Fixed rounding of coordinates pre-transformation in CG paintengine.Samuel Rødal2011-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rounding the coordinate pre-transformation leads to pretty big positioning errors when the painter has a large scale, and small source coordinates are used. Task-number: QTBUG-18416 Reviewed-by: Eskil Abrahamsen Blomfeldt
| | | * | Fixed infinite loop in QPainterPath::intersects() when qreal=float.Samuel Rødal2011-03-281-8/+8
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to c30714122c58a3dc6fd8401427da60c4afc4127b, we need to limit the max number of recursions. Task-number: QTBUG-16422 Reviewed-by: Kim
| * | | Make sure we don't use subpixel positions in full hinting modeJiang Jiang2011-04-012-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the text can start from subpixel positions (start from 100.5 for instance), we need to make sure they stick to pixel grid in this case. Reviewed-by: Eskil