summaryrefslogtreecommitdiffstats
path: root/src/openvg
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote branch 'origin/master' into qt-master-from-4.6Thiago Macieira2010-02-202-30/+47
|\ | | | | | | | | | | | | Conflicts: configure.exe src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp
| * Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7Eskil Abrahamsen Blomfeldt2010-02-152-22/+11
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tests/auto/qlineedit/tst_qlineedit.cpp Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7 Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tests/auto/qlineedit/tst_qlineedit.cpp Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7 Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tests/auto/qlineedit/tst_qlineedit.cpp
| * | Make QStaticText public API againEskil Abrahamsen Blomfeldt2010-02-101-1/+1
| | | | | | | | | | | | | | | QStaticText was previously made private API to support inclusion in Qt 4.6.x. This change turns it back into public API for Qt 4.7.0.
| * | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Eskil Abrahamsen Blomfeldt2010-02-042-13/+157
| |\ \ | | | | | | | | | | | | qstatictext-4.6
| * | | Make QStaticText private APIEskil Abrahamsen Blomfeldt2010-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns QStaticText into private API in preparation for Qt 4.6.x. The related functions in QPainter are marked as internal in the docs. There are already internal functions in QPainter, so this seemed like a reasonable solution. Since the functions require QStaticText they will not be accessible to anyone who does not include private API.
| * | | Compile for S60Eskil Abrahamsen Blomfeldt2010-01-262-14/+19
| | | | | | | | | | | | | | | | Make the OpenVG code for QStaticText compile.
| * | | Attempt at making OpenVG work with QStaticTextEskil Abrahamsen Blomfeldt2010-01-262-25/+37
| | | | | | | | | | | | | | | | | | | | Done in the blind, so I don't expect this to compile, but it's to make it easier to get it over into a Symbian-ready repository.
* | | | Merge branch '4.6' into qt-master-from-4.6Thiago Macieira2010-02-171-4/+0
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tools/assistant/tools/assistant/helpviewer.cpp
| * | | Cleanup QEglContext & EGLDisplaysTom Cooksey2010-02-121-4/+0
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | This basicaly replaces display(), openDisplay() & defaultDisplay() methods with a single display() and nativeDisplay(), the latter being implemented in the platform-specific files and everything else being cross-platform code. Reviewed-By: Trond
* | | Merge remote branch 'qt/4.6' into qt-master-from-4.6Qt Continuous Integration System2010-02-091-11/+65
|\ \ \ | |/ / | | | | | | | | | | | | Conflicts: src/gui/kernel/qcocoapanel_mac.mm src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
| * | Use OpenVG scissor on 90/180/270 rotations and simple clips.Rhys Weatherley2010-02-041-7/+23
| | | | | | | | | | | | | | | Task-number: QTBUG-7864 Reviewed-by: Sarah Smith
| * | Optimize single-rect IntersectClip in OpenVG using the scissorRhys Weatherley2010-02-041-4/+42
| | | | | | | | | | | | | | | Task-number: QTBUG-7791 Reviewed-by: Sarah Smith
* | | Replace qt_vg_imageBits() with constBits() in the OpenVG codeRhys Weatherley2010-02-082-22/+11
|/ / | | | | | | Reviewed-by: Sarah Smith
* | Implementation for QVGPixmapData to/fromSymbianCFbsBitmapJani Hautakangas2010-02-031-2/+92
|/ | | | functions.
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-01-0715-15/+15
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: QIODevice: Fix readAll() Temporary hackiesh solution to prevent BOM in the xml data. Fixed qxmlstream autotest when using shadow builds. Attempt at readding the capital P headers for Phonon Remove special Phonon processing from syncqt. Use the lowercase/shortname.h headers for Phonon includes Fixes a crash when setting focus on a widget with a focus proxy. Update copyright year to 2010 doc: Clarified activeSubControls and subControls. Remove warning "statement with no effect" doc: Clarified that .lnk files are System files on Windows.
| * Update copyright year to 2010Jason McDonald2010-01-0615-15/+15
| | | | | | | | Reviewed-by: Trust Me
* | Avoid deep QImage copies in the OpenVG paint engineRhys Weatherley2010-01-042-9/+12
| | | | | | | | | | Task-number: QTBUG-7015 Reviewed-by: Daniel Pope
* | Reset the OpenVG scissor after a native painting call-outRhys Weatherley2010-01-041-2/+11
|/ | | | | Task-number: QTBUG-7051 Reviewed-by: Daniel Pope
* Add an image allocation pool to the OpenVG paint engineRhys Weatherley2009-12-158-53/+479
| | | | | | | | | | | | | Some OpenVG GPU's have limitations on the amount of memory available to create VGImage's. When the memory runs out, vgCreateImage() will fail. This change introduces QVGImagePool, which keeps track of all QVGPixmapData image allocations and ejects least-recently-used pixmaps when GPU memory is exhausted. Task-number: QT-2554 Reviewed-by: trustme
* Recreate VGImage properly in out of memory caseRhys Weatherley2009-12-091-0/+8
| | | | | | | | | If vgCreateImage() runs out of memory, then the drawPixmap() will fail. But previously, it would also prevent future attempts to call vgImageSubData() to populate the data when memory was present. Task-number: QTBUG-6639 Reviewed-by: Sarah Smith
* Merge oslo-staging-2/4.6 into upstream/4.6Olivier Goffart2009-12-094-29/+169
|\
| * Automatically destroy VG pixmaps when the last window surface goes awayRhys Weatherley2009-12-064-29/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Under S60, Qt will destroy the window surfaces of an application that goes into the background, which frees up EGL surface objects. But the VGImage's for pixmaps, and the EGLContext, were still using GPU memory. This change keeps track of the number of widgets / window surfaces that are in use and then calls hibernate() on all QVGPixmapData objects when it goes to zero. Once all the VGImage's are destroyed, the EGLContext should also be destroyed. Task-number: QT-2555 Reviewed-by: Sarah Smith
* | Assign Symbian UID to QtOpenVg moduleIain2009-12-031-0/+1
|/ | | | Reviewed-by: TrustMe
* Fix infinite recursion in OpenVG scissor-only clippingRhys Weatherley2009-11-271-12/+0
| | | | | | | | | | | When a complex transform was set, clip(QVectorPath) would call clip(QRect) with the control point rect, which would then turn around and say "transform is complex, call clip(QVectorPath)", causing an infinite loop until stack crash. Remove the "fall back to vector path" case as it isn't useful for scissor-only clipping. Doesn't affect mask-based clipping. Reviewed-by: Sarah Smith
* QT_VG_EGL_CONFIG env var to specify explicit EGL configs for OpenVGRhys Weatherley2009-11-261-0/+36
| | | | Reviewed-by: Sarah Smith
* Don't ask for pbuffers when searching for an OpenVG configurationRhys Weatherley2009-11-261-3/+3
| | | | Reviewed-by: Sarah Smith
* Make QVGCompositionHelper::blitWindow() more genericRhys Weatherley2009-11-252-7/+4
| | | | | | | | | | Previously, the composition helper would use the VG window surface private structure to get the VGImage to blit. This change passes the VGImage and size values in directly so that the composition helper can also be used to blit GL surfaces that have been converted into a VGImage via an EGLImage. Reviewed-by: Tom Cooksey
* Support semi-transparent surfaces in the OpenVG graphics systemRhys Weatherley2009-11-223-3/+41
| | | | | Task-number: QT-2026 Reviewed-by: Jason Barron
* Do not recreate the VGImage if the size is unchangedRhys Weatherley2009-11-202-33/+10
| | | | | | | | | When a pixmap's contents change in QVGPixmapData, only recreate the VGImage in the GPU if the size is different than before. This should help reduce GPU memory fragmentation. Task-number: QT-2504 Reviewed-by: Sarah Smith
* Remove unmatched else in non-EGL mode for OpenVG pixmap dataRhys Weatherley2009-11-201-1/+0
| | | | Reviewed-by: Gunnar Sletta
* Prevent a deep copy of QImage::bits() in the OpenVG pixmap implementationRhys Weatherley2009-11-201-2/+10
| | | | | Task-number: QTBUG-5869 Reviewed-by: Sarah Smith
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-11-131-8/+8
|\ | | | | | | | | Conflicts: dist/changes-4.6.0
| * API review: Rename numRects() -> rectCount()Marius Storm-Olsen2009-11-091-8/+8
| | | | | | | | | | | | | | QRegion::numRects() is marked obsolete. Removed all usage of the old function inside Qt and test-cases. Reviewed-by: Andreas Aardal Hanssen
* | Support OpenVG graphics systems that inherit from QVGPixmapDataRhys Weatherley2009-11-111-3/+3
|/ | | | | | | | Custom graphics systems, may want to inherit from QVGPixmapData to implement alternative pixmap management strategies. We make toVGImage() overridable and the data members protected to support this. Reviewed-by: Sarah Smith
* Protect the OpenVG engine from null QPixmapData objectsRhys Weatherley2009-11-023-0/+24
| | | | Reviewed-by: Sarah Smith
* OpenVG pixmap filter classes don't need to be exported.Rhys Weatherley2009-10-301-4/+4
| | | | Reviewed-by: trustme
* Remove drawCursorImage() from the OpenVG composition helperRhys Weatherley2009-10-302-37/+33
| | | | | | | The drawCursorPixmap() function is more efficient and can render the QImage form of the QPixmap directly if necessary. Reviewed-by: trustme
* Make it possible to set the OpenVG swap intervalRhys Weatherley2009-10-301-0/+7
| | | | | | | | The QT_VG_SWAP_INTERVAL environment variable can be used to specify a value for eglSwapInterval(). Task-number: QT-2409 Reviewed-by: trustme
* Remove QVGEGLWindowSurfaceQImage from QtOpenVGRhys Weatherley2009-10-283-80/+2
| | | | | | | | Rendering into a QImage as a window backing store isn't very efficient and isn't needed by any of our current platforms. If a specific graphics system needs it in the future, it can implement it directly. Reviewed-by: trustme
* Fix OpenVG window composition when opacity != 1Rhys Weatherley2009-10-271-20/+16
| | | | | Task-number: QT-2322 Reviewed-by: Sarah Smith
* Use vgClear() to clear the background during screen compositing.Rhys Weatherley2009-10-271-18/+46
| | | | | | | | This fixes an "off by 1" bug in screen compositing with OpenVG that left lines all over the background when windows were moved. Task-number: QT-2322 Reviewed-by: Sarah Smith
* Optimize QVGPixmapDropShadowFilter by removing colorize stepRhys Weatherley2009-10-193-52/+25
| | | | | | | | | | | | | Previously, the drop shadow was colorizing the incoming image and then blurring the colorized version. This change first blurs the image to an alpha-only VGImage and then uses that VGImage as a stencil to draw the drop shadow color. This way, there is only 1 filter step and a draw instead of 2 filter steps and a draw. The result is to make the performance of the drop shadow filter almost identical to the blur filter. Reviewed-by: trustme
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-10-196-55/+166
|\
| * Implement the strength parameter for OpenVG colorize filtersRhys Weatherley2009-10-163-54/+40
| | | | | | | | | | Task-number: QT-2016 Reviewed-by: trustme
| * qt_paint_device_metric() for fetching metricsRhys Weatherley2009-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | Custom window surfaces, graphics systems, and Qt/Embedded screen drivers often need to access QPaintDevice::metric(), but it is protected. Hence the growing number of friends in QWidget and QImage. The qt_paint_device_metric() function provides a more future-proof approach that doesn't require lots of friends. Reviewed-by: Gunnar
| * Improve scissor clipping in the OpenVG engineRhys Weatherley2009-10-131-0/+4
| | | | | | | | | | | | | | | | If the scissor is being used to clip instead of the mask, use the bounding rectangle of the clip path if it cannot be handled as a simple rectangle. Reviewed-by: trustme
| * Explicitly request the alpha mask in the EGL configurationRhys Weatherley2009-10-131-0/+4
| | | | | | | | | | | | | | | | The EGL implementation used in S60/NGA for OpenVG does not return a configuration with alpha masking unless it is explicitly requested. Reviewed-by: Julian de Bhal
| * Implement qDrawPixmaps for the OpenVG paint engine.Rhys Weatherley2009-10-132-0/+117
| | | | | | | | | | | | | | Best performance will be acheived with OpaqueHint and drawing the full pixmap rather than sub-regions. Reviewed-by: trustme
* | Added QPixmapData::createCompatiblePixmapData() used by QPixmap::copy().Samuel Rødal2009-10-142-0/+7
|/ | | | | | QPixmap::copy() now returns a pixmap with the same pixmap backend. Reviewed-by: Gunnar Sletta
* Make it possible to implement engine-specific drop shadow filtersRhys Weatherley2009-10-052-30/+17
| | | | | | | | | | | | It wasn't possible for the paint engine to override the drop shadow filter because QPixmapDropShadowFilter::draw() was not asking for an engine-specific filter object. Also, change the OpenVG filter to use vgGaussianBlur() instead of vgConvolve(), and draw the original image on top of the shadow. Task-number: QTBUG-4583 Reviewed-by: trustme