summaryrefslogtreecommitdiffstats
path: root/src/openvg
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix for major regression in OpenVG clippingJani Hautakangas2011-03-101-0/+1
| | | | | | | | | | | | | | | | | | OpenVG paint engine didn't reset it's mask fallback state correctly when engine was resetted. Task-number: QTBUG-17966 Reviewed-by: Jason Barron
| * Fix for fromSymbianCFbsBitmap changing the source data unexpectedly.Laszlo Agocs2011-03-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | Inverting the pixels for bitmaps of mode EGray2 is done in-place, which is wrong if the bitmap handle was duplicated. Instead, we need to make a copy. This also means that we cannot treat EGray2 a conversion-less format in openvg, but such images are likely to be used as masks only, so optimizing just for mere drawing in case of this format is not really necessary. Reviewed-by: Jani Hautakangas
| * Avoid image conversion in fromSymbianCFbsBitmap for certain formats.Laszlo Agocs2011-03-102-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From now on the image data coming from CFbsBitmap will not be forced to RGB32 or ARGB32_Premultiplied in openvg. This allows copy-less creation and drawing of pixmaps not just from bitmaps with display mode EColor16MAP and EColor16MU, but also a few other modes, like EColor64K. Painting into such pixmaps or drawing them via the raster engine is potentially slower in such cases, which is now reflected in the fromSymbianCFbsBitmap documentation. Note that this patch has no effect on extended bitmaps (e.g. skin graphics), those must always be rasterized first regardless of the display mode. Task-number: QTBUG-18027 Reviewed-by: Jani Hautakangas
| * Added native image handle provider support in pixmaps on openvg.Laszlo Agocs2011-03-083-3/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QNativeImageHandleProvider is a thin interface consisting of get() and release() functions. Pixmaps constructed with such a provider will call these functions to acquire and release a native handle, e.g. a CFbsBitmap or RSgImage pointer in case of Symbian. The behavior is largely similar to constructing pixmaps via fromSymbianCFbsBitmap or fromSymbianRSgImage, with the exception of pixmap hibernation: release() (and subsequently get()) is guaranteed to be called also in case of hibernation, allowing more fine-grained tracking of the usage and lifetime of image data. Task-number: QT-4632 Reviewed-by: Jani Hautakangas
| * Avoid compiler warnings in openvg on win32.Laszlo Agocs2011-03-072-1/+6
| | | | | | | | Reviewed-by: TRUSTME
| * VGImage readback support in QPixmap on OpenVG.Laszlo Agocs2011-03-073-12/+41
| | | | | | | | | | | | | | | | | | | | | | Enable readback of pixel data for pixmaps that are constructed directly from a VGImage. These do not have any backing data in main memory (i.e. 'source' is null), however certain operations, like toImage(), fill(), or painting into the pixmap do not work without it. With this patch the data is read back via vgGetImageSubData when needed. Task-number: QT-4669 Reviewed-by: Jani Hautakangas
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-03-035-138/+126
|\| | | | | | | | | | | | | Conflicts: src/openvg/qvg_symbian.cpp src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def
| * Fix style issue in qvgimagepool.cppJani Hautakangas2011-03-011-1/+1
| | | | | | | | Reviewed-by: TRUSTME
| * Add internal function for releasing cached GPU resources.Jani Hautakangas2011-03-011-2/+13
| | | | | | | | | | Task-number: QTBUG-17849 Reviewed-by: Samuel Rødal
| * Changed QPixmap VG backend to use CFbsBitmap on Symbian.Laszlo Agocs2011-02-284-134/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Similarly to QS60PixmapData, that is used on raster, QVGPixmapData is also backed by a CFbsBitmap from now on (at least when it makes sense to do so). This allows copy-less bitmap handle duplication in from- and toSymbianCFbsBitmap() in case of certain image formats, reduces local heap usage and improves performance with the s60 style due to a reduced number of pixel data copies. Task-number: QT-2505 Reviewed-by: Jason Barron Reviewed-by: Jani Hautakangas
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-03-011-1/+1
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/gui/text/qfontengine_mac.mm src/opengl/qpixmapdata_gl.cpp src/opengl/qwindowsurface_gl.cpp src/s60installs/bwins/QtOpenGLu.def src/s60installs/eabi/QtOpenGLu.def tests/auto/qtextlayout/tst_qtextlayout.cpp
| * Fix openvg compilation on win32.Laszlo Agocs2011-02-281-1/+1
| | | | | | | | | | | | Changed a system include to local one. Reviewed-by: Jason Barron
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-02-172-5/+33
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/symbian/symbian_building.prf mkspecs/symbian-gcce/qmake.conf src/corelib/global/qnamespace.h src/corelib/global/qnamespace.qdoc src/plugins/plugins.pro tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp tools/designer/src/components/signalsloteditor/signalslot_utils.cpp tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
| * Fix for clipping failure in OpenVG paint engine.Jani Hautakangas2011-02-152-5/+33
| | | | | | | | | | | | | | | | | | | | OpenVG implementation for Broadcom chip has limited scissor rect count to 32. Because of that Qt OpenVG paint engine fails to clip correctly if clip rect count exceeds 32. This patch makes Qt OpenVG paint engine to use mask instead of scissors in such cases. Task-number: QTBUG-16932 Reviewed-by: Jason Barron
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-02-101-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/development/qmake-manual.qdoc mkspecs/symbian-gcce/qmake.conf qmake/project.cpp src/corelib/global/qnamespace.qdoc src/declarative/graphicsitems/qdeclarativetext.cpp src/gui/text/qtextdocumentlayout.cpp src/gui/text/qtextdocumentlayout_p.h tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp tests/auto/networkselftest/networkselftest.pro tests/auto/qscriptengine/tst_qscriptengine.cpp tools/designer/src/components/signalsloteditor/signalslot_utils.cpp tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt-html-templates.qdocconf tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf tools/qdoc3/test/qt.qdocconf tools/qdoc3/test/qt_ja_JP.qdocconf tools/qdoc3/test/qt_zh_CN.qdocconf
| * Fix the broken QPixmap::fromSymbianRSgImage().Laszlo Agocs2011-02-071-1/+1
| | | | | | | | | | | | | | | | The retrieved VGImage handle was accidentally assigned to a local variable instead of the member with the same name so it always ended up creating an empty pixmap. Reviewed-by: Jani Hautakangas
* | Merge branch 'integration'Yoann Lopes2011-02-021-0/+7
|\ \ | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qapplication_s60.cpp src/gui/text/qfontdatabase_s60.cpp
| * | Fixes compilation when using FreeType on Symbian.Yoann Lopes2011-01-311-0/+7
| | |
* | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-252-9/+17
|\ \ \ | |/ / |/| / | |/ | | | | Conflicts: configure src/network/bearer/bearer.pri
| * Fix to pen state handling in OpenVG paint engine.Jani Hautakangas2011-01-211-1/+1
| | | | | | | | | | | | | | | | | | Shape should not be filled using pen if pen brush type is NoBrush. OpenVG paint engine didn't check NoBrush case when applying pen. Task-number: QTBUG-15870 Reviewed-by: Gunnar
| * Fix to data detaching in OpenVG pixmap dataJani Hautakangas2011-01-181-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | QImage::converToFormat(format) won't detach QImage if format stays the same. Because of this, internal QImage buffer of QVGPixmapData was not deep copied. Drawing to QPixmap target modified the original QImage that was used to create QPixmap and in some cases crashed because paint engine referred to wrong target. Task-number: QT-4407 Reviewed-by: Jason Barron
| * Fix static build on Windows with MinGW.Mark Brand2011-01-172-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Q_DECL_IMPORT is still __declspec(dllimport), which is unsuitable for static code. Commit edbc656b changed Q_DECL_IMPORT_IMPORT to Q_CORE_EXPORT when declaring QtCore functions in svg. Now we change Q_DECL_IMPORT to Q_GUI_EXPORT when declaring QtGui functions into opengl and openvg. Also removed the redundant keyword "extern" from the function declarations. Merge-request: 2540 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: mariusSO
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-1717-19/+19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/webkit/imageanalyzer/imageanalyzer.h examples/webkit/imageanalyzer/mainwindow.h mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h src/corelib/io/qfsfileengine_iterator_unix.cpp src/corelib/io/qfsfileengine_iterator_win.cpp src/corelib/kernel/qcoreapplication.cpp src/network/access/qnetworkaccessdatabackend.cpp src/plugins/bearer/connman/qconnmanservice_linux.cpp src/plugins/platforms/openvglite/qwindowsurface_vglite.h src/s60installs/bwins/QtCoreu.def src/s60installs/eabi/QtCoreu.def src/s60installs/s60installs.pro tools/assistant/tools/assistant/helpviewer_qwv.h tools/qdoc3/test/qt-html-templates.qdocconf
| * OpenVG paint engine doesn't draw glyphs well to non-integer offsets.Jani Hautakangas2011-01-111-2/+2
| | | | | | | | | | | | | | | | Solution is to round adjustment offsets to integer values to prevent blurry text. Task-number: QTBUG-16240 Reviewed-by: Alessandro Portale
| * Update copyright year to 2011.Jason McDonald2011-01-1117-17/+17
| | | | | | | | Reviewed-by: Trust Me
* | qt project files: create pkg-config files for mingwMark Brand2011-01-101-1/+1
| | | | | | | | | | | | | | This is mostly the same as for unix. Merge-request: 2543 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-12-131-2/+1
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/gui/graphicsview/qgraphicslayout.cpp src/gui/text/qfontengine_s60.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qwindowsurface_gl.cpp src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
| * QT::Window palette brush fails to render correctly.Jani Hautakangas2010-12-091-2/+1
| | | | | | | | | | | | | | | | | | | | QWidget uses QPainter::drawTiledPixmap to draw textured background brush but OpenVG paint engine fails to render pixmaps correctly because of incorrect offset calculation. Task-number: QTBUG-15737 Reviewed-by: Gunnar Sletta
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-11-252-3/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/symbian/symmake.cpp src/corelib/global/qglobal.h src/gui/kernel/qwidget_p.h src/gui/painting/qtextureglyphcache.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h src/plugins/qpluginbase.pri src/qbase.pri tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp tests/auto/qthread/tst_qthread.cpp tests/auto/selftests/expected_cmptest.txt tests/auto/selftests/expected_crashes_3.txt tests/auto/selftests/expected_longstring.txt tests/auto/selftests/expected_maxwarnings.txt tests/auto/selftests/expected_skip.txt tools/assistant/tools/assistant/doc/assistant.qdocconf tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qdeclarative.qdocconf tools/qdoc3/test/qmake.qdocconf tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf tools/qdoc3/test/qt.qdocconf tools/qdoc3/test/qt_ja_JP.qdocconf tools/qdoc3/test/qt_zh_CN.qdocconf
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-11-242-1/+4
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: (27 commits) Use parent class function to generate Makefile headers in Symbian Fix spaces Fix QPixmap::fromImage() in the OpenVG pixmap backend. Native color dialog on symbian Fix non-stroked filled paths in OpenVG paint engine. Fix symbian-mmp.conf include path Fix a build break when namespace is defined Fixed namespace issues related to epocroot.cpp Corrected ASCII comparison and removed extra braces Add symbian scope for qfiledialog_symbian.cpp Resolve EPOCROOT in qt.conf using same logic as in .pro Make epocroot resolving compatible with more build environments Fix for QtOpenGL RVCT4 compilation error Removed extra cpp and done changes based on comments Correct flags for Symbian file dialogs Fix for WServ 64 crash on Symbian. Use include(original mkspec) instead of copying of mkspec to default Fixed code style of d92cbfc5, reported by git push. Switched qdesktopservices to use SchemeHandler for Symbian^3 and later. Removed unnecessary Q_OS_SYMBIAN flags from qdesktopservices_s60.cpp. ...
| | * Fix QPixmap::fromImage() in the OpenVG pixmap backend.Jason Barron2010-11-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If QPixmap::fromImage() was called with a QImage that has an alpha channel and with the 'Qt::NoOpaqueDetection' image conversion flag set, then we would always create an opaque (RGB32) pixmap. This is incorrect. The fix is to check if the source QImage has an alpha channel and if so, use sourceFormat(), otherwise use RGB32. Task-number: QT-4278 Reviewed-by: Jani Hautakangas
| | * Fix non-stroked filled paths in OpenVG paint engine.Jason Barron2010-11-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPainter::fillRect() functions are optimizations to avoid state changes in the paint engines. Since these functions should be completely independant of state, ideally they should only call functions that are also stateless. QVGPaintEngine::fillRect() has two different code paths for this. The vgClearRect() path of this function is stateless however in the case of non-opaque or complex fills, this code path cannot be used and instead we use the normal path fill function which is not entirely stateless because ensureTransform() will apply the aliased coordinate transform if the current state includes a stroked pen. To avoid this happening for a pure fill (no stroke) we temporary set the pen state to be Qt::NoPen such that the state used by ensureTransform() is correct. Task-number: QTBUG-14717 Reviewed-by: Jani Hautakangas
| * | Round origin of text in OpenVG engineEskil Abrahamsen Blomfeldt2010-11-221-2/+2
| |/ | | | | | | | | | | | | | | | | | | The origin of text needs to be rounded, just like the translation in the transform because text drawn at subpixel positions is unsupported on some devices. Since the font is integer-based, the advance-array does not need to be rounded. Task-number: QTBUG-15263 Reviewed-by: Jason Barron
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-11-121-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure doc/src/snippets/code/doc_src_qmake-manual.qdoc mkspecs/features/symbian/application_icon.prf mkspecs/features/symbian/default_post.prf mkspecs/features/symbian/symbian_building.prf qmake/generators/symbian/initprojectdeploy_symbian.cpp src/multimedia/audio/audio.pri src/network/access/qnetworkaccessmanager.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl_p.h src/plugins/bearer/corewlan/qcorewlanengine.mm src/plugins/phonon/mmf/mmf.pro tests/auto/qscriptvalue/tst_qscriptvalue.cpp tests/auto/qscriptvalue/tst_qscriptvalue.h tools/qdoc3/doc/qdoc-manual.qdocconf
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-11-011-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Doc: Fixing typo Fix QTBUG-14640:oci performance problem with qlonglong 32bit => 16bit conversion has 4byte-aligned output. Fix gcc bug in qReallocAligned Prevented threading related crash in OpenGL module. Fix possible crash in QStaticText and QDeclarativeTextLayout Fix QTBUG-14132 oracle (xe) stored procedures with bind variables get errors
| | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-10-301-1/+1
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: 32bit => 16bit conversion has 4byte-aligned output. Fix gcc bug in qReallocAligned Prevented threading related crash in OpenGL module. Fix possible crash in QStaticText and QDeclarativeTextLayout Fix QTBUG-14132 oracle (xe) stored procedures with bind variables get errors
| | | * Fix possible crash in QStaticText and QDeclarativeTextLayoutEskil Abrahamsen Blomfeldt2010-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QStaticTextItem held an uncounted reference to QFontEngine. The pointer would dangle in some cases where there was no font object referencing the engine and the cache was cleaned out (e.g. when a new application font is added.) Properly count the reference, and also add reference counting to userData to make it harder to shoot yourself in the foot, since the QStaticTextItem class is now being used in different places, Task-number: QTBUG-14446 Reviewed-by: Martin Jones
* | | | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2010-11-011-0/+1
|\| | |
| * | | Fix OpenVG painting artifacts after restoreState().Jason Barron2010-11-011-0/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | When the state is restored and the 'dirty' flag indicates that the clip state has changed, the paint engine needs to set 'scissorDirty' flag to true so that updateScissor() applies the restored clip region to the scissor rects. Task-number: QTBUG-14907 Reviewed-by: Jani Hautakangas
* | | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2010-10-305-16/+101
|\| |
| * | Revert function renaming in QtOpenVG.Jani Hautakangas2010-10-293-12/+12
| | | | | | | | | | | | | | | | | | | | | Functions were accidentally thought to be in private scope. Renaming broke BC. Reviewed-by: Jason Barron
| * | Fallback to vgWritePixels in drawPixmap.Jani Hautakangas2010-10-285-28/+113
| |/ | | | | | | | | | | | | | | | | | | Use vgWritePixels, if possible, in case where VGImage for QPixmap can't be allocated due to low GPU memory situation. This patch also renames some VG paint engine internal functions to clarify their purpose. Task-number: QT-3589 Reviewed-by: Jason Barron
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-10-151-1/+2
|\| | | | | | | | | | | | | | | Conflicts: src/gui/painting/qpaintengine_raster.cpp tests/auto/declarative/qdeclarativetext/data/alignments_cb.png tests/auto/declarative/qdeclarativetext/data/alignments_cc.png tests/auto/declarative/qdeclarativetext/data/alignments_ct.png
| * Fix for CFbsBitmap to QPixmap conversion.Jani Hautakangas2010-10-121-1/+2
| | | | | | | | | | | | | | | | | | | | Symbian bitmap formats may have different scanline length when compared to QImage formats. We need to define scanline length for intermediate QImage when converting from CFbsBitmap to QPixmap. Task-number: QTBUG-14218 Reviewed-by: Jason Barron
* | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2010-10-123-7/+13
|\|
| * Compile fix for OpenVG without VGFont.Samuel Rødal2010-10-113-7/+13
| | | | | | | | | | | | ShivaVG doesn't have VGFont support for example. Reviewed-by: Jason Barron
* | Merge branch '4.7-s60' into master-s60axis2010-10-081-5/+5
|\| | | | | | | | | Conflicts: src/openvg/qvg_symbian.cpp
| * Fix memory leak in QPixmap::toSymbianRSgImage() when an error occurs.Jason Barron2010-10-081-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | In the cases where an error occured while converting a QPixmap to a VGImage this function would return without deleting the RSgImage pointer that it created. Fix is to use a QScopedPointer instead. Also don't use q_check_ptr() since this isn't a CBase derived class. In case you are wondering why I didn't use a custom deleter here so that Close() was also called, we need to make sure that Close() is called on the RSgImage instance before calling Close() on the driver. Reviewed-by: mread
* | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2010-10-071-3/+2
|\|
| * Minor OpenVG optimization when setting the EGL surface attribute.Jason Barron2010-10-071-3/+2
| | | | | | | | | | | | | | | | Calling eglGetError() is expensive so we should avoid doing it unless we know there actually is an error. The function returns EGL_FALSE upon error so we can test for that instead of using eglGetError(). Reviewed-by: Jani Hautakangas