summaryrefslogtreecommitdiffstats
path: root/tests/auto/qpainter
Commit message (Collapse)AuthorAgeFilesLines
* Fixed floating point overflow issues in QRasterizer::rasterizeLineSamuel Rødal2010-09-231-1/+0
| | | | | | | | | | | | | | | | | Change 7c673a4cf64ba04 introduced some autotest failures in the fpe_steepSlopes test in QPainter. Since the other rasterizers all deal in a 26.6 fixed point coordinate space we should snap the line vertices to this to prevent floating point overflows due to very steep slopes. This also necessitates keeping track of four different slope / inverse slope increments for each of the four edges. This also fixes a previously QEXPECT_FAIL'ed test case. Task-number: QTBUG-13429 Reviewed-by: Trond
* Fixed scaled point drawing with square cap in raster paint engine.Samuel Rødal2010-09-231-0/+22
| | | | | | | | | | | With a large pen width and a small scale, due to the hacky way we draw points (stroking a line from (x, y) to (x + tiny_amount, y)), we some times end up snapping these two points to the same in rasterizeLine(). If we instead apply the SquareCap before we do clipping / snapping we don't get this problem. Task-number: QTBUG-13429 Reviewed-by: Trond
* Revert "Fix the rendering of lines with the X11 paint engine"Samuel Rødal2010-08-181-65/+0
| | | | | | | | | | | | | | | | This reverts commit ebbab30af417dfbf3df47dec15c0e2f8d6a30fa6, which broke fill / outline consistency, and when trying to fix that by rounding the fill the same way that broke rendering in Creator. Unfortunately the X11 paint engine is too sensitive to changes, there have already been tons of patches to make it as consistent as possible. It's simply not possible to get the same rounding for both fill and outlines and at the same time have consistency between fill and outline (no holes or fill outside the outline), while using the integer based Xlib rendering API. Hopefully in 4.8 we'll switch to raster and the X11 paint engine will be a legacy. Reviewed-by: Trond
* Revert "Fix the byte order in QImage::fill for 24bpp formats"Olivier Goffart2010-08-021-1/+1
| | | | | | | | | | This change the behavior. (as it break tests like drawImage_task258776 and tst_QPainter::drawhelper_blend_color) The bug it fixes is not considered importent enough This reverts commit 121c5143f1002734ff7aa62785ff14e0e6612aae and d8c6ae24f94133828f4f1b536538e69c5e438202
* Fix tst_QPainter::drawImage_task258776Olivier Goffart2010-07-301-1/+1
| | | | | | This test was broken, and change 121c5143f1002734ff7aa62785ff14e0e6612aae exposed it. Why would one check red == blue?
* Fix the rendering of lines with the X11 paint engineBenjamin Poulain2010-07-291-0/+65
| | | | | | | | | | | | | On the X11 paint engine, when rendering lines with float coordinates, the lines were one pixel off if the decimal was > 0.5. This fixes the WebKit bug https://bugs.webkit.org/show_bug.cgi?id=42248 Autotest by Yoann Lopes. Reviewed-by: Simon Hausmann Reviewed-by: Yoann Lopes Reviewed-by: Andreas Kling
* Implement the composition mode "Plus" with SSE2Benjamin Poulain2010-07-271-4/+20
| | | | | | | | | | | Implement the composition function for CompositionMode_Plus with SSE2. The macro MIX() can be replaced by a single instruction add-saturate, which increase the speed a lot (13 times faster on the blend benchmark). Reviewed-by: Olivier Goffart Reviewed-by: Andreas Kling
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-06-291-6/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (26 commits) Doc: QSettings::sync() imports changes made by other processes. Made -graphicssystem trace work with Qt::TextBypassShaping flag. Fix an assertion in comp_func_SourceOver_sse2() if const_alpha == 0 Add a manual test for regular widget interaction with the table. New variant of ::createPixmapData with origin for QGraphicsSystem. EGL plane levels are the same as all other GL backends. Need to access extensionFuncs in subclasses too. Export QGLWindowSurface too. Export the QGLPixmapData so that we can override it in a custom graphics system. Fixed autotest failure in QPathClipper on N900. Fixed autotest failure in QPainter::setOpacity when NEON is used. Fix compilation when configured with -no-xrender Add a new (internal) flag QGraphicsItem::ItemStopsClickFocusPropagation. Fixed some potential index-out-of-bounds issues in QImage. Fixed autotest failure in fillRect_stretchToDeviceMode Adding a known issue for VC2010 64 bit Added a note to desupport VC2010 64-bit Normalize integers when calling glVertexAttribPointer() Add an implementation of comp_func_solid_SourceOver_neon() with Neon. Fix the casts of qdrawhelper_sse2 ...
| * Fixed autotest failure in QPainter::setOpacity when NEON is used.Samuel Rødal2010-06-251-6/+10
| | | | | | | | | | | | | | Be more lenient in the comparison, rounding errors might lead to slightly different values. Reviewed-by: Trond
* | Various fixes to autotests when using the symbian/linux-armcc mkspec.axis2010-06-291-1/+1
|/
* Renamed QPainter::Fragment/Hint -> QPainter::PixmapFragment/HintTrond Kjernåsen2010-03-091-5/+5
| | | | Reviewed-by: Kim
* Made the qDrawPixmaps() API public (with modifications).Trond Kjernåsen2010-02-231-2/+46
| | | | | | | | | QPainter has now gotten a drawPixmapFragments() function together with a Fragment class that describes how each pixmap fragment is supposed to be drawn. Reviewed-by: Gunnar Reviewed-by: Samuel
* Fixed autotest failure in tst_QPainter::drawEllipse on Maemo.Samuel Rødal2010-02-181-2/+0
| | | | | | | | | | The previous fix (baa7c3bdecc) attempted to fall back to path drawing in QPainter::drawEllipse, however we have some specific filling rules for aliased ellipse drawing in the raster paint engine. We should use the (now free of fixed point math) drawEllipse_midpoint_i function on all platforms. Reviewed-by: Gunnar Sletta
* Update copyright year to 2010Jason McDonald2010-01-062-2/+2
| | | | Reviewed-by: Trust Me
* Fixes transformation problems with QGraphicsProxyWidget.Yoann Lopes2009-12-021-1/+57
| | | | | | | | | In the paintEvent of the widget used in a QGraphicsProxyWidget, the worldMatrix was wrongly used by the painter instead of the deviceMatrix. Similar problem in the WindowsXP Style, the worldMatrix was used instead of the deviceMatrix for determining if the widget is transformed (reviewed by eblomfel). Task-number: QTBUG-5939 Reviewed-by: bnilsen Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Merge branch '4.6-api-review' into 4.6Marius Storm-Olsen2009-11-091-2/+2
|\
| * API review: Rename functions numColors(), setNumColors() and numBytes()Marius Storm-Olsen2009-11-061-2/+2
| | | | | | | | | | | | | | | | | | | | QPaintDevice and QImage used the functions numColors(), setNumColors(), and numBytes(). However, this is not consistent with the rest of the Qt API which uses *Count() and set*Count(). Removed all usage of these functions inside Qt and test-cases. Reviewed-by: Andreas Aardal Hanssen
* | Crash on bug QTBUG-5493Warwick Allison2009-11-091-0/+14
|/
* Fix QPainter::setPen(pen with color but no style) on non-extended.David Faure2009-11-061-0/+39
| | | | | | | | | | | It was working with a QImage but not with a QPixmap, which is obviously a bug. In addition, it broke WebCore::GraphicsContext::setPlatformStrokeColor which does exactly what I put in the unittest: get pen, set color, set pen. This commit fixes the wrong color in the underline of the links in http://www.davidfaure.fr/kde/link_underline_color.html in QtWebkit. Merge-request: 1995 Reviewed-by: Samuel Rødal <sroedal@trolltech.com>
* Updated testcase since soft-light algorithm rewrite.Gunnar Sletta2009-11-061-3/+3
| | | | | | | The SVG standard changed the algorithm which implies some changes to the results as well. Reviewed-by: Kim
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-10-191-1/+1
|\
| * Fix the autotest for S60, skip tst_QPainter::drawClippedEllipse().Liang QI2009-10-141-1/+1
| | | | | | | | RevBy: Janne Anttila
* | Fixed QPainter::begin() so that it fails gracefully.Kim Motoyoshi Kalland2009-10-151-0/+40
|/ | | | | | | | | | Fixed QPainter::begin() so that if it fails, it can still be used on other paint devices without causing an assert. Autotest included. I also made begin() fail on images with the QImage::Format_Indexed8 format and added warnings in the documentation since painting on such images is not supported. Reviewed-by: Trond
* tests/auto/qpainter pro file fixedJoerg Bornemann2009-09-231-1/+1
| | | | Reviewed-by: TrustMe
* Merge branch '4.5' into 4.6Tom Cooksey2009-09-171-0/+25
|\ | | | | | | | | | | | | Conflicts: tests/auto/qimagereader/tst_qimagereader.cpp tests/auto/qpainter/tst_qpainter.cpp tests/auto/qtwidgets/tst_qtwidgets.cpp
| * Fix crash or painting error when drawing dashed lines with penWidth > 1Eskil Abrahamsen Blomfeldt2009-09-171-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | Since the width is multiplied into the dash, it needs to be divided out, otherwise you can get a dashOffset which is greater than the pattern at the index, and the dash can become negative. This will in turn lead to passing a negative width to the rasterizer, which at some point will get cast to an unsigned int and overflow. Depending on the position of the line and size of the buffer, this will either crash or produce garbled output. Task-number: QT-4444 Reviewed-by: Samuel
| * Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into 4.5Jason McDonald2009-09-081-0/+26
| |\
| * | Update license headers again.Jason McDonald2009-09-082-8/+8
| | | | | | | | | | | | Reviewed-by: Trust Me
* | | Update license headers again.Jason McDonald2009-09-092-8/+8
| | | | | | | | | | | | Reviewed-by: Trust Me
* | | Merge commit '4feb4019cfc144cef4cd9177d52e52dee9ebdf32' into 4.6Rohan McGovern2009-09-091-0/+26
|\ \ \ | | |/ | |/| | | | | | | | | | Conflicts: tests/auto/network-settings.h tests/auto/qpainter/tst_qpainter.cpp
| * | Fixed bug in drawImage() when fall-back code path is used.Samuel Rødal2009-09-081-0/+26
| |/ | | | | | | | | | | | | | | We need to floor instead of round to prevent rectangles that are on the edge from being shifted one pixel down / right. Task-number: 258776 Reviewed-by: Kim
* | Merge branch '4.5' into 4.6Thiago Macieira2009-08-312-26/+26
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/boxes/glshaders.cpp demos/boxes/vector.h demos/embedded/fluidlauncher/pictureflow.cpp demos/embedded/fluidlauncher/pictureflow.h doc/src/desktop-integration.qdoc doc/src/distributingqt.qdoc doc/src/examples-overview.qdoc doc/src/examples.qdoc doc/src/frameworks-technologies/dbus-adaptors.qdoc doc/src/geometry.qdoc doc/src/groups.qdoc doc/src/objecttrees.qdoc doc/src/platform-notes.qdoc doc/src/plugins-howto.qdoc doc/src/qt3support.qdoc doc/src/qtdbus.qdoc doc/src/qtdesigner.qdoc doc/src/qtgui.qdoc doc/src/qtmain.qdoc doc/src/qtopengl.qdoc doc/src/qtsvg.qdoc doc/src/qtuiloader.qdoc doc/src/qundo.qdoc doc/src/richtext.qdoc doc/src/topics.qdoc src/corelib/tools/qdumper.cpp src/gui/embedded/qkbdpc101_qws.cpp src/gui/embedded/qkbdsl5000_qws.cpp src/gui/embedded/qkbdusb_qws.cpp src/gui/embedded/qkbdvr41xx_qws.cpp src/gui/embedded/qkbdyopy_qws.cpp src/gui/embedded/qmousebus_qws.cpp src/gui/embedded/qmousevr41xx_qws.cpp src/gui/embedded/qmouseyopy_qws.cpp src/gui/painting/qpaintengine_d3d.cpp src/gui/painting/qwindowsurface_d3d.cpp src/opengl/gl2paintengineex/glgc_shader_source.h src/opengl/gl2paintengineex/qglpexshadermanager.cpp src/opengl/gl2paintengineex/qglpexshadermanager_p.h src/opengl/gl2paintengineex/qglshader.cpp src/opengl/gl2paintengineex/qglshader_p.h src/opengl/util/fragmentprograms_p.h src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp src/script/parser/qscript.g src/script/qscriptarray_p.h src/script/qscriptasm_p.h src/script/qscriptbuffer_p.h src/script/qscriptclass.cpp src/script/qscriptclassdata_p.h src/script/qscriptcompiler.cpp src/script/qscriptcompiler_p.h src/script/qscriptcontext.cpp src/script/qscriptcontext_p.cpp src/script/qscriptcontext_p.h src/script/qscriptcontextfwd_p.h src/script/qscriptecmaarray.cpp src/script/qscriptecmaarray_p.h src/script/qscriptecmaboolean.cpp src/script/qscriptecmacore.cpp src/script/qscriptecmadate.cpp src/script/qscriptecmadate_p.h src/script/qscriptecmaerror.cpp src/script/qscriptecmaerror_p.h src/script/qscriptecmafunction.cpp src/script/qscriptecmafunction_p.h src/script/qscriptecmaglobal.cpp src/script/qscriptecmaglobal_p.h src/script/qscriptecmamath.cpp src/script/qscriptecmamath_p.h src/script/qscriptecmanumber.cpp src/script/qscriptecmanumber_p.h src/script/qscriptecmaobject.cpp src/script/qscriptecmaobject_p.h src/script/qscriptecmaregexp.cpp src/script/qscriptecmaregexp_p.h src/script/qscriptecmastring.cpp src/script/qscriptecmastring_p.h src/script/qscriptengine.cpp src/script/qscriptengine_p.cpp src/script/qscriptengine_p.h src/script/qscriptenginefwd_p.h src/script/qscriptextenumeration.cpp src/script/qscriptextenumeration_p.h src/script/qscriptextqobject.cpp src/script/qscriptextqobject_p.h src/script/qscriptextvariant.cpp src/script/qscriptfunction.cpp src/script/qscriptfunction_p.h src/script/qscriptgc_p.h src/script/qscriptmember_p.h src/script/qscriptobject_p.h src/script/qscriptprettypretty.cpp src/script/qscriptprettypretty_p.h src/script/qscriptvalue.cpp src/script/qscriptvalueimpl.cpp src/script/qscriptvalueimpl_p.h src/script/qscriptvalueimplfwd_p.h src/script/qscriptvalueiteratorimpl.cpp src/script/qscriptxmlgenerator.cpp src/script/qscriptxmlgenerator_p.h tests/auto/linguist/lupdate/testdata/recursivescan/project.ui tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp tools/linguist/shared/cpp.cpp
| * Update tech preview license header.Jason McDonald2009-08-312-26/+26
| | | | | | | | Reviewed-by: Trust Me
| * Update license headers.Jason McDonald2009-08-112-2/+2
| | | | | | | | Reviewed-by: Trust Me
* | Merge commit 'qt/master'Jason Barron2009-08-132-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/opengl/samplebuffers/glwidget.cpp src/corelib/io/qfsfileengine_unix.cpp src/corelib/kernel/qobject.cpp src/corelib/tools/qsharedpointer.cpp src/gui/gui.pro tests/auto/qhttp/tst_qhttp.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp
| * | Update contact URL in license headers.Jason McDonald2009-08-122-2/+2
| | | | | | | | | | | | Reviewed-by: Trust Me
* | | Merge commit 'qt/master-stable' into 4.6-mergedJason Barron2009-06-302-4/+44
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .gitignore configure.exe src/corelib/concurrent/qtconcurrentthreadengine.h src/corelib/global/qnamespace.h src/gui/graphicsview/qgraphicssceneevent.h src/gui/kernel/qapplication.cpp src/gui/kernel/qapplication.h src/gui/kernel/qapplication_p.h src/gui/kernel/qapplication_qws.cpp src/gui/kernel/qwidget.h src/gui/painting/qpaintengine_raster.cpp src/gui/text/qfontdatabase.cpp src/network/access/qnetworkaccesshttpbackend.cpp tests/auto/network-settings.h tests/auto/qscriptjstestsuite/qscriptjstestsuite.pro tests/auto/qvariant/tst_qvariant.cpp
| * | Fixed rounding bug in raster paint engine rect / image drawing.Samuel Rødal2009-06-221-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | Change 855aa89e0ba99f8a0f75d7b31930bab2cefb93f8 incorrectly changed toNormalizedFillRect to use int truncation instead of qRound. This fixes the autotest failure in tst_QPainter::drawRect2 as well. Reviewed-by: Trond
| * | Merge branch '4.5' of scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-06-181-0/+19
| |\ \ | | |/ | | | | | | | | | | | | | | | Conflicts: configure.exe tests/auto/qpainter/tst_qpainter.cpp translations/qt_ru.ts
| | * Fixed segmentation fault caused by empty clip.Samuel Rødal2009-06-171-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | Make sure not to use the broken QRect constructor, and do an early check on whether the clip rect is empty in QRasterizer::rasterizeLine(). Task-number: 254105 Reviewed-by: Trond
| * | Merge license header changes from 4.5Volker Hilsheimer2009-06-162-4/+4
| |\ \ | | |/
| | * Update license headers as requested by the marketing department.Jason McDonald2009-06-162-4/+4
| | | | | | | | | | | | Reviewed-by: Trust Me
* | | Merge commit 'qt/master-stable' into 4.6-stableJason Barron2009-06-251-0/+24
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring Qt 4.6 into the Qt-S60 repo. Conflicts: configure.exe mkspecs/features/qttest_p4.prf qmake/generators/makefile.cpp src/corelib/io/qdir.cpp src/corelib/io/qprocess.h src/corelib/kernel/qcoreevent.h src/corelib/kernel/qobject.cpp src/corelib/kernel/qsharedmemory_unix.cpp src/corelib/thread/qthread_p.h src/corelib/tools/qvector.h src/gui/dialogs/qdialog.cpp src/gui/dialogs/qfiledialog.cpp src/gui/dialogs/qfiledialog_p.h src/gui/dialogs/qmessagebox.cpp src/gui/graphicsview/qgraphicsitem.cpp src/gui/graphicsview/qgraphicsview.cpp src/gui/image/qpixmapcache.cpp src/gui/kernel/qapplication.cpp src/gui/kernel/qapplication_p.h src/gui/kernel/qwidget.cpp src/gui/kernel/qwidget_p.h src/gui/painting/qdrawhelper.cpp src/gui/painting/qpaintengine_raster.cpp src/gui/text/qfontengine_qpf.cpp src/gui/widgets/qmenubar.cpp src/network/socket/qlocalserver.cpp src/testlib/qtestcase.cpp src/testlib/testlib.pro tests/auto/qimagereader/tst_qimagereader.cpp tests/auto/qitemdelegate/tst_qitemdelegate.cpp tests/auto/qnetworkreply/tst_qnetworkreply.cpp tests/auto/qpixmap/qpixmap.pro
| * | Merge commit 'origin/4.5'Olivier Goffart2009-06-041-0/+26
| |\ \ | | |/
| * | Fixed bug in QClipData::fixup().Samuel Rødal2009-06-021-0/+24
| | | | | | | | | | | | | | | | | | | | | The bounding rect computed in fixup() is one pixel too wide, causing potential memory corruption by painting outside device boundaries. Reviewed-by: Trond
* | | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-06-081-0/+26
|\ \ \ | | |/ | |/| | | | | | | Conflicts: tests/auto/qlocalsocket/tst_qlocalsocket.cpp
| * | Fixed raster bug causing fully clipped images to be partially blended.Samuel Rødal2009-06-031-0/+26
| |/ | | | | | | | | | | | | | | | | | | | | The blend functions assume the width / height of the images being blended to be greater than 0. A width of 0 caused the first iteration of a duff's device memcpy (QT_MEMCPY_USHORT) to be executed, thus blending 8 pixels instead of none. BT: yes Task-number: 255014 Reviewed-by: Trond
* | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-05-061-0/+18
|\ \ | |/
| * Fixed bug where 0-opacity would cause images to be drawn fully opaque.Samuel Rødal2009-05-051-0/+18
| | | | | | | | | | | | | | | | | | The bug appears in the raster paint engine and only in release mode as the cause of the bug is in the MMX and SSE blend functions which are disabled in debug. To prevent it simply we return early if we detect that we have an opacity of 0. Reviewed-by: Trond
* | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-04-271-17/+98
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configure.exe recompiled with MSVC6. Conflicts: configure.exe examples/network/network.pro src/gui/dialogs/qfiledialog_p.h src/gui/dialogs/qfilesystemmodel_p.h src/gui/kernel/qapplication.cpp tests/auto/_Categories/qmake.txt tests/auto/qfile/test/test.pro tests/auto/qfile/tst_qfile.cpp tests/auto/qlibrary/tst_qlibrary.cpp tests/auto/qline/tst_qline.cpp tests/auto/qstyle/tst_qstyle.cpp tests/auto/qtextstream/tst_qtextstream.cpp tests/auto/qtranslator/qtranslator.pro tests/auto/qwaitcondition/tst_qwaitcondition.cpp translations/qt_ja_JP.ts