summaryrefslogtreecommitdiffstats
path: root/src/gui/effects/qgraphicseffect.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Doc: remove graphics for effects that are no longer in scope.Volker Hilsheimer2009-11-101-1/+11
|
* Improvements to graphics effects API after review round.Samuel Rødal2009-11-101-90/+143
| | | | | | | | | | | | * Get rid of QGraphicsEffectSource from the public API, instead add convenience functions in QGraphicsEffect. This way we commit to less API, and are free to introduce a customizable QGraphicsEffectSource in a future release. * Move PixmapPadMode into QGraphicsEffect and tweak the names of the enum values. * Make QGraphicsBlurEffect::BlurHint into a bit flag, for extensibility. Reviewed-by: Bjørn Erik Nilsen
* Merge branch '4.6-s60' into 4.6axis2009-11-061-0/+5
|\
| * Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-11-051-0/+2
| |\
| * | Fix for link error when building QtSvgGareth Stockwell2009-11-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Building QtSvg for Symbian (ARMV5 build) fails due to the following linker error: QGraphicsEffectSourcePrivate::invalidateCache(bool) const (referred from qsvgwidget.o). This function is called from the inline destructor of QGraphicsEffectSourcePrivate. Making this destructor non-inline fixes the problem. It is not clear why QtSvg is instantiating this destructor, however, as neither QGraphicsEffectSourcePrivate nor any of its derived classes are referred to from QtSvg source. This problem seems to have been triggered by 85e41590. Reviewed-by: Shane Kearns
* | | Doc: Fixed qdoc warnings.David Boddie2009-11-051-1/+17
| |/ |/| | | | | Reviewed-by: Trust Me
* | Add QT_NO_GRAPHICSEFFECTJørgen Lind2009-11-041-0/+2
|/ | | | | | | It depends on QT_NO_GRAPHICSVIEW for now, but it is possible to remove this dependency. Reviewed-by: paul
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-11-031-51/+21
|\
| * Merge commit 'widget/4.6' into origin/4.6Olivier Goffart2009-10-301-51/+21
| |\ | | | | | | | | | | | | Conflicts: src/gui/effects/qgraphicseffect.cpp
| | * Get rid of QPainter warnings generated from QGraphicsOpacityEffect.Bjørn Erik Nilsen2009-10-291-49/+20
| | | | | | | | | | | | | | | | | | | | | Problem was that we painted on null pixmap. We also want to use the pixmap cache (QGraphicsEffectSource::pixmap()) to improve performance. Reported by Andrew Baldwin's performance team.
* | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-graphics-team into 4.6Gunnar Sletta2009-11-021-11/+53
|\ \ \
| * | | Made QGraphicsEffectSource::draw() use cached pixmap if possible.Samuel Rødal2009-11-021-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | Small optimization for the case where the source pixmap is cached. Reviewed-by: Gunnar Sletta
| * | | Moved Qt::RenderHint back into QGraphicsBlurEffect and added a hint.Samuel Rødal2009-11-021-9/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added AnimationHint, which didn't make too much sense in a generic enum, so Qt::RenderHint was moved back into QGraphicsBlurEffect as QGraphicsBlurEffect::BlurHint. Reviewed-by: Gunnar Sletta
| * | | Optimized graphics effects to not needlessly invalidate cache.Samuel Rødal2009-11-021-1/+8
| |/ / | | | | | | | | | | | | | | | | | | When the effect rect changes we only need to invalidate the cache if the mode is ExpandToEffectRectPadMode. Reviewed-by: Gunnar Sletta
* / / Fixed test, QGraphicsSourceEffect::pixmap(), caching caused failure.Gunnar Sletta2009-11-021-0/+8
|/ / | | | | | | Reviewed-by: Samuel
* | Added some optimizations to the blur and drop shadow GL filters.Samuel Rødal2009-10-291-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use ExpandToTransparentBorderPadMode since we can use GL_CLAMP_TO_EDGE to clamp to the texture. * Shrink the bounding rects reported by the blur and drop shadow filters (expanding by 2 * radius isn't needed). * Use a single-pass blur for radii <= 3 to avoid the overhead of rendering to an FBO. * Made the fast blur setting generate filters for only a predefined set of radii, and then use the actual blur radius to spread the sample points outwards. * Optimized the generated program to rely less on temporary variables, as those seemed to not be handled very well by certain GLSL compilers. Reviewed-by: Gunnar Sletta
* | Made blur and drop shadow APIs use qreal instead of int for blur radius.Samuel Rødal2009-10-271-8/+8
| | | | | | | | | | | | | | There's no reason to lock ourselves to int in the API when some of the backend could handle floating point blur radii. Reviewed-by: Bjørn Erik Nilsen
* | Options on how to get a pixmap from an effect sourceGunnar Sletta2009-10-271-5/+17
| | | | | | | | | | | | Usable for future optimizations. Reviewed-by: Samuel
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-graphics-team into 4.6Gunnar Sletta2009-10-261-2/+6
|\ \
| * | Made sure we invalidate the cache when the effect rect changes.Samuel Rødal2009-10-261-2/+6
| |/ | | | | | | | | | | | | When blurring and the blur radius increases we need a bigger effect rect to do within-pixmap-bounds filtering. Reviewed-by: Bjørn Erik Nilsen
* / Removed pixelize, bloom and grayscale filterGunnar Sletta2009-10-231-449/+4
|/ | | | | | | | | | | | | | | | | This is new API and we don't want to add several items that are not strictly needed. This is a new set of features and we can grow them once we have more input from users on what is needed. The Bloom filter was added based on input from designers, but is not implemented according to how designers think of blook, so the effect doesn't meet the requirements. The Grayscale filter is functionally a duplicate of the colorize filter and is therefore not needed. The Pixelize filter has no genuine usecase. Reviewed-by: Samuel
* Added caching of graphics effect source pixmaps to speed up effects.Samuel Rødal2009-10-221-1/+18
| | | | | | | If an effect is applied repeatedly on the same source, just with varying parameters, we can save a lot by caching the source pixmaps. Reviewed-by: Bjørn Erik Nilsen
* CompileEskil Abrahamsen Blomfeldt2009-10-151-1/+1
| | | | | | There's no implicit conversion from QPixmap to QImage Reviewed-by: Gunnar
* Optimized bloom graphics effect implementation.Samuel Rødal2009-10-141-9/+13
| | | | | | | Avoid doing so many conversions by operating on raster pixmaps, and by using INV_PREMUL/PREMUL instead of converting to ARGB32. Reviewed-by: Gunnar Sletta
* Fixed wrong use of graphics effects for pixmap graphics items.Samuel Rødal2009-10-141-27/+7
| | | | | | | | | | | The blur, drop shadow, and bloom graphics effects are scale dependent, since they have radius and offset (in the case of drop shadow) parameters that are specified in device coordinates. Thus, we can't apply the effect in logical coordinates and scale up, and need to always use the device coordinate path for these effects. The opacity and grayscale effects still use the logical coordinate optimization. Reviewed-by: Gunnar Sletta
* Fix compilation with -pedanticDavid Faure2009-10-071-1/+1
| | | | | Merge-request: 1716 Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
* Doc: Remaining pieces of the Graphics effect documentation.Bjørn Erik Nilsen2009-09-301-0/+21
|
* Added QGraphicsBloomEffect::blurHint.Bjørn Erik Nilsen2009-09-301-0/+34
| | | | | | | This allows the user to control whether to use a fast dynamic blur or a static high quality blur. Reviewed-by: Samuel
* Add Qt::RenderHint to control rendering operations.Bjørn Erik Nilsen2009-09-301-25/+11
| | | | | | | | | | | We need a way to control various rendering operations. For example, whether quality is more important than performance, or the other way around. This change also replaces occurences of QPixmapFilter/QGraphicsEffect::BlurHint (introduced in 1a431e850893b6b162c833f4f148f090e2427dda) with Qt::RenderHint. Reviewed-by: Samuel
* Readd QGraphicsBloomEffect.Bjørn Erik Nilsen2009-09-301-0/+178
| | | | | | | | This effect was removed in 1c9a28ea64cc53e61a64644dc5a4ff121b475bc5, but has now been readded on request from a couple of customers. Andreas also agreed we should provide this effect. Reviewed-by: Andreas
* Added BlurType to blur graphics effect API.Samuel Rødal2009-09-241-2/+50
| | | | | | | | This lets the user control whether to use a fast dynamic blur when animating the radius of the blur for example, or to use a static high quality blur for one-time or constant radius blurring. Reviewed-by: Gunnar Sletta
* Made QGraphicsBlurEffect use the high blur quality setting.Samuel Rødal2009-09-151-0/+2
| | | | | | | This greatly increases the blur quality in the OpenGL implementation, and doesn't affect the performance of the raster implementation. Reviewed-by: Bjørn Erik Nilsen
* doc: Fixed some qdoc errors.Martin Smith2009-09-151-0/+12
|
* Add filter strength to QGraphics[Colorize,Grayscale]Effect.Ariya Hidayat2009-09-141-0/+63
| | | | | Autotest: included Reviewed-by: Bjørn Erik Nilsen
* Update license headers again.Jason McDonald2009-09-091-4/+4
| | | | Reviewed-by: Trust Me
* Make QGraphicsShaderEffect private API for 4.6Rhys Weatherley2009-09-071-1/+0
| | | | | | | The custom shader code in the OpenGL2 paint engine needs time to mature before we make this official public API. Reviewed-by: trustme
* doc: Fixed several qdoc errors.Martin Smith2009-09-021-1/+2
| | | | That's the last of them... for now.
* Fix rounding bug in QGraphicsOpacityEffect.Bjørn Erik Nilsen2009-09-011-4/+5
| | | | The pixmap was painted at wrong offset.
* Make sure the BSP is updated when a graphics effect changes bounding rect.Bjørn Erik Nilsen2009-09-011-2/+2
| | | | | | | | | In the case of applying an effect to a QGraphicsItem, we have to notify the scene's BSP that the item's bounding rect has changed. We do this by calling prepareGeometryChange(). In the case of QWidget, it's sub-optimal that we update its parent, but there's no other way to solve it at the moment.
* QGraphicsDropShadowEffect convenience; setXOffset() and setYOffset().Bjørn Erik Nilsen2009-09-011-1/+19
| | | | Reviewed-by: Andreas
* Make sure graphics effects updates properly when changing their properties.Bjørn Erik Nilsen2009-09-011-0/+23
| | | | Reviewed-by: Leo
* Update tech preview license header for files that are new in 4.6.Jason McDonald2009-08-311-13/+13
| | | | Reviewed-by: Trust Me
* Don't call qFuzzyIsNull on every single frame in QGraphicsOpacityEffect.Bjørn Erik Nilsen2009-08-281-2/+6
| | | | | We only have to do it when the opacity changes (in ::setOpacity). Also, we cannot do the cut-off when the effect has an opacity mask set.
* Add support for setting an opacity mask on QGraphicsOpacityEffect.Bjørn Erik Nilsen2009-08-281-5/+88
| | | | | | | | Opacity masks enable you to make portions of an element transparent. More information about opacity masks here: http://msdn.microsoft.com/en-us/library/ms743320.aspx Reviewed-by: Samuel
* doc: Add Graphics Effect images.Bjørn Erik Nilsen2009-08-261-3/+17
|
* doc: Misspelled class names.Bjørn Erik Nilsen2009-08-261-2/+2
|
* doc: fixes qdoc warnings/errors related to the Graphics Effect framework.Bjørn Erik Nilsen2009-08-261-71/+135
| | | | Reviewed-by: Kavindra
* Doc - Completed review of documentation for the QGraphicsEffect group ofKavindra Devi Palaraja2009-08-261-77/+95
| | | | | | classes Reviewed-By: TrustMe
* Doc - Removed a trailing whitespace and more cleanupsKavindra Devi Palaraja2009-08-251-11/+6
| | | | Reviewed-By: TrustMe
* Doc - Reviewing documentation for QGraphicsEffect and QGraphicsEffectSourceKavindra Devi Palaraja2009-08-251-24/+30
| | | | Reviewed-By: TrustMe