summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
Commit message (Collapse)AuthorAgeFilesLines
* Fix set/paperSize(QPrinter::PaperSize) on MacAndy Shaw2012-01-311-2/+2
| | | | | | | | | | This fixes the paper size setting on Mac as it would not return the same paper size that was set with setPaperSize() when calling paperSize(). Test is included. Task-number: QTBUG-20882
* Various qt documentation fixes (wk 40&41)artoka2012-01-311-11/+11
| | | | | | | | Fixes for bugs: QTBUG-21067, QTBUG-17025, QTBUG-11489, QTBUG-20069, QTBUG-3563, QTBUG-20089, QTBUG-13983, QTBUG-11820, QTBUG-14732, QTBUG-14521, QTBUG-9675, QTBUG-18313, QTBUG-18313, QTBUG-11312, QTBUG-17739, QTBUG-7678, QTBUG-14759, QTBUG-14756, QTBUG-14677, QTBUG-16164, QTBUG-20721, QTBUG-15562, QTBUG-17029 and QTBUG-18544.
* Prevent stroking zero length lines in qstroker.cppSamuel Rødal2012-01-311-19/+21
| | | | | | | | | If several consecutive points are the same, we should just skip until we get a unique point. This prevents stroking artifacts in the miter join for example. Task-number: QTBUG-5331 Reviewed-by: Kim
* Set no brush when the brush is a solid patern transparent color.Pierre Rossi2012-01-311-0/+2
| | | | | | | | Fix a bug in pdf print engine that was noticeable when printing a webpage: the missing image graphic didn't appear in the pdf. Task-number: QTBUG-16435 Reviewed-by: sroedal
* Fixed hslHue / hslHueF returning the wrong value for achromatic QColors.Samuel Rødal2012-01-311-1/+1
| | | | | | | | Made toHsl() work the same way as toHsv(), ensuring the hue gets set to USHRT_MAX and not 0. Task-number: QTBUG-16530 Reviewed-by: Eskil Abrahamsen Blomfeldt
* Fixed QPainterPath::pointAtPercent(t) for one-element paths.Samuel Rødal2012-01-311-1/+4
| | | | | | | Return the MoveTo element instead of QPointF(0, 0). Task-number: QTBUG-16788 Reviewed-by: Eskil Abrahamsen Blomfeldt
* Fix the blank areas during resize with the raster engine on Mac OS X.Fabien Freling2012-01-311-0/+3
| | | | | | | | This is mainly done by reverting the commit 04e34fe3aecca482abeeabe2e31778e9102eeb08 Task-number: QTBUG-11518 Reviewed-by: Samuel
* Fixed bug in QPdfEngine::addImage causing mono images to be made 32 bitMatthew Cattell2012-01-311-1/+4
| | | | | | | Regression from 4.5 causing performance and size degradation. Task-number: QTBUG-18997 Reviewed-by: Samuel
* Symbian - fix compile error when default configuredShane Kearns2011-11-071-3/+3
| | | | | | | | New code assumed building with OpenGL/OpenVG, which is the production configuration, but not the default configuration Reviewed-By: Jani Hautakangas Task-Number: QTBUG-21996
* A patch for 'Fix to QtOpenGL crash'Jani Hautakangas2011-09-271-0/+2
| | | | | | | | | EGL API was used also on non-EGL Symbian platforms which generated compile errors when compiling Qt on those platforms. This patch #ifdefs EGL usage correctly for EGL enabled platforms only. Reviewed-by: TRUSTME
* Fix to QtOpenGL crashJani Hautakangas2011-09-231-14/+91
| | | | | | | | | | | | | Exiting the native video recorder on Symbian and going back to Qt app which runs on opengl graphics system crashed on some devices because there was not enough GPU memory and also because low GPU mem device environment detection was flawed. This patch fixes 32MB GPU memory detection and adds wait/retrial to EGL surface creation if it fails. Task-number: QTBUG-21499 Reviewed-by: Laszlo Agocs
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-07-271-1/+0
|\ | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Remove a duplicate include line
| * Remove a duplicate include lineLiang Qi2011-07-271-1/+0
| | | | | | | | | | | | Build Qt 4.7 for Symbian on Mac/gcce again. Reviewed-by: Honglei Zhang
* | Compensate for different rounding rule in CG engineJiang Jiang2011-07-121-2/+8
| | | | | | | | | | | | | | | | | | | | After we switched to fractional metrics, Core Graphics engine always put text at floored vertical postion, while underlines will be rounded after 0.75. Ceiling the underline position will make sure it will always leave the underline pixels given. Task-number: QTBUG-19959 Reviewed-by: Eskil
* | Fix bidi reordering when part of text is rendered by fallback fontEskil Abrahamsen Blomfeldt2011-07-061-1/+13
|/ | | | | | | | | If the fallback font is used for part of a RTL text, we need to position the different text items accordingly, subtracting the advance instead of adding it. Task-number: QTBUG-17117 Done-with: Lars
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into 4.7Laszlo Agocs2011-06-203-7/+20
|\
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-06-013-7/+20
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Avoid buffer overrun in QMacPixmapData resizing Fix glyph metrics with QStaticText/Freetype/raster and light/no hinting Missing glyphs transforming QStaticText on X11/raster with subpixel AA Fixed clipping errors for non-extended paint engines.
| | * Missing glyphs transforming QStaticText on X11/raster with subpixel AAEskil Abrahamsen Blomfeldt2011-05-302-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Static text took an untested and broken code path for the combo of subpixel AA, X11, raster engine and transformation. This would cause missing glyphs. The reason was that QStaticText took an unused code path which turned out not to work. The workaround is to use gray AA on transformed text, like we already do for the GL engine. In Qt 4.8, the static text code path has been rewritten to use the Freetype cache instead of the image glyph cache, so the bug will be fixed more properly there. Reviewed-by: Samuel
| | * Fixed clipping errors for non-extended paint engines.Samuel Rødal2011-05-301-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | Partially revert change a33ef62469fd71bec for the non-extended paint engine path. Task-number: QTBUG-19525 Reviewed-by: Andy Shaw
* | | Proper naming for raster pixmap and paintengine on Symbian.Laszlo Agocs2011-06-166-38/+40
| | | | | | | | | | | | | | | | | | | | | | | | As QTBUG-19880 highlighted, the old S60 naming is not suitable for these classes anymore. Task-number: QTBUG-19913 Reviewed-by: Jani Hautakangas
* | | Handle QVolatileImage-backed pixmaps optimally in drawPixmap().Laszlo Agocs2011-06-162-16/+16
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | When drawing such pixmaps (used by both the openvg and opengl graphics systems) onto another pixmap or to a QImage, the performance was sub-optimal due to missing and accidentally disabled support specific to QVolatileImage. This is now fixed and drawing pixmaps into a QImage is also made optimal by using the QS60PaintEngine for QImage too. This will cause a 5-7x (or even up to 12x on certain hardware and platform) increase in offscreen pixmap drawing performance. Task-number: QTBUG-19880 Reviewed-by: Jani Hautakangas
* | Fix for BCM2727 chip detection on SymbianJani Hautakangas2011-05-302-7/+32
|/ | | | | | | | | | | | | | QSymbianGraphcisSystemEx::hasBCM2727() uses bool QApplicationPrivate::useTranslucentEGLSurfaces to decide if Symbian is running on BCM2727 chip which is not entirely correct. bool QApplicationPrivate::useTranslucentEGLSurfaces should be assigned according to QSymbianGraphcisSystemEx::hasBCM2727() and QSymbianGraphcisSystemEx::hasBCM2727() should be also static function. Task-number: QTBUG-19578 Reviewed-by: Laszlo Agocs
* Re-apply licenseheader text in source files for qt4.7Jyri Tahtela2011-05-183-51/+51
| | | | | | New files after previous license change round. Reviewed-by: Trust Me
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-05-17170-2876/+2876
|\ | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Updating file with CRLF line endings for the updated header Fix a regression in QList::mid() update gitignore remove -fno-stack-protector Fix make confclean Update licenseheader text in source files
| * Update licenseheader text in source filesJyri Tahtela2011-05-13170-2876/+2876
| | | | | | | | | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* | Introduce platform extension to QGraphicsSystemJani Hautakangas2011-05-106-5/+247
| | | | | | | | | | | | | | | | | | Qt on Symbian needs some special capabilities to be able to work on 32MB GPU. This patch introduces some Symbian specific functions to QGraphicsSystem Task-number: QTBUG-17882 Reviewed-by: Laszlo Agocs
* | QPainterPath: Ignore calls with NaN/Infinite parametersAdemar de Souza Reis Jr2011-05-031-19/+47
|/ | | | | | | | | | | | | | | | | | | | | | | | | QPainterPath can't handle NaNs/Inf inside coordinates, but instead of safely ignoring or aborting an operation, it shows a warning and keeps going on, with undefined behavior. Sometimes leading to infinite loops, leaks or crashes (see qtwebkit example below). This is particularly bad when QPainterPath is used to render content from untrusted sources (web or user data). As an example, there's a qtwebkit bug where the browser crashes when a particular SVG is loaded: https://bugs.webkit.org/show_bug.cgi?id=51698. Please note that "untrusted sources" doesn't apply only to network sources. This behavior can probably be exploited on applications such as file-browsers with previews enabled. Task-number: QTBUG-16664 Signed-off-by: Ademar de Souza Reis Jr <ademar.reis@openbossa.org> Merge-request: 1026 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> Reviewed-by: Samuel
* 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
* 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
* 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 '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
* | 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
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-03-191-9/+19
|\ | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Add flag for forcibly propagating backing store alpha to framebuffer Fixed unmatched quotes in s60installs.pro
| * Add flag for forcibly propagating backing store alpha to framebufferGareth Stockwell2011-03-181-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the following rules applies to the creation and blitting of the Symbian raster backing store: 1. Creation of backing store with an alpha channel: Backing store has an alpha channel only if !QWidget::isOpaque. 2. Pre-filling of backing store prior to paint loop: Backing store is filled with transparent pixels if !QWidget::isOpaque. 3. Blitting of backing store: CGraphicsContext::EDrawModeWriteAlpha is used (meaning that backing store alpha values are propagated into the frame buffer), if QWidget::isOpaque. In order for the direct camera viewfinder to be visible on DSA devices, alpha=0 must be written into the framebuffer in the region where the viewfinder will be displayed. This requires a backing store with an alpha channel (1), use of CGraphicsContext::EDrawModeWriteAlpha (3), but not pre-filling of the entire backing store (2). This patch adds a new enum value, QWExtra::BlitWriteAlpha, which can be used by camera backends to achieve the desired behaviour. Task-number: QTMOBILITY-1278 Reviewed-by: Jani Hautakangas
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-03-161-1/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: QMeeGoLivePixmapData : when creating QImage, use constructor with pitch. Added automatic graphicssystem switching on meego when app is minimized.
| * | Added automatic graphicssystem switching on meego when app is minimized.Samuel Rødal2011-03-161-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When all top-level widgets are minimized we switch to raster to reduce GPU memory consumption. We switch back to graphicssystem meego when at least one top-level widget is shown normally again. The switching only applies when the runtime graphicssystem is being used. The switching only applies when the runtime graphicssystem is being used. Task-number: QTBUG-18013 Reviewed-by: Armin Berres
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-03-141-4/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Prevented infinite recursion in QPainterPath::contains().
| * | Prevented infinite recursion in QPainterPath::contains().Samuel Rødal2011-03-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Limit the amount of recursions in qt_painterpath_isect_curve to prevent a crash. Task-number: QTBUG-16422 Reviewed-by: Kim
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-03-101-0/+5
|\ \ \ | |/ / | | / | |/ |/| | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Partial update window surfaces always need a repaint before flush.
| * Partial update window surfaces always need a repaint before flush.Samuel Rødal2011-03-091-0/+5
| | | | | | | | | | | | | | | | When we get an Expose, we need to repaint the window surface before we can flush if the window surface doesn't support partial updates, otherwise we'll end up with garbage on the screen. Reviewed-by: Bjørn Erik Nilsen
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into 4.7Laszlo Agocs2011-03-016-21/+29
|\ \ | | | | | | | | | | | | | | | Conflicts: src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def
| * \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-02-241-0/+1
| |\ \ | | |/ | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: QRuntimeWindowSystem: Track window size properly
| | * QRuntimeWindowSystem: Track window size properlySami Kyostila2011-02-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The runtime window system has a 'proxy' window surface which wraps the currently active window surface. When the window geometry changes, the new geometry is properly communicated to the wrapped window surface. However, the new geometry is not updated into the runtime window surface proxy itself, which means that when queried, the geometry for the window surface will always be invalid. This patch fixes the issue. Fixes: QT-4588 Merge-request: 1098 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-02-221-0/+7
| |\ \ | | |/ | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Prevent infinite loop in raster engine on zero dash pattern length.
| | * Prevent infinite loop in raster engine on zero dash pattern length.Samuel Rødal2011-02-221-0/+7
| | | | | | | | | | | | | | | Task-number: QTBUG-17053 Reviewed-by: Kim
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-02-141-2/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fix for ARMV6 drawhelper blending