summaryrefslogtreecommitdiffstats
path: root/src/gui/image/qpixmap_s60.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Proper naming for raster pixmap and paintengine on Symbian.Laszlo Agocs2011-06-161-1042/+0
| | | | | | | | As QTBUG-19880 highlighted, the old S60 naming is not suitable for these classes anymore. Task-number: QTBUG-19913 Reviewed-by: Jani Hautakangas
* Update licenseheader text in source filesJyri Tahtela2011-05-131-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Fix for wrong dpi metrics for raster pixmaps on Symbian.Laszlo Agocs2011-03-161-18/+11
| | | | | | | | | | | | The original implementation relied on SizeInTwips() for the underlying bitmap which unfortunately returns 0, leading to incorrect results from QPixmap::logicalDpiX/Y(). This caused issues in text rendering onto pixmaps (QTBUG-17628). This fix changes QS60PixmapData to use a slightly different metrics() implementation (the one VG and GL PixmapData are using). Task-number: QTBUG-18154 Reviewed-by: Jani Hautakangas
* Avoid image conversion in fromSymbianCFbsBitmap for certain formats.Laszlo Agocs2011-03-101-0/+2
| | | | | | | | | | | | | | | | 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
* Fix build failureGareth Stockwell2011-02-091-4/+5
| | | | | Task-number: QTBUG-17288 Reviewed-by: trustme
* Recreate Symbian raster backing store when WA_TranslucentBackground setGareth Stockwell2011-02-091-0/+26
| | | | | Task-number: QTBUG-17288 Reviewed-by: Jani Hautakangas
* Update copyright year to 2011.Jason McDonald2011-01-101-1/+1
| | | | Reviewed-by: Trust Me
* 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
* Remove unused variableThomas Zander2010-09-071-1/+0
| | | | Reviewed-by: axis
* Make compile on gcceThomas Zander2010-09-071-4/+7
| | | | | | | instead of friend use static to avoid gcce saying a formerly extern declaration turned into a static declaration. Reviewed-by: axis
* QPixmaps try to access FBS connection after the connection has been closed.Jani Hautakangas2010-09-061-2/+41
| | | | | | | | This patch fixed the issue by tracking pixmaps and destroying native bitmaps before FBS connection is closed. Task-number: QTBUG-9112 Reviewed-by: Jason Barron
* Fixed a QSplashScreen hanging bug in S60 3.1 devices.axis2010-07-201-6/+14
| | | | | | | | | | | | | | | | | | QSymbianBitmapDataAccess is used to provide access to the bitmap heap in a manner that locks correctly on all platform versions. The heapWasLocked variable was meant to protect against the case where the heap is locked recursively. However, it failed to take into account the case where the same QSymbianBitmapDataAccess object was used to lock recursively. In this case the variable would be changed to true on the second lock, which means that the lock would never be released again. This was fixed by making the access reference counted instead. Since the bitmap heap lock is global, the refcount was made global as well. Task: QTBUG-11129 RevBy: Jason Barron AutoTest: Works again. It was hanging before this fix.
* Fix fromSymbian*() image conversion functions.Jason Barron2010-03-151-2/+2
| | | | | | | | | | Do not explicitly create instances of QS60PixmapData in this function because it is possible that we are using another graphics system. The fromNativeType() function is virtual so the graphics system will create the right version of the pixmap data for us and ensure that we get into the right implementation. Reviewed-by: Aleksandar Sasha Babic
* Update copyright year to 2010Jason McDonald2010-01-061-1/+1
| | | | Reviewed-by: Trust Me
* Fix for QTBUG-4908 SVG transparency rendering problem.Jani Hautakangas2009-12-161-59/+38
| | | | | | | | QPixmap::copy discarded alpha channel. This fix also removes usage of member variables CFbsBitGc and CFbsBitmapDevice. Now those are used only in function scope. Reviewed-by: Sami Merila
* Access to image needs to be protected in QS60PixmapDataMiikka Heikkinen2009-12-091-0/+6
| | | | | | | | The image can get corrupted if access to it is not properly surrounded with beginDataAccess and endDataAccess calls. Task-number: QTBUG-6050 Reviewed-by: Jani Hautakangas
* Fix crash when using splash screen, or QPixmap::copy()Shane Kearns2009-11-191-0/+5
| | | | | | | Missing virtual function now implemented Task-number: QTBUG-5977 Reviewed-by: axis
* Merge commit upstream/4.6 into oslo-staging-2/4.6Olivier Goffart2009-11-131-1/+1
|\
| * Fix typo in license headerAlessandro Portale2009-11-121-1/+1
| | | | | | | | | | | | The word 'module' was missing. Reviewed-By: TrustMe
* | Fix to symbian transparent window backing store format.Jani Hautakangas2009-11-111-4/+8
| | | | | | | | | | | | | | | | | | Symbian semi-transparent window surface needs backing store pixmap in argb32 format. Normally QPixmap contains only rgb32 or argb32_pre pixels. This fix locks semi-transparent window backing store pixmap to argb32 format. Reviewed-by: Shane Kearns
* | Revert "Using qreal more consistently in code (prevent misuse of double)"Aleksandar Sasha Babic2009-11-111-5/+4
| | | | | | | | | | | | | | | | This reverts commit 676780d515cedca85829ae962e4f501c5e5b6581. Conflicts: src/gui/painting/qblendfunctions.cpp
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Shane Kearns2009-11-101-4/+4
|\ \ | |/
| * API review: Rename functions numColors(), setNumColors() and numBytes()Marius Storm-Olsen2009-11-061-4/+4
| | | | | | | | | | | | | | | | | | | | QPaintDevice and QImage used the functions numColors(), setNumColors(), and numBytes(). However, this is not consistent with the rest of the Qt API which uses *Count() and set*Count(). Removed all usage of these functions inside Qt and test-cases. Reviewed-by: Andreas Aardal Hanssen
* | Using qreal more consistently in code (prevent misuse of double)Aleksandar Sasha Babic2009-11-061-4/+5
|/ | | | | | | | | | | | | | | | | | | | | | | | | We want to force use of qreal where possible. This can lead to better performance on platforms where qreal -> float (i.e. ARM). To achieve this we: 1. changed from 'double' to 'qreal', where justified 2. using qreal() to intialize constants, where justified 3. adding helper functions that are overloaded for qreal like qAtan2(), qAcos(), qFabs() ... 4. defining QT_USE_MATH_H_FLOATS for Symbian platform In addtion we used opportunity to improve code with some small things 5. converting divisions to multiplications (i.e. '/ 2.0' -> '* qreal(0.5)') 6. defining new constants (i.e. 'Q_PI / 180.0' -> 'Q_PI180') 7. declaring variables as 'const', where justified Reviewed-by: Andreas Aardal Hanssen Reviewed-by: Gunnar Sletta Reviewed-by: Jan-Arve Reviewed-by: Kim Motoyoshi Kalland Reviewed-by: Alessandro Portale Reviewed-by: Janne Koskinen
* Fix compiler error.Aleksandar Sasha Babic2009-11-041-1/+1
| | | | Reviewed-by: Trust Me
* Merge branch '4.6-s60' into 4.6axis2009-11-041-11/+11
|\
| * Fix crash in QApplication autotest introduced by native pixmaps (S60 3.1)Shane Kearns2009-11-031-11/+11
| | | | | | | | | | | | | | | | | | | | Problem was caused by S60 closing a handle under our feet when QApplication is destroyed. To avoid this, we open our own handle for the global lock instead of using the shared one inside CFbsBitmap. Also the global unlock/relock is not needed on S60 3.2 so this can be eliminated and save a few cycles (the function call was a no-op before) Reviewed-by: Jani Hautakangas
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-11-031-10/+12
|\ \ | |/
| * Fixed crash/drawing artifacts on rotation change on Symbian.axis2009-10-281-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On every beginDataAccess on the pixmap data, we checked the value of the pointer to the bits and only updated the image if the pointer had changed. However, we didn't take into account that the pointer could be the same, even though the dimensions were different, since malloc() could return the same memory area. This would lead to painting into an image that had the wrong dimensions, which again led to either crashes or image shearing. Fixed by checking the dimensions before deciding to update the image. Task: QTBUG-4815 RevBy: Jason Barron
| * Fix EColor16M conversion in QPixmap::fromSymbianCFbsBitmap()Jani Hautakangas2009-10-281-6/+9
| | | | | | | | | | | | | | EColor16M is in BGR format so after conversion to QImage RGB values needs to be swapped. Reviewed-by: jbarron
* | Lazily construct QPixmapData's for null pixmapsGunnar Sletta2009-10-301-6/+7
|/ | | | Reviewed-by: Trond
* Use premultiplied alpha pixel format in SymbianShane Kearns2009-10-201-7/+12
| | | | | | | | | Gives better performance in the raster paint engine. For Symbian 9.3 onwards, this can also be used as the native pixmap format. For 9.2, conversion is required. Reviewed-by: Sami Merila Reviewed-by: Jani Hautakangas
* Second attempt: Fixed a few compiler warnings from QtGui for Symbian.Janne Anttila2009-10-131-0/+2
| | | | | | | The previous commit 9c6e466dc09813dd4a641b2cf385f35ac99346f5 included some changes which were not meant to be pushed. Reviewed-by: TrustMe
* Revert "Fixed a few compiler warnings from QtGui for Symbian."Janne Anttila2009-10-131-2/+0
| | | | | | Accidentally used git commit -a when should have used only git commit :( This reverts commit 9c6e466dc09813dd4a641b2cf385f35ac99346f5.
* Fixed a few compiler warnings from QtGui for Symbian.Janne Anttila2009-10-131-0/+2
| | | | Reviewed-by: TrustMe
* Fix to Symbian accelerated scrolling problem.Jani Hautakangas2009-10-081-26/+19
| | | | | | | | | | The reason for scrolling bug was that CFbsBitmapDevice wasn't informed if CFbsBitmap was resized. However, it seems that scroll implementation in QRasterPixmapData is faster that CFbsBitGc->CopyRect so this is also a patch which changes QS60PixmapData's scroll function to call QRasterPixmapData::scroll(). Reviewed-by: Janne Koskinen
* Symbain crash fix for QPixmap->QImage conversion.Alessandro Portale2009-10-051-1/+6
| | | | | | | | | | | In some cases the QImage, returned by QS60PixmapData::toImage() image an invalid pointer. That led to reproducable crashes on 3.1 Device and Emulator when starting a drag in the FridgeMagnets demo. Jani Hautakangas created this fix and I tested it on 3.1 Device and Emulator confirming that the crash is gone. Rev-By: Jani Hautakangas Rev-By: Alessandro Portale
* doc: Fixed numerous qdoc errors.Martin Smith2009-10-021-2/+2
|
* Fixed QPixmap::fromImage when using Format_Mono for Symbian.Janne Anttila2009-10-011-3/+3
| | | | | | | | | | The intermediate sourceImage was stored to wrong QImage object (image instead of correct sourceImage). This made subsequent switch-case statement to fail because destFormat was set to QImage::Format_Invalid Autotest: Fixes QItemDelegate::decoration autotest Reviewed-by: Jani Hautakangas
* Fix qdoc errorsJason McDonald2009-09-281-0/+2
| | | | Reviewed-by: Trust Me
* Fix qdoc error.Jason McDonald2009-09-281-1/+1
| | | | Reviewed-by: Trust Me
* Fix qdoc errors.Jason McDonald2009-09-281-5/+6
| | | | Reviewed-by: Trust Me
* Modify functions for native pixmap data conversion on Symbian.Jason Barron2009-09-231-201/+209
| | | | | | | | | | | | | We need a way to support converion to and from multiple native pixmap types from multiple pixmap backends. Instead of adding more virtual functions to QPixmapData, make the existing one more generic but pass an opaque pointer and a type and do some internal casting. Currently this function is Symbian only, but could easily be extended to work on other platforms. Reviewed-by: Aleksandar Babic Reviewed-by: Jani Hautakangas
* Fix compilation and remove trailing whitespace.Jason Barron2009-09-181-140/+140
| | | | | | Fix compilation on systems that support the extended bitmap format. Reviewed-by: Jani Hautakangas
* Adding support for symbian graphics resources.Aleksandar Sasha Babic2009-09-181-0/+58
| | | | | | | | | | | | | | This enables us to convert from and to new Symbian type of graphics resource, namely SgImage. This only supported with the OpenVG graphics system. On other graphics systems this will return null QPixmap. Conflicts: src/corelib/global/qglobal.h src/gui/image/qpixmap.h src/gui/image/qpixmap_s60.cpp Reviewed-by: Jason Barron
* Introduce native Symbian bitmap support to QPixmapJani Hautakangas2009-09-181-118/+773
| | | | | | | | | This is done to reduce heap consumption and to give a possibility to share bitmaps across process. QPixmap maps to Symbian CFbsBitmap which is stored in Symbian font and bitmap server. Reviewed-by: Jason Barron
* QCursor support for Symbian OSShane Kearns2009-09-151-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-By: Jason Barron Reviewed-By: Alessandro Portale Summary: QT_NO_CURSOR is now not defined for symbian builds Existing QCursor APIs are all supported New public API, QApplication::setNavigationMode, to allow the navigation mode to be set. I.E. on an S60 3.2 phone, some applications will want a virtual mouse cursor (web browser), while others are designed for keypad navigation. Symbian HAL is used for detecting input capabilities. Fix DND, code cleanup & comment QCursor visibility now uses a refcount, and is called from DND and the setNavigationMode so they are both simpler and don't interfere with each other. QApplication::setNavigationMode New public API for configuring cursor/keypad navi style. This links in with ongoing work on the 4-way keypad navi branch, but 2-way and 4-way modes both act as 2-way mode until that is integrated Some of the demos/examples have cursor switched on (those that were not usable with keypad) Virtual mouse support for non touch, non mouse phones (tested on N78) add *.d and .metadata (carbide debug file / workspace dir) to .gitignore System pointers are unavailable when using sprite workaround, so the system cursor shapes are compiled into qtgui as resources. MAC port does this also for shapes that aren't standard on the MAC. Refactor Drag'n'Drop to use QCursor Add test case to check all system cursor shapes Simply a mainwindow containing a label widget for each cursor shape, with the cursor property set appropriately QCursor(QBitmap,QBitmap) supported Fixed problem with the image & mask being inverted when using the QCursor constructor that takes two mono bitmaps. add .make.cache files to .gitignore Correct implementation of QApplication::setOverrideCursor QApplication::restoreOverrideCursor and QApplication::setOverrideCursor are now working correctly on Symbian platform. Performance will be slower compared with other platforms, because the Symbian window server has a cursor associated with each native window. Add test case for custom cursors Create a pixmap cursor and associate it with a widget. No changes to production code, since test passed 1st time ;) Add manual test for QCursor Make cursor independent of construction order Updated to work around window server issue where contruction order affects what cursor is displayed in child windows. Also changed to effectiveWinId following review comments Also fixed a problem which would make qcursor not link if configured with QT_NO_CURSOR Moved some multiply declared extern functions from cpp to _p.h files Implemented Symbian versions of the cursor functions. Merged in work I'd done based on tower. Fill in bits of stub functions based on windows port Removed QT_NO_CURSOR from list of config options forced on symbian Recompiled configure.exe Added stub functions for the missing functions in s60 port
* Update license headers again.Jason McDonald2009-09-091-4/+4
| | | | Reviewed-by: Trust Me
* Update tech preview license header for files that are new in 4.6.Jason McDonald2009-08-311-13/+13
| | | | Reviewed-by: Trust Me
* doc: Fixed several qdoc errors.Martin Smith2009-08-311-6/+6
|