summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpaintengine_raster.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update license headers.Jason McDonald2009-08-111-1/+1
| | | | Reviewed-by: Trust Me
* Fixed crash when vectorpath was polygonal only in raster::stroke()Gunnar Sletta2009-07-241-9/+16
| | | | | | | Polygonal vector paths may have types==null, in which case this would have crashed. Reviewed-by: Eskil
* QPainter::stroke() on raster engine would draw moveto's as linesGunnar Sletta2009-07-231-5/+17
| | | | | | | | | The reason being that there was an assumption that any non-curved path was a continous polyline. For paths with multiple subpaths in it we need to split this up into multiple strokePolygonCosmetic calls. Task-number: 257621 Reviewed-by: Kim Motoyoshi Kalland
* Implement clipping in the QPaintEngineEx::stroke() function.Gunnar Sletta2009-07-231-0/+3
| | | | | | | This is a huge impact on performance whenever this path is taken. Reviewed-By: Tom Cooksey
* Fixed wrong painting when doing IntersectClip after setClipping(false).Samuel Rødal2009-06-221-0/+2
| | | | | | | | | | The documentation is a bit ambiguous on what the expected behavior here is, but the behavior was consistent across paint engines before 4.5. QPaintEngineEx introduced inconsistencies in the raster and OpenGL paint engines, so this patch reverts the behavior back to what it was in 4.4. Task-number: 256549 Reviewed-by: Trond
* Fixed segmentation fault caused by empty clip.Samuel Rødal2009-06-171-1/+1
| | | | | | | | 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
* Update license headers as requested by the marketing department.Jason McDonald2009-06-161-2/+2
| | | | Reviewed-by: Trust Me
* Fixed raster bug causing fully clipped images to be partially blended.Samuel Rødal2009-06-031-2/+2
| | | | | | | | | | | 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
* Use a QVarLengthArray instead of some hacky self-made containerHarald Fernengel2009-06-021-12/+3
| | | | | | | This won't leak on error case, and will work with arbitrary sizes. Also changed from int to short as instructed by Samuel. Reviewed-by: Samuel <qt-info@nokia.com>
* Fixed some inconsistencies for image drawing on non-integer coords.Samuel Rødal2009-05-071-3/+16
| | | | | | | | | | | | | | The fix for 1x1 source rect image drawing in change ffbb3c1a2aee4134dce80cd144a26bf32865b698 was incorrect for transforms with type >= TxScale. The aliased coordinate delta needs to be applied in device coordinates, not in logical coordinates. Also specialize the non-antialiased TxScale case by simply calling fillRect_normalized directly, avoiding having to scan convert the rectangle manually. Task-number: 251561 Reviewed-by: Trond
* Fixed some inconsistencies for image drawing on non-integer coords.Samuel Rødal2009-05-061-1/+5
| | | | | | | | Don't use aliased coordinate delta for image drawing. Related to change fde7475bcf9c10522a8170e6eb8fb9a8fadc21cd. Task-number: 251561 Reviewed-by: Trond
* Ensured correct rounding of scaled image drawing at non-integer coords.Samuel Rødal2009-05-051-2/+12
| | | | | | | | | | | | | Images coordinates should simply be rounded and are not to be subject to the aliased coordinate delta. The patch also adds a tiny delta in QSpanData::setupMatrix() to ensure coordinates for fetching from source images are rounded the opposite direction of the target rectangle. This removes a lot of artifacts when trying to do border-image based drawing on non-integer coordinates. A new qps test for border-image drawing is included. Task-number: 251561 Reviewed-by: Trond
* Fixed bug where 0-opacity would cause images to be drawn fully opaque.Samuel Rødal2009-05-051-1/+1
| | | | | | | | | 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
* Fix clipping bug in raster paint engineGunnar Sletta2009-04-241-0/+14
| | | | | | | | | If we have a rect-clip where we actually had spans (used for cleartype) and then reused that clipdata, we would never re-create the spans, which would mean that future drawing would be filtered based on the old clip Reviewed-by: Samuel
* Some ifdefs for debugging clipping performanceGunnar Sletta2009-04-201-0/+36
|
* Fixes: Make drawPixmap as fast as drawImage on rasterRGunnar Sletta2009-04-071-33/+67
| | | | | | RevBy: Samuel Details: The IMAGE_FROM_PIXMAP has to be doing a local copy or something, because it is sure not fast...
* Fix missing fills of rects with negative width/height in raster engine.Samuel Rødal2009-03-301-1/+1
| | | | | | | Call isEmpty() on the normalized rect instead of the original rect. Task-number: 247505 Reviewed-by:
* Long live Qt 4.5!Lars Knoll2009-03-231-0/+6058