summaryrefslogtreecommitdiffstats
path: root/src/gui/effects/qgraphicseffect.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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-061-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
* doc: qdoc warning about signal not found.Bjørn Erik Nilsen2009-08-251-1/+1
| | | | QPoint -> QPointF
* Make sure QGraphicsOpacityEffect::opacity is bound between 0.0 and 1.0Bjørn Erik Nilsen2009-08-241-0/+3
|
* doc: More documentation of the graphics effect framework.Bjørn Erik Nilsen2009-08-241-12/+338
|
* Fix obsolete license headers.Jason McDonald2009-08-211-2/+2
| | | | Reviewed-by: Trust Me
* Add QGraphicsOpacityEffect.Bjørn Erik Nilsen2009-08-211-0/+57
| | | | | | This is a common effect that many many customers have asked for. Reviewed-by: Samuel
* Use pixmap filter for the drop shadow effect.Bjørn Erik Nilsen2009-08-211-129/+26
|
* Add support for graphics effects on QWidget.Bjørn Erik Nilsen2009-08-201-0/+6
|
* Rename QGraphicsShadowEffect to QGraphicsDropShadowEffect.Bjørn Erik Nilsen2009-08-201-20/+20
| | | | Discussed with Andreas.
* Graphics Effect cleanup: Remove old comments; not valid anymore.Bjørn Erik Nilsen2009-08-201-57/+4
|
* Add QT_BEGIN_NAMESPACE and QT_END_NAMESPACEBjørn Erik Nilsen2009-08-201-0/+4
|
* Add "QObject *parent = 0" to all graphics effect constructors.Bjørn Erik Nilsen2009-08-201-14/+14
|
* Cleanup after 19e01c93f9421a8db6c8a93ac103a7df2b93d9ecBjørn Erik Nilsen2009-08-191-3/+0
| | | | QGraphicsEffect is no longer dependent on the Graphics View module.
* Add Q_PROPERTY to all qgraphics effects.Bjørn Erik Nilsen2009-08-191-1/+26
|
* Remove QGraphicsBloomEffect and QGraphicsFrameEffect.Bjørn Erik Nilsen2009-08-191-180/+0
| | | | These belong to the examples directory as discussed with Andreas.
* Move QGraphicsEffect from src/gui/graphicsview to src/gui/effects.Bjørn Erik Nilsen2009-08-191-0/+876