aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Change the default renderTarget and renderStrategyCharles Yin2012-03-071-4/+4
| | | | | | | | | | As we always use OpenGL and scenegraph render thread now, the best default render target should be FBO and the best render strategy should be cooperative mode (use the render thread). Task-number:QTBUG-23956 Change-Id: I64b070dec566e359d27c84680fef1c691d6ce411 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Repaint the canvas item properly when canvas resizedCharles Yin2012-03-072-13/+13
| | | | | | Task-number:QTBUG-23594 Change-Id: I703a5190b5b306666ffd61001ff94f296399465f Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* prepareTransition() must cancel current transitionBea Lam2012-03-071-7/+6
| | | | | | | | | | | | | | | | If it does not, itemX() or itemY() will still return the current transition's 'to' position instead of the nextTransitionTo pos that was scheduled for the next transition (which the item now has moved to using the direct setPos() method). Also refactor prepareTransition() to always move the item directly to the nextTransitionTo if transition is not going ahead. Also fix some broken test code. Task-number: QTBUG-24523 Change-Id: I2e536fbc0da2acbf96fdf2d177190a8968f7fdb1 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Fix texture leaks in QQuickCanvasItemCharles Yin2012-03-071-2/+9
| | | | | | | | | | In commit be4c74948371ddf6f1ed260783b43b5a3d9e60a7 we removed the QQuickCanvasItemNode, but textures are not automatically deleted with QSGSimpleTextureNode, so add a very thin sub class of QSGSimpleTextureNode to just cleanup canvas texture to avoid texture leaks. Change-Id: I31aac1068e8218a75129b52afbbf30fb66e4bbf7 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Check for parent item before calling functions on it.Frederik Gladhorn2012-03-061-1/+1
| | | | | Change-Id: Ic4066d133ef16ce8cf11fcb9fb5ddcc19599e85d Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Fix missing glyphs when using shared distance-field cacheEskil Abrahamsen Blomfeldt2012-03-063-14/+24
| | | | | | | | | | | | | | | | | | | | | | When using a shared distance field cache, signals such as itemsMissing() and itemsUpdated() can be triggered in the server process by external requests. This, in turn, can lead to unnecessary storeGlyphs() calls (performance hit) and, even worse, calls to setGlyphPositions() for glyphs which have not previously been requested through populate(). The latter could cause missing glyphs when the same characters were requested later, as they would then be stored in the cache with the bounding rect of a default constructed QPainterPath (in setGlyphPositions()). To fix this, we ignore all glyphs which have no been requested in this process, thus filtering out all events for glyphs which have only been used externally so far. I've also added an assert to the setGlyphPositions() to help us catch this case early if it should return. Change-Id: Ief333f612e4affea768d9c60409d43ce29fe3f60 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Cleanup QQuickCanvas and QQuickView docs.Martin Jones2012-03-062-1/+19
| | | | | | | Mark reimplemented protected methods. Change-Id: I544d68e16d82a37f5612fd72cd185a23c70157a7 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Continue refactor of Canvas rendering.Justin McPherson2012-03-066-49/+49
| | | | | | | | - Remove sync() - not necessary - Queue buffer before flush Change-Id: If7dea8e56a612d241c67a82eae265febc45059a8 Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Use NPOT support if available.Justin McPherson2012-03-062-52/+43
| | | | | | | In QQuickContext2DTexture. Change-Id: If0311450658a837b7e2665c041ec2846e3c8c2dd Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Remove QQuickCanvasItemNode.Justin McPherson2012-03-064-206/+4
| | | | | | | A custom SGNode is not necessary. Change-Id: Ibde71dd502bc782503dbd7d98e6ad8b811b7aedb Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Fixed QQuickCanvas header with QT_NO_KEYWORDSRohan McGovern2012-03-061-1/+1
| | | | | | | slots -> Q_SLOTS Change-Id: I971a0077a2606e197e9542ccb864e57d0b0e9f4f Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Handle MouseArea.enabled = false after mouse is pressed.Martin Jones2012-03-051-6/+6
| | | | | | | | | | | | | Currently this leaves the MouseArea in a broken state, i.e. still in pressed state, and the next press after it is re-enabled is ignored. In this case we now allow subsequent mouse move or release events to continue. Following the release, no further press will be accepted. Change-Id: I65a890da90e2166ad568505fffdbd3db6c97165b Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Do not store an explicit QImage in the declarative pixmap cache.Gunnar Sletta2012-03-054-73/+65
| | | | | | | | This opens up for the scene graph adaptation only storing textures which effectively halves the memory usage for textures and images. Change-Id: I3452a15844ceeb4fc3a465865f99ee16e3e05607 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Made QQuickWindowManager pluggable via QSGContext.Gunnar Sletta2012-03-056-29/+45
| | | | | | | | | | Also rename paint() to exposureChanged() as that is what the function actually means. The implementation of paint() has been removed in both trivial and threaded version as it is superflous as show() already triggers rendering. Change-Id: I7e53f42786efaf961921f10a39977de511965d71 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Fix crash with AnimatedImage caused by race condition.Gunnar Sletta2012-03-051-4/+23
| | | | | | | | | | | | In QDeclarativePixmap::setImage() we deleted a QDeclPixmapData and recreated a new one in a very short timespan and the new texture factory was the same pointer as the deleted one, yet a queued destroyed signal was still emitted. Depending on when the queued connection was handled in the rendering thread, this would cause problems with the value returned from textureForFactory. Change-Id: Ibd785ca12667c99efb88b92689ae7ac4fa87c7ee Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
* Use premultiplied format because it's fasterAlan Alpert2012-03-051-1/+1
| | | | | Change-Id: I4d78830d2cf03f2deba70c29c2fc221eeec9d63c Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Merge master <-> api_changesMatthew Vogt2012-03-05214-3274/+5901
|\ | | | | | | Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
| * Profiler: Use RAII helper structs for rangesKai Koehne2012-03-027-91/+179
| | | | | | | | | | | | | | Exclusively use RAII helper structs for ranges. Change-Id: Ief9ab25a9e49e1b2c3c091e5d9de6479e36eaa50 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
| * Fix when animating items that are already movingBea Lam2012-03-022-5/+16
| | | | | | | | | | | | | | | | | | | | The view must transition displaced/moved items that are currently transitioning to another position; check against the current transition-to position, not just the current item position. Task-number: QTBUG-24522 Change-Id: Icf1c290f76ceb8c93716f1562ae0bc5a75445b78 Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Use velocity from touch events only when they are validLaszlo Agocs2012-03-023-8/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the capability flags to the extended mouse events. Otherwise it is not possible to tell if the velocity is valid. While the original version is fine if velocity is guaranteed to be available whenever QT_TRANSLATE_TOUCH_TO_MOUSE is set, some platform and driver combinations, e.g. the evdevtouch plugin that comes with Qt, do not provide velocity data in touch events. The touch-only mode of QML may be very useful in these cases too, we just need to fall back to the built-in velocity calculation. Change-Id: Iec5e7632a66380dc04c9435b09f5c173107bbe00 Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Treat parentless items as focus scopesAlan Alpert2012-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | The root item of a tree is implicitly a focus scope simply because it is the root of the tree. QQuickRootItem could gain the focus scope flag in order to solve this for most cases, but there would still be a possiblity of a crash for disconnected trees. Change-Id: I6e04f11df4268fb3b96660d50707d70935a5dc5e Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Add QColor support to v4.Michael Brasser2012-03-028-1/+115
| | | | | | | | | | | | | | | | Change-Id: I033e92007f894d45695ea48d7f954d534a2fadee Reviewed-by: Chris Adams <christopher.adams@nokia.com> Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com> Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
| * Return correct propertyIndex for v4 bindings.Michael Brasser2012-03-022-1/+4
| | | | | | | | | | Change-Id: I4aa37491d36331889f6b30c4d4af8b56cef96225 Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
| * Improved transitions for Row, Column, Grid, FlowBea Lam2012-03-024-181/+250
| | | | | | | | | | | | | | | | | | | | | | | | | | The view transitions functionality for ListView and GridView has been integrated into the positioner elements. Not all of this functionality is available for positioners, though, since they don't have models (and thus cannot identify certain model operations) and they don't manage the lifetime of their children. Task-number: QTBUG-24336 Change-Id: I71588de289555d2ef5a763af11358bc0af7b31a7 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
| * Fix if transitioner is deleted before transition job finishesBea Lam2012-03-022-62/+111
| | | | | | | | | | | | | | | | | | Don't let TransitionJob call finishedTransition() on a deleted transitioner. Also don't use target transitions that are not enabled. Change-Id: I94d58e8c7b072f7f3d76533956cac2d63ac33ff6 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
| * Correct QDeclarativeInspectorInterface iidMartin Jones2012-03-021-1/+1
| | | | | | | | | | Change-Id: I874c501dc1839712d2da663f13e437e3c7a0e4fe Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
| * V4 handles a maximum of 32 temporary registers.Martin Jones2012-03-022-2/+4
| | | | | | | | | | | | | | Drop back to V8 if there are more than 32 being used. Change-Id: I11f6e84746d897cd9b6789a5e9e4d2848909de00 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
| * More verbose compiler stats.Michael Brasser2012-03-022-3/+26
| | | | | | | | | | | | | | Report shared and unshared v8 bindings separately. Change-Id: Iaa198dcc93035a778b13d7137742a7b308aa782f Reviewed-by: Chris Adams <christopher.adams@nokia.com>
| * Profiler: Avoid QString->QUrl->QString conversionKai Koehne2012-03-011-1/+1
| | | | | | | | | | Change-Id: Ib39b94bf6c76638dce96d6cc20a4a8f307e37878 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
| * Profiler: Remove unused methodKai Koehne2012-03-012-6/+0
| | | | | | | | | | Change-Id: I74ba20b495760034bc714d92bcf016feddf87c2c Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
| * Set bind options before uploading to give hints to the driverGunnar Sletta2012-03-011-1/+2
| | | | | | | | | | | | | | | | This can prevent allocation of unused mipmap levels on some drivers. Change-Id: I2d730c04e120872367078b17a344c01b4d4aa87a Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
| * Avoid unnecessary updates when using in-process cacheEskil Abrahamsen Blomfeldt2012-03-012-5/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whenever an in-process cache is updated, it will emit itemsAvailable() signals to all listening glyph caches. This will in turn cause each of the glyph caches to update and each of the glyph nodes to be preprocessed (the entire scene graph will be updated.) This happens even if the changes to the in-process cache are requested by an external client, due to a cross-process cache sharing mechanism. However, itemsAvailable() signals are only interesting if the items were requested by the in-process cache. We therefore add a mechanism now to check if the glyphs were actually requested by the cache before updating anything. Change-Id: I529f94b3928c2a5e06fec354014fa11d21671057 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
| * No double click event in QML_TRANSLATE_TOUCH_TO_MOUSE modeMartin Jones2012-03-011-5/+13
| | | | | | | | | | | | | | | | Since double clicks are delivered before the click, the initial grab may not have been established. Change-Id: Id9282489f0551d421da800294e88ead0915482cc Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
| * Fix material compare for distance field glyph nodes.Glenn Watson2012-03-011-1/+5
| | | | | | | | | | | | | | | | | | The compare function did not take into account the GL texture ID when comparing materials. This could result in a renderer merging glyph nodes into a single batch incorrectly. Change-Id: Ib62c43f93fb1bbbc231197323dced4254ffa12aa Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
| * Allow styled text to be elided.Andrew den Exter2012-03-012-9/+65
| | | | | | | | | | | | Task-number: QTBUG-24521 Change-Id: Idd451d0a8a238a60691386726e34054c0368b658 Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
| * Update item position in parent change atomically.Andrew den Exter2012-03-011-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Changing x and y individually generates two geometry changed events, the first of which has an invalid position as the x coordinate is relative to the new parent and the y relative to the old parent. This in turn causes the Drag item to send move events with incorrect positions. Task-number: QTBUG-24534 Change-Id: If2636a968acc0fffce21d1a7e51510426ace38a0 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
| * Check item before notifying transition has finishedBea Lam2012-03-011-4/+5
| | | | | | | | | | | | | | Fixes crash when using SmoothedAnimation with view transitions Change-Id: Ib9a201e417c34d64f8144a616e75cae8b67568e2 Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
| * Fix crash when transition finishes after view is deletedBea Lam2012-03-011-0/+2
| | | | | | | | | | Change-Id: I5bb525bab735536fa7ae3a7f60bf775cd93cf3c1 Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Reduce size of QQuickTextPrivateYann Bodson2012-03-012-100/+130
| | | | | | | | | | | | | | Move less used members to an extra struct lazily allocated Change-Id: I87e464af4b9d29303705dd7e766f734309ed7763 Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
| * FolderListModel: remove widget and QDirModel useMartin Petersson2012-02-296-191/+853
| | | | | | | | | | | | | | | | | | FolderListModel used the obsolete QDirModel internally. Because of this it needed widgets to work. I have made a threaded model instead that use QDir internally. Change-Id: Ibd1267a135ee3c6df7bcde420073866b7a76d0d1 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
| * QFastMetaBuilder: Generate revision 6 meta-objectsKent Hansen2012-02-291-60/+4
| | | | | | | | | | | | | | | | | | | | | | Support for old meta-object revisions (<= 6) will be dropped in Qt5. The first, simple step towards revision 7 is to move from rev 4 to 6. Also avoid copy/paste of the flags/types defined in qmetaobject_p.h (in preparation of porting to revision 7). Change-Id: I8ec3ad0811295528303abb5cce86011fc869ec30 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
| * Fix particle system on windowsAlan Alpert2012-02-291-0/+4
| | | | | | | | | | | | | | | | To preserve correctness, just use a non-point-sprite performance level on windows until QTBUG-24540 is resolved. Change-Id: I7608fbe21233534fb22c9d352aafae759e68c143 Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Make sure positioners remove change listeners for invisible items.Martin Jones2012-02-291-0/+5
| | | | | | | | | | | | | | | | Children that are invisble weren't having their change listeners removed, which showed illegal accesses on destruction in valgrind. Change-Id: Icae798e773168323781e9ab88b3dae6a5aea0952 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
| * Don't round Text dimensions.Andrew den Exter2012-02-292-21/+22
| | | | | | | | | | | | | | | | | | Painting issues in QtQuick1 meant drawing had to be aligned to pixel boundaries, since this is no longer a problem we should use qreal everywhere. Change-Id: I58e88e10270fa603170f1cedf471bfb53bd89b73 Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
| * Avoid unneccessary duplication of string data.Andrew den Exter2012-02-291-3/+11
| | | | | | | | | | | | | | | | | | Check for the existence of new line characters before trying to replace them. There's some redundancy if the characters are found but for single line strings we avoid the detach in replace. Change-Id: I48ccc614601a6f356b3d2e68f617e112c100bbdd Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
| * Add and use a method for querying whether a property is revisioned.Michael Brasser2012-02-293-5/+6
| | | | | | | | | | | | | | | | Accessor data and the revision are now unioned, so querying the value directly can give incorrect results. Change-Id: I0ba6c53d8bd6b012507bfb32d33dc414348379b0 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
| * Add generic "displaced" transition propertyBea Lam2012-02-296-52/+176
| | | | | | | | | | | | | | | | This is the default displaced transition that will be applied if addDisplaced, removeDisplaced or moveDisplaced are not specified (or are disabled). Change-Id: I9356036dc93bd9cb26e64e0b1769228113b74273 Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Add missing includeStephen Kelly2012-02-281-0/+2
| | | | | | | | | | Change-Id: Ifb4b489bb87b7ee8fb2f758da0e00af1e95e410f Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| * Properly cleanup cancelled incubation.Martin Jones2012-02-281-2/+22
| | | | | | | | | | | | | | Not all allocations were being destroyed. Change-Id: I2134bb224c58b947cfb990b0af2f6eedfd36da4a Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
| * Separate view transition functionality into new fileBea Lam2012-02-289-921/+1159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move most of the view transition functionality from qquickitemview* into qquickitemviewtransition*. - Move QQuickViewTransitionAttached - Move QQuickItemViewTransitionManager, rename to QQuickItemViewTransitionJob - Move FxViewItem transition-specific features into new QQuickViewItem - Move transition-specific functions like transitionNextReposition() and canTransition() into QQuickItemViewTransitioner which holds all the transition objects now Also mention in docs that there's no defined order for choosing between multiple matching displaced transitions. Change-Id: I8701c0d40d2af152c5d432a4c8de646854c76ea2 Reviewed-by: Martin Jones <martin.jones@nokia.com>