summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QS60Style: Support for Menu separatorsSami Merila2011-03-251-3/+13
| | | | | | | | | Previously QS60Style didn't draw, nor reserve space for menu separators. Now,one pixel wide line is drawn across menu rectangle. Line color is picked from active device theme. Task-number: QTBUG-10054 Reviewed-by: Tomi Vihria
* Native image handle provider support in QGLPixmapDataLaszlo Agocs2011-03-245-3/+78
| | | | | | | | | QGLPixmapData's fromNativeType() accepts QNativeImageHandleProvider pointers with type NativeImageHandleProvider from now on, similarly to OpenVG pixmaps. Task-number: QTBUG-18209 Reviewed-by: Jani Hautakangas
* Fix an issue with VGImage readback in openvg.Laszlo Agocs2011-03-244-6/+9
| | | | | | | | | The special case of creating a pixmap from RSgImage via a native handle provider needs extra attention when hibernating: In this case the hibernating happens as usual, however doing a readback would produce unwanted results and must be avoided. Reviewed-by: Jani Hautakangas
* QSysInfo support for next generation Symbian devices.Miikka Heikkinen2011-03-244-63/+66
| | | | | | | | | | | A new QSysInfo::S60Version enum value SV_S60_5_3 is introduced. QSysInfo::symbianVersion still returns SV_SF_3 for the new platform. The official name of the platform is still pending, so documentation will be updated later. Task-number: QT-4593 Reviewed-by: Sami Merila
* Call FixNativeOrientation on Symbian for certain fullscreen qml views.Laszlo Agocs2011-03-246-2/+69
| | | | | | | | | | | | | | | | For fullscreen QDeclarativeViews that lock their orientation to the native orientation of the device an additional performance gain can be achieved by calling FixNativeOrientation on the underlying RWindow. Such apps will either work in a single orientation only, or they will handle rotation themselves, by using QPainter transformations and opting out from the standard Avkon auto-rotation. In any of these cases there is no need for the lower level layers of the system to handle graphics surface rotation, the app is "fixed" to the native orientation from their point of view, therefore it is safe to call FixNativeOrientation(). Task-number: QTBUG-17742 Reviewed-by: Jason Barron
* Icon in QMessageBox::question is deformed on SymbianSami Merila2011-03-231-3/+10
| | | | | | | | | MessageBox icons are deformed on Qt/S60, since style creates all icons with 1:1 width:height ratio. Based on S60 documentation messagebox icons are of 4:3 ratio. This is the same ratio between all the S60 releases. Task-number: QTBUG-14953 Reviewed-by: Laszlo Agocs
* Prevent crash when connecting signal in splitviewSami Merila2011-03-231-9/+12
| | | | | | | | | If there is no focusitem when connecting a signal, splitview crashes. This is caused by null pointer use. Prevent the crash by checking the pointer. Task-number: QTBUG-16572 Reviewed-by: Guoqing Zhang
* GraphicsViews: Focused widget is not visible after orientation changeSami Merila2011-03-231-12/+14
| | | | | | | Clean up previous fix a little bit, by merging if-statements. Task-number: QTBUG-17576 Reviewed-by: Guoqing Zhang
* GraphicsViews: Focused widget is not visible after orientation changeSami Merila2011-03-231-0/+15
| | | | | | | | | | | | | | | | If there is a graphicsview with input widget focused and splitview is open, and we rotate the device from Portrait to Landscape (or vice versa), the input widget is no longer visible in the splitview rect. This only happens if there are scrollbars visible in the view. Reason is that the input widget is tried to ensure visibility for before window surface is valid. In these cases, make the input widget visibility re-location happen after window server indicates that the view is now visible. Task-number: QTBUG-17576 Reviewed-by: Guoqing Zhang
* Add missing nullify for the s60 style's background pixmap pointer.Laszlo Agocs2011-03-231-0/+1
| | | | | | | Qt apps would crash during orientation change without setting m_background to null after deleting it. Reviewed-by: Sami Merila
* Implement tiled image and pixmap drawing in VG paint engine.Laszlo Agocs2011-03-221-3/+98
| | | | | | | | | | | | The vgWritePixel-based "fallback" in drawImage can only be used when the transformation is simple and no opacity is set. The tiled drawing introduced here will serve as an additional fallback for the more complex cases and will allow drawing large (12 Mpix or more) pixmaps and images with transformation and semi-transparency even when the complete image data would not fit into the GPU memory. Task-number: QTBUG-18251 Reviewed-by: Jani Hautakangas
* Change Symbian to use destroyed swap behaviour in GLJani Hautakangas2011-03-225-23/+51
| | | | | | | | Destroyed swap behaviour is a little bit faster than preserved swap with heavily animated UIs like QML. Task-number: QTBUG-18270 Reviewed-by: Samuel Rødal
* Remove useless profile reference.axis2011-03-222-4/+0
| | | | | | | The profile has been empty since the plugin functionality was moved into QtMultimedia itself (d73df73c556b0a225fdde7341549ed834bc691f4). RevBy: Miikka Heikkinen
* Fixed drawImage() not to attempt drawing null images on openvg.Laszlo Agocs2011-03-221-0/+4
| | | | | | | | | QVGPaintEngine did not have proper checks for null QImage in the drawImage functions so it went on trying to create a VGImage of size 0x0 which is bound to fail always. This resulted in confusing warnings about not being able to reclaim space for 0x0 images. Reviewed-by: Jani Hautakangas
* QS60Style: Update placeholder texture to real oneSami Merila2011-03-224-11/+32
| | | | | | | | | | | | | | Once the background texture has been created, update it to all widgets. This corrects most cases where texture is used outside of QS60Style. It is still possible to access the placeholder texture and draw it, if: a) QPalette::Window is accessed before drawing even one widget b) Painting the texture happens without using QS60Style Task-number: QTBUG-14910 Reviewed-by: Laszlo Agocs
* Return SV_S60_5_2 / SV_SF_3 for next gen Symbian platform.Miikka Heikkinen2011-03-211-1/+1
| | | | | | | | | | | | Previously version resolved to unknown if Symbian or S60 version was queried and Series60v5.3.sis was found. Note that proper detection and enumerations for the new platform will come when they are agreed upon. Until then, this fix will make the new platform more usable. Task-number: QT-4593 Reviewed-by: Sami Merila
* Change the pooled QGLPixmapData to be backed by QVolatileImage.Laszlo Agocs2011-03-215-141/+128
| | | | | | | | | | This change currently affects QGLPixmapData on Symbian only. Similarly to the OpenVG engine, using QVolatileImage allows more efficient handling of to- and fromSymbianCFbsBitmap, reduces local heap usage, and improves s60 style performance. Task-number: QTBUG-15252 Reviewed-by: Jani Hautakangas
* Changed s60 style not to rely on QPixmapData::toNativeType().Laszlo Agocs2011-03-212-7/+6
| | | | | | | | | Forcing VG (and GL) pixmapdata to support toNativeType() with type VolatileImage is unnecessary. It is cleaner to try doing a fromNativeType() with bitmap+mask and fall back if that results in a null pixmapdata. Reviewed-by: Jani Hautakangas
* Add missing bitmap locking to QVGPixmapData::fromNativeType.Laszlo Agocs2011-03-211-2/+4
| | | | Reviewed-by: Jani Hautakangas
* Add flag for forcibly propagating backing store alpha to framebufferGareth Stockwell2011-03-184-13/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the following rules applies to the creation and blitting of the Symbian raster backing store: 1. Creation of backing store with an alpha channel: Backing store has an alpha channel only if !QWidget::isOpaque. 2. Pre-filling of backing store prior to paint loop: Backing store is filled with transparent pixels if !QWidget::isOpaque. 3. Blitting of backing store: CGraphicsContext::EDrawModeWriteAlpha is used (meaning that backing store alpha values are propagated into the frame buffer), if QWidget::isOpaque. In order for the direct camera viewfinder to be visible on DSA devices, alpha=0 must be written into the framebuffer in the region where the viewfinder will be displayed. This requires a backing store with an alpha channel (1), use of CGraphicsContext::EDrawModeWriteAlpha (3), but not pre-filling of the entire backing store (2). This patch adds a new enum value, QWExtra::BlitWriteAlpha, which can be used by camera backends to achieve the desired behaviour. Task-number: QTMOBILITY-1278 Reviewed-by: Jani Hautakangas
* Fixed unmatched quotes in s60installs.proGareth Stockwell2011-03-181-1/+1
| | | | Reviewed-by: Miikka Heikkinen
* 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
* Hot fix for compilation without QGL_USE_TEXTURE_POOLJani Hautakangas2011-03-151-0/+2
| | | | Reviewed-by: TRUSTME
* Initial implementation of GLES2.0 resource poolingJani Hautakangas2011-03-1515-19/+1482
| | | | | | | | | Keep the implementation in separate qpixmapdata_poolgl.cpp file until the pooling has been verified and confirmed to work ok. Task-number: QTBUG-15253 QTBUG-17850 Reviewed-by: Samuel Rødal
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7Sami Merila2011-03-151-6/+8
|\
| * Avoid panics in QDesktopWidget on Symbian emulator.Laszlo Agocs2011-03-151-6/+8
| | | | | | | | | | | | | | | | There is usually only one screen on the emulator and it was incorrectly assumed that ScreenDevice() would return null for a non-existing screen. It panics instead so the entire call must be skipped. Reviewed-by: Sami Merila
* | QS60Style: use placeholder texture when polishing widgets and paletteSami Merila2011-03-153-7/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Background texture is not created until it is actually painted. This allows skipping the whole background texture creation, if app overwrites the QPalette::Window with its own data (image or color). When widget is drawn and style notices that the widget is still using a placeholder (1*1 red QPixmap) texture, it creates the real texture and uses that for drawing. Note that accessing QPalette::Window will give the placeholder pixmap. Which is then again replaced with the real texture, if it is drawn through the qt_s60_fill_background(). Task-number: QTBUG-14910 Reviewed-by: Laszlo Agocs
* | Regression: QS60Style: Theme background is incorrectSami Merila2011-03-151-0/+1
|/ | | | | | | | | | | | | | | | | Fix for QTBUG-16816 cause theme background to display incorrectly after a layout switch is done. Theme background is shown "tiled" instead of being whole screen size. This is because the setBackgroundTexture() call was removed to "save" QPixmap creation. Unfortunately, it really skips the background texture creation, but does not re-create a new one for the new layout, so portrait background is used again. This leads to tiling the image. Let's just return the call to the setBackgroundTexture() (this will eventually anyway be "optimized" with fix for QTBUG-14910). Task-number: QTBUG-17930 Reviewed-by: Laszlo Agocs
* Remove changes from fix to QTBUG-17045 that were not related to the fixSami Merila2011-03-151-12/+16
| | | | | | | | | There were changes included in the fix for QTBUG-17045 that were not supposed to be part of that fix. These changes to qcombobox.cpp are now removed. Task-number: QTBUG-17045 Reviewed-by: TrustMe
* Prevent null pointer crash when closing splitviewSami Merila2011-03-152-17/+14
| | | | | | | | Prevents crash when focus item is not set and splitview is closed. This is partial fix to QTBUG-17045. Task-number: QTBUG-17045 Reviewed-by: Guoqing Zhang
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7Sami Merila2011-03-146-7/+19
|\
| * Merge branch 'backporting-symbian-armcc-to-4.7' into s60-4.7axis2011-03-146-7/+19
| |\ | | | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf
| | * Fixed a typo in src profile.axis2011-03-041-1/+1
| | | | | | | | | | | | RevBy: Trust me
| | * Fixed a build library deployment issue in sqlite.axis2011-03-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Make did not understand that sqlite3.dso, which the link relies on, is the same as $$OBJECTS_DIR/sqlite3.dso, which is extracted by the profile. RevBy: Trust me
| | * Fixed include in network module on Symbian.axis2011-03-041-1/+1
| | |
| | * Support to build Qt for Symbian on Mac OS X with gcce compiler.axis2011-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | RevBy: axis RevBy: Morten Johan Sørvig Conflicts: configure
| | * Changed various qmake constructs to support Windows.axis2011-02-181-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | RevBy: Thomas Zander Conflicts: mkspecs/features/symbian/symbian_building.prf
| | * Renamed the symbian/linux-* mkspecs to symbian-*.axis2011-02-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was done for a number of reasons: - In order to get better consistency with the other mkspecs, which have the target system name followed by a hyphen and the compiler name. - There is no real reason why we should have specific mkspecs for compiling Symbian under Linux, when it is equally likely to work under other operating systems. RevBy: Thomas Zander Conflicts: src/s60main/s60main.pro
* | | QS60Style slows down layout switch by updating widgets unnecessarilySami Merila2011-03-143-22/+0
|/ / | | | | | | | | | | | | | | | | | | Remove refreshUi() method frmo QS60Style. It might have been necessary two years ago, when we didn't have proper polishing of QWidgets (when style changed), but it is no longer needed. It just slows down orientation switch. Task-number: QTBUG-17840 Reviewed-by: Tomi Vihria
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7Sami Merila2011-03-149-14/+61
|\ \
| * | 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
| * | Cast int to HALData::TAttribute for QT_HALData_ENumCpus and compile with RVCT4.Liang Qi2011-03-101-1/+1
| | | | | | | | | | | | | | | Reviewed-by: Jani Hautakangas Reviewed-by: Shane Kearns
| * | Don't use EGL surfaces for translucency with 32MB GPU chip.Jani Hautakangas2011-03-105-12/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add dynamic GPU chip detection on Symbian to decide if translucent EGL surfaces can be used. With 32MB GPU memory there is not enough memory to create for example transparent video overlay widgets and that's why hw surfaces must not be used. Task-number: QTBUG-18024 Reviewed-by: Jason Barron
| * | Fix for fromSymbianCFbsBitmap changing the source data unexpectedly.Laszlo Agocs2011-03-102-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | QS60Style: QTreeView::indexRowSizeHint returns incorrect valueSami Merila2011-03-141-2/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Fix for http://bugreports.qt.nokia.com/browse/QTBUG-17786. QS60Style tries to work around the hardcoded margin that the QCommonStyle adds to menu items (line 4782 in my QCommonStyle.cpp). Unfortunately regular itemview items are handled in the same code branch in QS60Style, so the class incorrectly reduces the itemview height 8 pixels. The reduction should only happen with menu items. Task-number: QTBUG-17786 Reviewed-by: Laszlo Agocs
* | Background app visible after split view closedSami Merila2011-03-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | When using an app with graphicsview + vertical scrollbar that has previously opened the splitview, when closing the keyboard, the application is not reset to the original geometry correctly. This is caused by invalid operation in the resetSplitView() method that does not resize the graphics view back to original size AND might even leave it with incorrect window state. Task-number: QTBUG-17937 Reviewed-by: Guoqing Zhang
* | Get the number of cores from HAL on Symbian.Liang Qi2011-03-101-2/+25
| | | | | | | | | | Task-number: QTBUG-2199 Reviewed-by: Shane Kearns
* | Avoid image conversion in fromSymbianCFbsBitmap for certain formats.Laszlo Agocs2011-03-103-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Polish splitview implementationSami Merila2011-03-101-50/+40
| | | | | | | | | | | | | | | | Remove calls to unnecessary methods. Remove unnecessary checks. Fix whitespace. Reviewed-by: Laszlo Agocs
* | QML app: text input field is not visible when split view is openedSami Merila2011-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When using a maximized QML application and user taps to a input widget, opened splitview does not show the focused input widget. The root cause of the problem is that when we move to splitview, we set the window state to fullscreen. Unfortunately, there we were trying to fullscreen the input widget and not the window that where the input widget is. Task-number: QTBUG-17984 Reviewed-by: Guoqing Zhang