summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Some final QMatrix cleanups.Volker Hilsheimer2009-07-281-3/+6
|
* Doc: Cleaning up.Volker Hilsheimer2009-07-281-12/+15
| | | | This closes task 235801.
* Doc: Remove reference to QMatrixVolker Hilsheimer2009-07-271-5/+3
| | | | | As pointed out on IRC, setTransform is used most frequently in code and in an ideal world would be the only such function.
* "MAP" is a too common name to use it without #undef'ing it firstRobert Griebl2009-07-271-1/+3
| | | | Reviewed-by: TrustMe
* Doc: Obsolete QMatrix and QPainter APIs using it.Volker Hilsheimer2009-07-272-36/+55
| | | | | | | | | QTransform and respective APIs should be used. Still some changes required - Some references to QMatrix left in documentation - Qt code uses QMatrix APIs (ie translationX) Reviewed-by: Samuel
* Doc: Replace QMatrix with QTransform and respective functions in various places.Volker Hilsheimer2009-07-252-3/+6
|
* Doc: Replace links to obsolete APIs.Volker Hilsheimer2009-07-252-3/+3
|
* Remove all the last vestiges of QuickDraw in Qt/Mac.Norwegian Rock Cat2009-07-241-105/+0
| | | | | | | Panther was the last reason for having this around. We don't touch this code anywhere else in Qt. As a result it's orphaned and can be safely removed. It truly is the end of an era, but it's definitely worth celebrating. Quartz4Life!
* Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-07-241-1/+1
|\
| * Once enabled, the emulation engine never got switched back offGunnar Sletta2009-07-241-1/+1
| | | | | | | | | | | | The check in QPainter::checkEmulation was just plain wrong. Reviewed-By: Eskil
* | Merge branch '4.5' of scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-07-244-12/+39
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/webkit/VERSION src/3rdparty/webkit/WebCore/ChangeLog src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h src/3rdparty/webkit/WebCore/page/DragController.cpp src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp src/3rdparty/webkit/WebKit/qt/ChangeLog src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp src/gui/painting/qpaintengineex_p.h tools/linguist/lupdate/main.cpp
| * 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
| * Diagonal dashes are moving when touching the clip boundary.Gunnar Sletta2009-07-231-1/+4
| | | | | | | | | | | | | | | | | | We normally pad the clip rect with the size of the pen and miterlimit to avoid this, but this didn't handle the case where there was a long diagonal dash. We also need to multiply the padding with the longest dash. Reviewed-By: Tom Cooksey
| * Implement clipping in the QPaintEngineEx::stroke() function.Gunnar Sletta2009-07-233-6/+11
| | | | | | | | | | | | | | This is a huge impact on performance whenever this path is taken. Reviewed-By: Tom Cooksey
* | Merge branch '4.5'Thiago Macieira2009-07-221-2/+7
|\ \ | |/
| * Fix table borders in multiline tables when printing to PostScript.Gunnar Sletta2009-07-221-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | I'm not all to happy with this fix, but its the best that one can acheive given the current design. The problem is that QPdfBaseEngine sets a number of states as part of updateState(), but only when we are playing back through the alpha engine. These states are used in some draw functions, also when we are recording in the alpha engine. This leads to the states and their checks being out of sync. So to follow the existing pattern in the code we need to not touch d-> vars prior to a check to usesAlphaEngine. Reviewed-By: Eskil
* | Make "-graphicssystem openvg" select OpenVG as default graphics systemRhys Weatherley2009-07-221-0/+4
| | | | | | | | Reviewed-by: Lincoln Ramsay
* | Merge commit 'origin/4.5'Oswald Buddenhagen2009-07-201-1/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/webkit/VERSION src/3rdparty/webkit/WebCore/ChangeLog src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp src/3rdparty/webkit/WebCore/page/DOMWindow.idl src/corelib/io/qdiriterator.cpp src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h tests/auto/qxmlquery/tst_qxmlquery.cpp tools/linguist/lconvert/main.cpp
| * Fix deadlock in the QWS server when destroying lots of windowsTom Cooksey2009-07-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First, don't call QWSWindowSurface::winId() in the destructor, as it will actually request a new id if there isn't already one around - which is a bit silly and highlighted the "real" bug. Second, make sure QWSDisplay::Data::takeId() asks for 1 new id before waiting for more ids to arrive. This is because waitForCreation() calls QWSServer::processEventQueue(). If the events in the queue cause takeId() to be called, QWSDisplay::Data::takeId() gets called recursively. Even though there will be a create 15 ids command in the queue, that will only allow 15 QWSDisplay::Data::takeId() calls to return. The 16th call to QWSDisplay::Data::takeId() on the stack will not be able to return because all the IDs have been taken and (because it has been called recursively) no new create id commands have been generated. So the 16th call to takeId() spins in waitForCreate(). Reviewed-by: Paul
* | Doc: A few cleanups, fixes and improvements.Volker Hilsheimer2009-07-191-1/+2
| |
* | fix warnings with mingwThierry Bastian2009-07-151-1/+1
| |
* | Fix warnings for mingwThierry Bastian2009-07-153-108/+4
| | | | | | | | | | did a small refactor and used QStyleHelper::uniqueName in plastique and windows styles
* | Build fix for mingwThierry Bastian2009-07-141-1/+1
| | | | | | | | | | we should include qt_windows.h and not windows.h because we have to define WINVER to 0x500.
* | Use the safe versions in these system calls I've just introduced.Thiago Macieira2009-07-021-8/+12
| | | | | | | | Reviewed-By: ossi
* | src/gui: Remove QT_WA and non-Unicode code paths, dropping Win9x and NT supportminiak2009-07-018-549/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | Also - Make winPeekMessage() & winPostMessage() obsolete - FlashWindowEx, IsValidLanguageGroup functions no longer resolved dynamically (available on >= Windows 2000) - LoadIcon/LoadCursor -> LoadImage w/LR_SHARED for system icons/cursors - qsystemtrayicon_win: use Shell_NotifyIconGetRect if available (Windows 7) Merge-request: 604 Reviewed-by: Marius Storm-Olsen <marius@trolltech.com>
* | Merge branch '4.5'Marius Storm-Olsen2009-06-301-3/+3
|\ \ | |/
| * Fix crash/artifacts on SuperHTom Cooksey2009-06-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | Add SuperH to the ever growing list of architectures which can't correctly dereference a short* which is not 16-bit aligned. Turning this into a white-list rather than a black list might make sense at some point, but as QT_ARCH_I386 isn't defined on windows, the white list looks even uglier at the moment. :-) Task-number: 257077 Reviewed-by: TrustMe
* | Merge branch '4.5'Thiago Macieira2009-06-281-1/+19
|\ \ | |/
| * Fixed cap and join styles when printing to native Windows printers.Trond Kjernaasen2009-06-261-1/+19
| | | | | | | | | | | | | | | | Line and polygon strokes did not respect the join/cap styles set on a painter. Task-number: 256914 Reviewed-by: Samuel
* | Silence trivial warningsThiago Macieira2009-06-261-0/+2
| |
* | Improved support for DPI on Mac and Vista/7Jens Bache-Wiig2009-06-251-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This significantly improves the support for higher DPI-values on these platforms by ensuring that common pixelmetrics are scaled accordingly. In addition we mark all Qt apps as DPI-aware on Windows 7 by calling SetProcessDPIAware. We also changed the way we draw pixmaps on the mac paintengine when using dpi scaling > 1 to ensure smooth pixmap scaling. Reviewed-by: nrc Task-id: 242417
* | More culling of Panther Code.Norwegian Rock Cat2009-06-234-121/+18
| | | | | | | | | | | | Removed lots of places where we check for Tiger. Now we can assume it. Reviewed-by: Morten Sørvig
* | Merge branch '4.5' of scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-06-231-2/+2
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/3rdparty/webkit/VERSION src/3rdparty/webkit/WebCore/ChangeLog src/3rdparty/webkit/WebKit/qt/ChangeLog tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
| * Added QPen warning when setting dash pattern with non-positive entries.Samuel Rødal2009-06-231-2/+2
| | | | | | | | | | Task-number: 256720 Reviewed-by: Trond
* | Merge commit 'origin/4.5'Oswald Buddenhagen2009-06-233-12/+18
|\ \ | |/ | | | | | | Conflicts: src/sql/drivers/psql/qsql_psql.cpp
| * Moving a child widget right after show() does not work as expected.Bjørn Erik Nilsen2009-06-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that we did an accelerated move, i.e. scrolled the widget's contents in the backing store and repainted the old area. We cannot do this trick when the widget has been invalidated (show(), resize()). In this case the widget had never been painted, so we basically scrolled the content of its parent and the widget itself appeared as invisible. Auto-test included. Task-number: 255117 Reviewed-by: Paul
| * Fixed wrong painting when doing IntersectClip after setClipping(false).Samuel Rødal2009-06-222-11/+14
| | | | | | | | | | | | | | | | | | | | 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 rounding bug in raster paint engine rect / image drawing.Samuel Rødal2009-06-221-4/+4
| | | | | | | | | | | | | | | | 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
* | QStroker needs to be exported.Anders Bakken2009-06-221-1/+1
| | | | | | | | | | | | | | | | | | It's a member in QRasterPaintEngine which is subclassed by QDirectFBPaintEngine which lives in a plugin. Partial revert of 48257d751a76699e548e59b76fc79303ef328375 Reviewed-by: TrustMe
* | Changed enum Qt::Uninitialized to enum Qt::InitializationMartin Smith2009-06-194-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | enum Qt::Uninitialized contains one value, which is also called Uninitialized. Because the type and the value used the same name, wherever the type Qt::Uninitialized was used in a function signature, you had to include the enum keyword. But qdoc's preprocessor doesn't like that, so you have to take the enum keyword out of the signatures. But then the compiler complains because the type and the value look the same. So I had to change the enum type name to Initialization, so the compiler can distinguish it from the value name. And qdoc likes that too.
* | Use QTransform more efficiently.Bjørn Erik Nilsen2009-06-184-10/+5
| | | | | | | | Reviewed-by: Samuel
* | Merge branch '4.5' of scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-06-183-29/+44
|\ \ | |/ | | | | | | | | | | Conflicts: configure.exe tests/auto/qpainter/tst_qpainter.cpp translations/qt_ru.ts
| * Fixed bugs in QPainterPath::united().Samuel Rødal2009-06-171-27/+42
| | | | | | | | | | | | | | | | | | | | Change from a relative to an absolute fuzzy compare as was the case pre-4.4. With a relative fuzzy compare points that have an x or y coordinate of 0 will never be merged with points that are very close to 0, for example (1e-15, 0). Task-number: 251909 Reviewed-by: Trond
| * Fixed segmentation fault caused by empty clip.Samuel Rødal2009-06-172-2/+2
| | | | | | | | | | | | | | | | 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
* | Make construction of unitialized QTransform/QMatrix a no-op.Bjørn Erik Nilsen2009-06-184-0/+11
| | | | | | | | | | | | | | | | | | | | These constructors are useful when you have to create a temporary uninitialized QTransform/QMatrix and later initialize it to something else. Done with Lars. Reviewed-by: samuel
* | Merge license header changes from 4.5Volker Hilsheimer2009-06-16148-295/+295
|\ \ | |/
| * Update license headers as requested by the marketing department.Jason McDonald2009-06-16152-303/+303
| | | | | | | | Reviewed-by: Trust Me
* | smaller optimisation in ::fromTransform() and fromScale()Lars Knoll2009-06-161-4/+6
| | | | | | | | | | | | | | We know the type of the transformation in these methods, so there is no point in setting a dirty flag for the type. Reviewed-by: Samuel
* | greatly speed up QTransform::mapRect() for projective transformsLars Knoll2009-06-161-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | The code so far was converting the rect to a painterpath, mapping that one and then taking the bounding rect. It is actually sufficient to simply map the four corners of the rectangle and take the bounding rect of these four points even in the projective case. Fix the MAP macro to be more correct for degenerated projective transformations. Reviewed-By: Samuel