aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickspriteengine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-231-24/+24
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* doc: fix some typos in .cpp filesSergio Ahumada2012-09-071-1/+1
| | | | | Change-Id: Ica7685aefde84ec80d8af7a67541af454de4adce Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* Print sprite errors only onceAlan Alpert2012-05-141-1/+4
| | | | | Change-Id: I1dfb829d47cfdb5c5af3f3bc5956483ea6ef6314 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Avoid accessing sprites until they finish loadingAlan Alpert2012-05-141-5/+21
| | | | | | | | | | Because sprite properties are not valid until image assembly finishes, some features of the sprite engine cannot work until sprite assembly is finished. In these circumstances, we shouldn't crash. Task-number: QTBUG-24797 Change-Id: I2701f9302620c2cfd5b7bc5ce1cb9f31be4d4e19 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Keep m_states and m_sprites synchronizedAlan Alpert2012-05-111-2/+9
| | | | | | | | | Previously you could have more states than sprites, which could lead to errors because the sprite engine assumes bounds checking was done by the state engine (which only knows the size of the states list). Change-Id: Ie6069caa96d01cc28cc79350e6db5ff4191831a8 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Debug mode for SpriteEngineAlan Alpert2012-05-111-1/+17
| | | | | | | | Outputs the assembled sheet, for manual verification. Compile in by uncommenting the ifdef. Change-Id: Ia21d008cf1fd5ff0a551409f75683599cbb465a1 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Silence warning with ICC about change of signal in integer conversionThiago Macieira2012-04-121-1/+1
| | | | | Change-Id: I7a9bc7de580dd37005d842d0ff5a000ba16f7c20 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Use pixmapCache in sprite assemblyAlan Alpert2012-03-281-1/+2
| | | | | Change-Id: Ibd4f5ea08a548e3c255db3e771b667f5850978e2 Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
* Fix Sprite AssemblyAlan Alpert2012-03-231-2/+2
| | | | | | | | | | | This optimization doesn't account for the width of the assembled image possibly being too small to fit the whole source image width. Since it meant copying more image data than we needed, I'm no longer convinced that it actually is an optimization over a simple cut (as this patch implements). Change-Id: I3fe502a75979e972f62d9dbf26f1ffec9069a102 Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
* Merge master <-> api_changesMatthew Vogt2012-03-051-1/+1
|\ | | | | | | Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
* | Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-241-15/+15
|/ | | | | | | | | | | | | Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Use QDeclarativePixmap in the Particle SystemAlan Alpert2012-02-091-19/+57
| | | | | | | This allows for source URLs to come from network sources. Change-Id: I416edca010e77e507598eaf4eead4291f044f379 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: If39bd256b0fa85eba17ea30f8ab87ea27d758908 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Implement reverse mode for spritesAlan Alpert2012-01-271-27/+79
| | | | | Change-Id: I1e8c124e883b881938fce01aeb67ac369fe0bc28 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Implement randomStart for spritesAlan Alpert2012-01-271-1/+20
| | | | | | | | Most useful in the particle system, so that sprites aren't temporally aligned at the start (ruining the random look). Change-Id: I1cbf6c2187e412fcb8b31cab0d87bcde275c9281 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Implement proper sprite sheet functionalityAlan Alpert2012-01-271-2/+3
| | | | | | | | | | Uses frameX/frameY from the new Sprite API. You can now specify your sprites as a single sprite sheet and just specify the offset for individual animations. Change-Id: I3a33d8329e6b9d65e5578669388e3115de992803 Reviewed-by: Alan Alpert <alan.alpert@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Update Sprite APIAlan Alpert2012-01-271-15/+15
| | | | | | | | | | | | | | | | | | | Added the following properties frameSync (replaces duration: -1) frameRate frameRateVariation frameDuration frameDurationVariation frameX (not yet implemented) frameY (not yet implemented) reverse (not yet implemented) Started the process of duration meaning animation duration instead of frameDuration, but some grace period is being allowed for the transition Change-Id: I0771a55d1708ba999483f76796f0323043b8a4db Reviewed-by: Alan Alpert <alan.alpert@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Add some internal docs for the particle system and sprite engineAlan Alpert2012-01-231-0/+28
| | | | | | | | They're both large internal structures with extensive logic. Should have at least a basic attempt at documentation (beyond inline comments). Change-Id: I7d48ebf821fa759c11fa35889dbff8971644d23e Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Per-frame Sprites patch threeAlan Alpert2012-01-231-25/+102
| | | | | | | | | interpolation bools work with the new sprite rendering approach. Giant sprite images that get split into multiple rows now work with the new sprite rendering approach (or even at all). Change-Id: I7f3e09684622f523564802c7634361b6fe363676 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Remove unecessary assertsAlan Alpert2012-01-231-2/+0
| | | | | | | | They would also trigger when the user gives invalid input, which is not an assert worthy circumstance. Change-Id: Ifa5697d411793a55b6895945e751a73841b1ba3f Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Per-frame Sprites patch oneAlan Alpert2012-01-231-50/+56
| | | | | | | | | | | | | | | | | | To allow for sprites to be advanced by the rendering framerate, two minor redesigns were needed. A) Sprite texture location is now calculated on the CPU and passed to the GPU per frame. B) Stochastic State engine now supports states that do not advance on a timer, and states can be advanced manually. This patch implements B and A for ImageParticle. A for SpriteImage will be done in a separate patch. Task-number: QTBUG-22236 Change-Id: If1c54a6a03fa48b95bb1e672283292859656457b Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-231-1/+1
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I6a730abc0c396fb545a48b2d6938abedac2e3f1c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I0a8d99909cac867dce72da70b1bbcb649989a51b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix sprite choppingAlan Alpert2011-12-201-2/+2
| | | | | | | Had some rounding around the wrong way. Change-Id: I90ea339c35074ca7287c069bdbdd106578b1501b Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Say hello to QtQuick moduleKent Hansen2011-12-021-0/+501
This change moves the QtQuick 2 types and C++ API (including SceneGraph) to a new module (AKA library), QtQuick. 99% of this change is moving files from src/declarative to src/quick, and from tests/auto/declarative to tests/auto/qtquick2. The loading of QtQuick 2 ("import QtQuick 2.0") is now delegated to a plugin, src/imports/qtquick2, just like it's done for QtQuick 1. All tools, examples, and tests that use QtQuick C++ API have gotten "QT += quick" or "QT += quick-private" added to their .pro file. A few additional internal QtDeclarative classes had to be exported (via Q_DECLARATIVE_PRIVATE_EXPORT) since they're needed by the QtQuick 2 implementation. The old header locations (e.g. QtDeclarative/qquickitem.h) will still be supported for some time, but will produce compile-time warnings. (To avoid the QtQuick implementation using the compatibility headers (since QtDeclarative's includepath comes first), a few include statements were modified, e.g. from "#include <qsgnode.h>" to "#include <QtQuick/qsgnode.h>".) There's a change in qtbase that automatically adds QtQuick to the module list if QtDeclarative is used. Together with the compatibility headers, this should help reduce the migration pain for existing projects. In theory, simply getting an existing QtDeclarative-based project to compile and link shouldn't require any changes for now -- but porting to the new scheme is of course recommended, and will eventually become mandatory. Task-number: QTBUG-22889 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Change-Id: Ia52be9373172ba2f37e7623231ecb060316c96a7 Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>