commit 3089bdc6ceabe266ba2728e59e2c07b886ead4b3 Author: Teemu Holappa Date: Thu Feb 11 10:03:07 2021 +0200 Fix cast from char to unsigned int Task-number: QSR-1120 Change-Id: I861a9a44088201a80f71a8ca5cc790eefbd1ee95 Reviewed-by: Jani Launonen commit 21ef2ca441d1fdd8a9af6b196dc88ee1dfa51dd8 Author: Jani Launonen Date: Mon Feb 8 11:45:31 2021 +0200 Runtime: Fix MISRA error Few subconditions weren't inside parentheses. Fixed. Change-Id: I4a117400ff7e6b33f32804b8b8cb93cac3b3c527 Reviewed-by: Teemu Holappa commit 8a6fc3cb911664e2f240d57ea9d9a07ce6e8e384 Author: Tarja Sundqvist Date: Thu Feb 4 13:44:29 2021 +0200 Fix a broken link in the API documentation The enumaration name was missing from the link. Change-Id: I5bdc93e4ff2cfc48437296cc6b7026095aae06bf Reviewed-by: Asmo Saarela Reviewed-by: Teemu Holappa commit c8f86bf5e243ea16d301d8a2f22e6f85c02a9450 Author: Teemu Holappa Date: Mon Feb 1 09:52:18 2021 +0200 Add offscreen buffer to the WFD backend Added second frame buffer to the WFD API. Flipping is done in the request update function. Fixed QSafeRenderer to call bits-function before rendering instead of the constructor. Change-Id: I3baae154215f51cdc7f4e7b3e0befc413b9e53fd Reviewed-by: Jani Launonen commit 320f63823fcc1dbfd80aef698b4971b2f740c4f7 Author: Teemu Holappa Date: Tue Jan 26 16:01:57 2021 +0200 Fix the character set to support entire Latin1 charset Fixed also assert which occurred in the free type font engine when building the integration test set. The fix reverts the workaround done for the bug QTBUG-62331. Task-number: QSR-1055 Change-Id: I1ef5e9dec0e5eeeebf1c9bc6e35b32c4da1c87d7 Reviewed-by: Jani Launonen commit b42068e02fc1fb23c11dc4fb02197f699e41af78 Author: Tarja Sundqvist Date: Fri Jan 29 09:15:55 2021 +0200 Add note about implicit default state to API documentation Task-number: QSR-1063 Change-Id: I28e93de9828091700a8f52f4577fe7e5027f3dd8 Reviewed-by: Asmo Saarela commit a316149c02e53c42d53384906ad2b6ce4ab37404 Author: Teemu Holappa Date: Tue Jan 26 15:55:55 2021 +0200 Do not start animation if the item is invisible Change-Id: I201c1df14cccdb951e5ee02e3ed65c9115ea4c60 Reviewed-by: Jani Launonen commit 45866274229b23e385e7525c39e793f861f513c0 Author: Teemu Holappa Date: Wed Jan 27 11:12:45 2021 +0200 Set visibility to 'on' by default Task-number: QSR-1057 Change-Id: I5702ee04fa04ba5dff871649556c354fce26bc3b Reviewed-by: Asmo Saarela commit 14326f5e2e6b01c594ed89076e9478d6d0dceb2c Author: Teemu Holappa Date: Mon Jan 25 15:58:19 2021 +0200 Add information about the constraints in the States definition Task-number: QSR-1051 Change-Id: Ic74b59a7c4648724c1bc119cfe56416735cba65f Reviewed-by: Tarja Sundqvist commit 8087aceae8114b54847dbcba29c64340d1088b42 Author: Jani Launonen Date: Mon Jan 18 12:31:19 2021 +0200 Runtime: Fix MISRA C++ 2-10-2 issue layoutId was as identifier that appeared in two enclosing scopes. Renamed layoutId to currentLayoutId in QSafe::Layout::readLayoutData() Change-Id: I03a13668fac4f3b30e3ecf840830622b6ca2113b Reviewed-by: Teemu Holappa commit 103b99c07ee2bd4659dc2be212e9f6f59cfcb77f Author: Tarja Sundqvist Date: Mon Jan 18 11:27:07 2021 +0200 Update license headers Task-number: QSR-1022 Change-Id: I356c1b8eadd1fcf784aeabbae7a8508133dbb7fa Reviewed-by: Asmo Saarela commit 58be763cf827ef42a007b22fbb2618e63039a42e Author: Tarja Sundqvist Date: Mon Jan 18 08:22:20 2021 +0200 Fix API documentation for exceptions The API documentation concerning exceptions fixed as it caused some warnings and broken links in the documentation build. Change-Id: I3586d42b03b0eee335b69e3c73620eace9cef339 Reviewed-by: Teemu Holappa commit cf9fe484fe8386c9098dc9f9adaf2f517e968dbc Author: Teemu Holappa Date: Fri Jan 15 14:03:27 2021 +0200 Comment the cyclomatic complexity value deviations Change-Id: I8e618b9df6c3ba3c4eb3a2fe2f9d1bfaf7c15a10 Reviewed-by: Jani Launonen commit ddac54ac68c391ddec53ca724e9aea4bce969dfb Author: Jani Launonen Date: Fri Jan 15 15:00:32 2021 +0200 Runtime: Fix MISRA issue in QSafeFile A minor modification to qsafefile::readData() allowed to make the method a constant one. It is required by MISRA C++. That've done. Change-Id: I7ac3e77b4ef21985a61d190e55b78afc0c696af2 Reviewed-by: Teemu Holappa commit fb934d46671f159cc63b89b53f0b79cbf526342e Author: Teemu Holappa Date: Wed Dec 30 15:48:24 2020 +0200 Fix layout reading constraints The maximum item count was actually restricted to a half in case the items contains the state as well. Change-Id: I13f0c0ff7701a0e2f084c1b4b63b821247c165c8 Reviewed-by: Jani Launonen commit f2087bd5946ac5483d09c54eaad800b9ceea08b6 Author: Jani Launonen Date: Fri Jan 8 14:58:12 2021 +0200 Runtime: MISRA C++ violation marked for later fix As all loaded (via resources or files) V3 bitmaps are implicitly compressed only doDrawCompressedBitmap() is ever called in the runtime. However the tst_qsaferenderer.cpp call doDrawBitmap() directly or generates test bitmaps, which aren't V3 format bitmaps. Thus, they do not use doDrawCompressedBitmap(). The doDrawBitmap() is unreachable from runtime, but removing it affects quite a few test cases, so it is safest now to leave the tested, if unreachable, code there and remove later in the next version with more time to fix the tests and see the code behave well. Task-number: QSR-1007 Change-Id: I7ee41af172befe79017f9eabc2c204be56eaeeba Reviewed-by: Teemu Holappa commit 2346f66ffefe91916dc05a953e23432c6726f841 Author: Jani Launonen Date: Thu Jan 7 16:48:19 2021 +0200 Tests: Create benchmark test for QSafeRenderer::drawBitmap() Made a benchmark test for measuring QSafeRenderer::drawBitmap() performance with compressed and uncompressed icon in different framebuffer formats. Task-number: QSR-812 Change-Id: Ibeb100fe61895d814e387ef36286f13f97908306 Reviewed-by: Asmo Saarela Reviewed-by: Teemu Holappa commit 2e3e2c7090036fd8af8a1dba9c967f5aa848fe4c Author: Jani Launonen Date: Mon Dec 7 18:25:02 2020 +0200 Runtime, Tests: Fix QSafeFile coverage and found issue m_fileDescriptor was unnecessarily set to -1 in readData() function and thus would leave file not closed in destructor, which checked whether the m_fileDescriptor was already -1. Added test case(s) for QSafeFile testing to improve coverage even if somewhat redundant. Just for completeness sake. Fixed few Clang-Tidy & Clazy reported issues and reviewed some. Change-Id: I64abeba7349099efd27cee895634308f2268e236 Reviewed-by: Teemu Holappa commit d00a43f5ea0da64dbaf7a0d6352be15490b892c0 Author: Teemu Holappa Date: Mon Dec 21 15:47:50 2020 +0200 Increase the value of MAX_AMOUNT_OF_BITMAPS Task-number: QSR-987 Change-Id: I7617927a145134d390747db59b53056a3f8ecf8f Reviewed-by: Asmo Saarela commit e73dfc7730b0328eede6662b1bf8bf393636037b Author: Teemu Holappa Date: Thu Dec 17 13:49:22 2020 +0200 Fix the transition handling The layout tool ignores the target property in the Transition element. The runtime resets the m_inTransition flag if there are several states to be handled. Added integration test case for the case. Task-number: QSR-980 Change-Id: Ice7b83b615759750ce0987787620fd6a962b3650 Reviewed-by: Jani Launonen commit 8eee871df9b30151689f9c2305b5dc6ca9255d11 Author: Teemu Holappa Date: Mon Dec 7 13:08:46 2020 +0200 Fix complexity the index Removed the complex switch case structures from the QSafeEvent. Added exception for the unknown event to the state manager. Added test case. Change-Id: I672735cd3bcb1d9260e79f5b24b34d2b1a24a1be Reviewed-by: Jani Launonen commit bb6575a54f6c7512003351a6c43b922573fd9bf2 Author: Teemu Holappa Date: Wed Dec 9 13:02:37 2020 +0200 Add new surface format ARGB32 Change-Id: I2784bc8cca6be0980e09786d5a5d06593a90fd83 Reviewed-by: Jani Launonen commit 800453f2f9fbe7497719f6728e5eac4675e76c23 Author: Teemu Holappa Date: Wed Dec 16 20:22:10 2020 +0200 Fix text position calculations in QSafeTextLayout Casting from the signed in to the unsigned was done without checking. Updated test case to unit tests to cover the case. Task-number: QSR-978 Change-Id: Ib40df4a5c22be59ccedee00197715923d268a857 Reviewed-by: Jani Launonen commit e897cd8b767b5d71602401d02b105dc734b00472 Author: Teemu Holappa Date: Mon Dec 7 13:54:59 2020 +0200 Fix QSafeBitmap reader exception documentation Removed unused exception IndexOutOfBounds. Added missing documentation about the QSafeBitmapReader class. Change-Id: I81af786f85d57d39af5b3d93d7ea628bbb7537c5 Reviewed-by: Tarja Sundqvist commit fab15d808f78116b31fa6c631fa9806f55350a4e Author: Jani Launonen Date: Mon Dec 7 13:08:17 2020 +0200 Runtime: coverage improvement Manually validated condition in QSafeFile::readData(), which can be triggered only by a genuinely erroring read from a file after successful open(). Change-Id: Ieb21ef7b51704abf73a7b5ca6a2efe4cdd606581 Reviewed-by: Teemu Holappa commit 990c78dd2097413ef144795cf2323885e3153255 Author: Teemu Holappa Date: Mon Dec 7 12:42:43 2020 +0200 Improve QSafeTextLayout code coverage Added test cases, removed dead code. Change-Id: Iddb9e10d3da2f6649b66b4aa020bc1c5dfb37baa Reviewed-by: Jani Launonen commit 5f1f79bcf0f3d55a7f11f36d6265e02e3d3c8ee9 Author: Jani Launonen Date: Mon Dec 7 12:41:09 2020 +0200 Runtime: improve CoCo coverage Removed unnecessary RewindToStart() function in QSafeFile and manually validated few reduntant checks against 0-dimension bitmaps that were fine to be there. Change-Id: Ia4a3e35c8d727c63f183d8ee4ff5f504c00d022b Reviewed-by: Teemu Holappa commit 8dc8e971dce43032b9761a5ff8ba96e5ca19872e Author: Teemu Holappa Date: Mon Dec 7 11:58:32 2020 +0200 Remove dead code The tag validation is done at the beginning of the function. Change-Id: I5a3bad0741f184f37f36402fa572595d6b5ad201 Reviewed-by: Jani Launonen commit b8cc43e856f3f0b662157d9298adc0637aac83c6 Author: Teemu Holappa Date: Fri Dec 4 09:47:14 2020 +0200 Improve code coverage Added tests to improve the QSafeLayout class code coverage. Added coco validation comments. Change-Id: I321dcdef29fbe182873c190ed89c781a3b32a816 Reviewed-by: Jani Launonen commit 5c0b4f4732fe3f850c7cbfd80b799815856dc984 Author: Tarja Sundqvist Date: Fri Dec 4 09:52:27 2020 +0200 Doc: Update API documentation An enumeration value and one functiona argument were missing from the API documentation. Change-Id: I4f8585a8fd0c221583821d6cb9eef68fea9926f4 Reviewed-by: Teemu Holappa commit 83afa618ea891aed5acff24b7232ccddd15942c6 Author: Teemu Holappa Date: Wed Dec 2 13:35:59 2020 +0200 Fix space character handling in QSafeFont Space character causes unnecessary exception in QSafeFont class. Changed integration test case to use dynamic text instead of static. Change-Id: I9c71a9bbb99202a44d2da7a6ee72ee49e2d39648 Reviewed-by: Jani Launonen commit 3cdaf2eff42c83bff4f47202c11f36a1e62aa9ef Author: Teemu Holappa Date: Mon Nov 30 11:25:09 2020 +0200 Fix MISRA 0-1-6 violations Task-number: QSR-910 Change-Id: I1712ab330478736bf8fd68a56f173cba0665d492 Reviewed-by: Jani Launonen commit bd18c7dd8cc290138873374998f233a0b06e5ed9 Author: Jani Launonen Date: Wed Dec 2 09:16:56 2020 +0200 Runtime: Fix MISRA C++ 2008 issue Refactoring had resulted in a new MISRA C++ 2008 deviation. A manual check was done and suppression was added. Task-number: QSR-903 Change-Id: Iebc41c32611eb9127620d98dd1fc6245c3b8e970 Reviewed-by: Teemu Holappa commit c142f2436133d202b075847181f51ded75ca2164 Author: Jani Launonen Date: Tue Dec 1 14:00:57 2020 +0200 Runtime, tests: Fix endianness issues Fixed endianness issues in runtime, where converted 16-bit RGB565 pixel was returned without converting from little-endianness to native, so the repeated pixels were in wrong byte order in big- endian system, such as MIPS64. Also test cases hade few places, where the framebuffer rendered in RGB565_LE format was read back without using qFromLittleEndian() function. Fixed. Task-number: QSR-903 Change-Id: I84acd9002e8744369fe9f18b12e2a26570229c4d Reviewed-by: Teemu Holappa commit 992ce18e962fffa2d7fb4888405bef0d56a211f3 Author: Teemu Holappa Date: Mon Nov 30 12:40:34 2020 +0200 Change default value of ANIMATION_TIMER_TICK_IN_MS to 16ms Task-number: QSR-822 Change-Id: I0c8d03003a908abc891b53575fdfa8dbd0b2d796 Reviewed-by: Jani Launonen commit 492b93105410a0ba7caff75f6a80982ba856ba3f Author: Jani Launonen Date: Tue Nov 24 15:21:29 2020 +0200 Runtime, tests: Fix alpha position in RGBA8888_LE Fixed alpha channel position in RGBA8888_LE case, which was wrong in the tests and in the convertAndBlit() function. Task-number: QSR-903 Change-Id: If5d9e99f8212b9774ab70d794363e26afe670c6a Reviewed-by: Jani Launonen Reviewed-by: Teemu Holappa commit c428217bd1ad59b14a69f71e101e5a92d43dce02 Author: Teemu Holappa Date: Tue Nov 24 13:57:43 2020 +0200 Fix the screen update logic In QNX there is used double buffering. If several visible events are send in row it causes multiple screen post event and is slow and causes wave effect to the screen. RenderingFinished requests has moved from the renderer to the adaptation where it logically belongs. Changed the renderingFinished function name to the requestUpdate. Implemented simple scheduler to the QNX Screen, which fixes the unwanted behavior. Task-number: QSR-902 Change-Id: I712633f222f974dc94044322b5edc3b33fe14f17 Reviewed-by: Jani Launonen commit 6bef12675686ceb91ebc4b22143c047496c9be8a Author: Teemu Holappa Date: Wed Nov 25 16:49:15 2020 +0200 Fix the max amount of states exception The max amount of states was compared to wrong constraint. It is allowed to have as many states in the system as there are possible items. Change-Id: Ifdb95e8600512b1dce4fa94975867019cdb94dd4 Reviewed-by: Jani Launonen commit 4ffc75a0c6630dec66bf72c92e1383706fe13a3e Author: Tarja Sundqvist Date: Thu Nov 26 11:36:46 2020 +0200 Doc: Fix animation type documentation An SpriteAnimation value was changed to Sprite. Change-Id: Id4144f4d7db99792dafc2170b34c12939e57b345 Reviewed-by: Teemu Holappa commit 5c5abdca92874bf4cfa426056c10ac64c86e1b2b Author: Jani Launonen Date: Fri Nov 20 12:15:11 2020 +0200 Runtime: fix typo Big-endian version of qFromBigEndian() had extra = character. Removed. Task-number: QSR-88 Change-Id: Ia2ae7e5891e0cbed8924ce61869b4561665d7646 Reviewed-by: Teemu Holappa commit 9a749742cd26573a0ea7c36e63a04752a204e242 Author: Jani Launonen Date: Tue Nov 17 11:35:57 2020 +0200 Runtime: Fix dubious pointer copy to reinterpret_cast<>() Memcpy replaced with reinterpret_cast<>() which was the real intention of the statement. Task-number: QSR-713 Change-Id: Iaea6e7e5440ae475ce5ec427d59a0260a54e763b Reviewed-by: Teemu Holappa commit d29be32896357c7a32e81c8ff7a72977e38cc198 Author: Jani Launonen Date: Tue Nov 17 11:12:42 2020 +0200 Runtime: Fix MISRA issue qToUnaligned() could use const destination pointer. Added. Task-number: QSR-713 Change-Id: I947c15a896806023da44626c0b551e97226939e5 Reviewed-by: Teemu Holappa commit a6a0ac3559ca06fed0f2a77199efce3aa6a468b7 Author: Tarja Sundqvist Date: Mon Nov 16 17:15:35 2020 +0200 Doc: Update the max num of animations per item Currently the number of properties is 5 instead of 4. This affects the max number of animations per item. Task-number: QSR-892 Task-number: QSR-893 Change-Id: Ia182fae8d4674463a878cf954d8ec8cab1347c26 Reviewed-by: Teemu Holappa commit 45ed6a075d03155e0555218405b632aeb4ac06e1 Author: Jani Launonen Date: Mon Nov 16 14:40:54 2020 +0200 Runtime: Fix big-endian detection and add fn() for unaligned access Fixed big-endian detection in qsafeendian.h file. Added qFromBigEndian(const void* const src) to big-endian side which was missing. Found in MIPS64 QEMU environment. Task-number: QSR-888 Change-Id: I3f5eecdb3a2a8029015b6fd9482e34fb7c135d08 Reviewed-by: Teemu Holappa Reviewed-by: Jani Launonen commit 52b6077e72b34319c017ceb48fe315334f30d910 Author: Teemu Holappa Date: Thu Nov 12 20:51:36 2020 +0200 Fix MISRA violation 2-7-3 Sections of code should not be "commented out" using C++-style comments Change-Id: I688a09149180c8e2c3b737f8d13f9820cce41684 Reviewed-by: Jani Launonen commit 5963b842f8789513ec226d3d221872dd920febb3 Author: Teemu Holappa Date: Fri Nov 13 09:06:14 2020 +0200 Fix QSafeEvent byte order to big endian Change-Id: Ieb54224d20a6f65652ca194bb35efd1695ca2650 Reviewed-by: Jani Launonen commit bfd807a3bb972ff43e9921a206d2240efbc64113 Author: Teemu Holappa Date: Thu Nov 12 20:18:16 2020 +0200 Fix MISRA issue 14-5-1 A non-member generic function shall only be declared in a namespace that is not an associated namespace. Removed the enum definitions from the SafeRendererGenerics namespace. Change-Id: Id8c7b2278a7d0c82e5f9753a8bd2ca45999729fa Reviewed-by: Jani Launonen commit 79f06db9ec7227562eb228fe177f9282def64a50 Author: Teemu Holappa Date: Thu Nov 12 20:42:26 2020 +0200 Remove unused TagEnd enum from the QSafeTextlayout Fixes violation of the MISRA rule 2-10-2. Also improves test coverage as the TagEnd is unused. Added some exception case handling to the text layout. Change-Id: I54aa7d60bdb3565c2f1fc2fa9e1c361660c62221 Reviewed-by: Jani Launonen commit d9dfc1fda928c1cf3d6461d219297b73e5dd8732 Author: Teemu Holappa Date: Fri Nov 13 08:31:54 2020 +0200 Fix MISRA violation 2-10-2 Change-Id: I85675321e55c9f13a011e268638924244f1478f8 Reviewed-by: Jani Launonen commit d2cb7d1fcfce2efb17ba632572aaa857d9bf5f58 Author: Teemu Holappa Date: Thu Nov 12 20:30:03 2020 +0200 Remove unnecessary template definition from the min function The function is used only for quint32. Global template function without namespace violates the rule 14-5-1. Change-Id: Ic3edc4ca7eff16c592f46bebfa916f0a0e3b7c37 Reviewed-by: Jani Launonen commit c6f64930066366f709fc17b713639ae79600fade Author: Teemu Holappa Date: Thu Nov 12 18:12:39 2020 +0200 Refactor setText functionality Added new function to setText to the QSafeLayout to avoid the returning of the non-const reference to the layout data. Removed the unused drawText function from the QSafeRenderer. The text must be changed through the StateManager event API. Change-Id: Id3d8853bd686ffb1b5121854ead63d685c8ae3eb Reviewed-by: Jani Launonen commit 1490823a128901ff1de8b765ea50bcd56e560e3d Author: Tarja Sundqvist Date: Thu Nov 12 18:01:45 2020 +0200 Doc: Fix max number of states documentation Task-number: QSR-891 Change-Id: I942a504e90fbd89d687a6316fe1ff43912125184 Reviewed-by: Jani Launonen commit 1168c4912e7ace2c2e1768961932ba2ba10f84ab Author: Becky Worledge Date: Wed Nov 11 18:33:35 2020 -0800 Stop the compiler complaining about index not being set Change-Id: Ieeba0dd3e9c63cc1db6ed68a48738f09c8e16fc7 Reviewed-by: Jani Launonen commit 539ca8b5120d081369b80d66c2388ffe3467aaf3 Author: Jani Launonen Date: Wed Nov 11 12:42:43 2020 +0200 Runtime: MISRA fixes Some functions needed to be renamed for hiding another function of the same name. Task-number: QSR-713 Change-Id: Id95bd3a22ca617ee434a25357ccef1874fc02623 Reviewed-by: Teemu Holappa commit 67ede6244647e8f9a0b17648b42faa431601cba0 Author: Teemu Holappa Date: Thu Oct 29 16:01:12 2020 +0200 Add API to add eventFilter callback function That function gives possibility to handle events in the application side. Typical use case would be the heartbeat timeout handling, handling of the system events (triggering the state changes based on the system event). Change-Id: I38363171c86923fd74748b13e1d3711949f81529 Reviewed-by: Jani Launonen commit 6ba8f646b2f06b5ea4ffd94b7943e1f9e17873c6 Author: Jani Launonen Date: Mon Nov 9 15:52:37 2020 +0200 Runtime: Fix MISRA issues Some more fixes. Task-number: QSR-713 Change-Id: If9e9f12487d7800811d3cd69aabb822f6f8d682f Reviewed-by: Teemu Holappa commit e686a52a3688c9bd7cad034bd00ef14edc88b231 Author: Tarja Sundqvist Date: Tue Nov 3 15:20:57 2020 +0200 Doc: Describe the connection of FPS rate change and timer tick Task-number: QSR-827 Change-Id: I50fce6d38bb733a1bc99969c5c38c74c231d4cd6 Reviewed-by: Jani Launonen commit 42e9a56921ae05b0b43fec31be7c766e47d87d86 Author: Teemu Holappa Date: Wed Jul 8 16:52:29 2020 +0300 Add support for color transitions in TimeLine animation Change-Id: Ib7f98dadb26b4c2657244b4776f12c7ab83659b1 Reviewed-by: Jani Launonen commit b9b4d30c4c142d56f81a85eba5fe3e8f904cb093 Author: Jani Launonen Date: Fri Nov 6 14:07:51 2020 +0200 Runtime: Add new qToBigEndian() function and improve old ones Added a new function to endianness conversions with support for unaligned access and changed the functions defined for big-endian platforms to use consts where needed. Change-Id: I3f516cd2ca89f1a28b12f1f40087d492d41ed847 Reviewed-by: Teemu Holappa commit 4193fb647bd21565216a2ab401293c1db5ce7b93 Author: Tarja Sundqvist Date: Mon Nov 2 16:25:42 2020 +0200 Doc: Update default value for MEMORY_POOL_SIZE Task-number: QSR-824 Change-Id: I770c121cfb2eb4b3fa05c413e7b4c88df09214b7 Reviewed-by: Jani Launonen commit 721aef8d24b15dfcf8a89f53edd985dfd89a2d02 Author: Tarja Sundqvist Date: Mon Nov 2 16:19:30 2020 +0200 Doc: Fix QSafeEventHeartbeat class documentation Fixed a typo and added the unit of timeout. Task-number: QSR-873 Change-Id: Ibfd6d57b48c2193e199d3a7441f26297f8b6651e Reviewed-by: Jani Launonen commit 5238d9fe26c2220989cab63de4e7b5e4c29b9da5 Author: Jani Launonen Date: Fri Oct 30 14:38:15 2020 +0200 Runtime: Fix/review more MISRA issues A lot of false positives reviewed and suppressed. Task-number: QSR-713 Change-Id: I7d74d1b45f3a6f9015017cf1c21c0bbae71181a3 Reviewed-by: Teemu Holappa commit a5c9818c1ea6719312b6513b9535e9857589ba8b Author: Teemu Holappa Date: Thu Oct 29 16:29:33 2020 +0200 Fix inline destructors Fixes duplicate destructors if the header is included twice. Change-Id: Ia0e412fb2af64dfe8496e2ccaf8c3fe11faadaff Reviewed-by: Jani Launonen commit 1829f47011042dfd0dcad28e6dbd25d6910b7bc0 Author: Jani Launonen Date: Wed Oct 28 15:19:31 2020 +0200 Runtime: Fix MISRA issues and Polyspace found defects Fixing some more MISRA C++ 2008 issues and defects found by Polyspace bugfinder. Some issues suppressed. Task-number: QSR-713 Change-Id: I99bdb06dbedcac3d46925643bec964b05edef272 Reviewed-by: Teemu Holappa commit 92b7cf6a6a37803ccf4a08f559ea3834f45e62e7 Author: Jani Launonen Date: Tue Oct 27 15:20:15 2020 +0200 Runtime: Continue fixing MISRA C++ 2008 issues Task-number: QSR-713 Change-Id: I386a2bb2e82aa6cf5283b073fea46476f380f7c5 Reviewed-by: Teemu Holappa commit 27a94b97b696507611f55afb71a70a2453d8f302 Author: Jani Launonen Date: Fri Oct 23 14:44:08 2020 +0300 Runtime: Fix Polyspace found defects and MISRA C++ 2008 issues Some more defects and MISRA C++ 2008 issues found by Polyspace fixed. Removed quite a few explicit, but empty destructors by Polyspace's advice. Changed quint64 types to size_t for better portability. Task-number: QSR-713 Change-Id: If4f58b6bef401fcaba4ac871cede31ed7dd52663 Reviewed-by: Teemu Holappa commit b87fe29bd3e160de6e36513555c086600b011c7c Author: Teemu Holappa Date: Wed Oct 7 18:24:18 2020 +0300 Create the separate configuration file for the safercc tool It is necessary to have an own configuration for the safercc tool for running the tests in the cross-compiling environments. Renamed the qtsaferenderer configuration to the qtsafelayouttool which it actually is. Change-Id: I9fd1f97ab6bb70bfa0764664ea9d51d54b5b8dbd Reviewed-by: Samuli Piippo commit ff8cea5215e20799a4b2b0ca3fe7550b012bb06a Author: Tarja Sundqvist Date: Thu Oct 22 09:25:02 2020 +0300 Doc: Add missing constraint values Task-number: QSR-823 Change-Id: I2149fcbb9ebf887857d3cc849182006e1770e1e1 Reviewed-by: Jani Launonen commit 059224dfde6640ec54896d4c544d845318413ea9 Author: Jani Launonen Date: Tue Oct 20 16:06:47 2020 +0300 Runtime: MISRA and defect fixes continued Fixing MISRA C++ 2008 issues and Polyspace found defects in qsafeallocator.cpp qsafebitmapfilereader.cpp qsafebitmapfilereader.h qsafebitmapreader.cpp qsafebitmapresourcereader.cpp qsafebitmapresourcereader.h qsafechecksum.cpp qsafefile.cpp Task-number: QSR-713 Change-Id: I02ecb1a1a4eea5fe74ca2ae1fb14ae20c3936bd5 Reviewed-by: Teemu Holappa commit eda21cb68a7bdf41dc7d34709e76da9e9ea237ac Author: Jani Launonen Date: Wed Oct 14 15:13:25 2020 +0300 Runtime: Fix MISRA C++ 2008 issues Fixed some MISRA C++ 2008 issues found by Polyspace static code analyzer. Task-number: QSR-713 Change-Id: Ieb88ba911694b2a7f2a6986303a8abfca7093651 Reviewed-by: Teemu Holappa commit 4b01e91000254d9c7ef1eb2ebc27bd47ec0002c6 Author: Teemu Holappa Date: Mon Oct 12 13:36:45 2020 +0300 Fix compiler warnings Change-Id: I893c4c4611cff0b70a71b9ae5c68d7902da9c5ea Reviewed-by: Jani Launonen commit 57f7abff17a5e9f24f24b493c003ef6252e046f3 Author: Tarja Sundqvist Date: Mon Oct 12 10:25:22 2020 +0300 Doc: Fix documentation build warnings Warnings fixed from the documentation build: - BITMAPDATA_HEADER_SIZE_V1 does not exists any more in qsafeconstraints.h - extra \namespace command inside function documentation - undocumented enum and function parameters Change-Id: I37a19f2d0728393957c6b292f8d78113dbb6f05e Reviewed-by: Teemu Holappa commit 1ba6d0d85603dc937722a10700ef274684da2dcf Author: Jani Launonen Date: Thu Oct 8 17:55:03 2020 +0300 Fix MISRA C++ 2008 issues Fixed some more MISRA C++ 2008 issues found by Polyspace static analyzer tool. Task-number: QSR-713 Change-Id: I178dc9dcd0207520de17342befd0a1b01dee8773 Reviewed-by: Teemu Holappa commit efb8b30f0cbb1371e0eb08565ced73baae3e60d7 Author: Teemu Holappa Date: Tue Oct 6 14:26:55 2020 +0300 Refactor advance and restart animation functionality It is not allowed to return non-const reference to the member data. Instead of returning a non-const reference, a const reference is returned from QSafeStateTransition Added advance and restartAnimation functions to the QSafeLayout class. Change-Id: Ie0d37338a82f45b1d5a064dd0c4943f0231f4e1f Reviewed-by: Jani Launonen commit d883e916d9e2197d4f75be02b79cbc4c3449a38f Author: Teemu Holappa Date: Mon Sep 28 13:46:40 2020 +0300 Create test case to test the maximum size of a animation data file Change-Id: I5d6e9912e5996799f5b154fdfb47a4ab6e6cf46d Reviewed-by: Jani Launonen commit a95ad19502dfbf7bec26d72ad355ce986a62051b Author: Teemu Holappa Date: Thu Oct 1 10:29:44 2020 +0300 Fix the documentation build Change-Id: I80168c71b797e2963f72e593dbca8d6ad27b0ef7 Reviewed-by: Tarja Sundqvist commit 0766cab81b64c433cbc263634bc811badc9c6af6 Author: Teemu Holappa Date: Mon Oct 5 15:09:44 2020 +0300 Add API documentation of the QSafeFileInfo class Change-Id: I5a88a0d98db3dfcccb15894c4d6e2c5e45a1b8ad Reviewed-by: Tarja Sundqvist commit 074380d375575bc3d20c9aee431d46fdf5020778 Author: Teemu Holappa Date: Sun Sep 27 13:28:01 2020 +0300 Fix bitmap change when the bitmap goes out of boundary Added test case for the sprite animation. Fixed also setPositionForItem as the calculation is off by one. Change-Id: Idbf86b2cad35e35ac02ee6925d176d1d398da5d3 Reviewed-by: Jani Launonen commit 8e2fd87184b857334ed80d92c11dff0a110cb888 Author: Teemu Holappa Date: Mon Sep 28 16:21:49 2020 +0300 Remove unused function Change-Id: If04240676159122b4bbec802c9b1b4a7ae7051aa Reviewed-by: Jani Launonen commit fabde4c4982dfa1d90da8234e1976b7db2096d1f Author: Jani Launonen Date: Wed Sep 30 15:02:46 2020 +0300 Runtime, testing: Remove support for V1 bitmaps Removed support for V1 bitmaps, converted needed test bitmaps to V3 format and updated CRCs. Task-number: QSR-799 Change-Id: Ib2a019c593ce98e9d273abb8029eadbd41cad46d Reviewed-by: Teemu Holappa commit 40bdf3bc191167c3b00a6acd919bce44fed8d1c3 Author: Teemu Holappa Date: Mon Sep 28 08:18:05 2020 +0300 Remove unused function Change-Id: I9cf66197237915415a21a380a8db2a3e9d0dc58e Reviewed-by: Jani Launonen commit 5b066bb8bbb33ee0575732c9b03fb427130e6fdb Author: Tarja Sundqvist Date: Thu Sep 24 17:19:09 2020 +0300 Doc: Fix broken links and doc build warnings Some broken links were fixed. Also, documentation build warnings were fixed. Note: the namespaces were defined in two different places. I removed the duplicate documentation. Change-Id: I18f7d16423e41dc60713369657460bb089f386c7 Reviewed-by: Jani Launonen commit 23e6865d0f46332125fb0b21c0fb082290b88606 Author: Teemu Holappa Date: Tue Sep 22 10:54:54 2020 +0300 Add animation timer to the QNX event handler Change-Id: I58023c2323283cc4bd39ef2c544e24dc05f64463 Reviewed-by: Jani Launonen commit 3709a61cda7fef375763b4f852308fd82906080c Author: Teemu Holappa Date: Tue Sep 22 19:58:40 2020 +0300 Fix the animation blinking issues in QNX Task-number: QSR-809 Change-Id: Ifcdfc05ebfc34d6e9cde963c6f71eb7da334a83f Reviewed-by: Jani Launonen commit 2ff37f06b131f9ff26365276e438a53ba1e3b4fb Author: Teemu Holappa Date: Tue Sep 22 14:05:33 2020 +0300 Fix compiler errors with MSVC 2015 Change-Id: I6c94eff83fd38f29949c9df86821bce0b6d7a359 Reviewed-by: Jani Launonen commit 5fd04e980ad053cc98bfc3986ab61a7b6e77f996 Author: Teemu Holappa Date: Mon Sep 21 20:55:28 2020 +0300 Fix compile error with MSVC 2015 Change-Id: I478325584d97acdf4c38c14f3f1230b9c98edf58 Reviewed-by: Jani Launonen commit e1caaa51198e42099f8fd8b87926b62fd7ee696e Author: Teemu Holappa Date: Mon Sep 21 08:56:19 2020 +0300 Fix compile error with MSVC 2015 compiler Change-Id: I044c5160ee3f24e6b84b3b057540de4f66e54e77 Reviewed-by: Toni Saario commit c54cda5b7478948eea7689c757a68d389f3fa778 Author: Jani Launonen Date: Tue Sep 15 15:53:53 2020 +0300 Runtime: document BYTE_MUL and blit algorithms online Documented BYTE_MUL and the blit algorithms online in the code. Task-number: QSR-765 Change-Id: I1943566b4b649bbcece2c0999769ad90c00ed558 Reviewed-by: Teemu Holappa commit d8ab80c6fddb80c3ae5c2bfa2ea6128298435200 Author: Teemu Holappa Date: Wed Jul 8 13:26:36 2020 +0300 Add support for changing color using QtQuick State Color transitions are not handled currently, but color change is supported without transition. Task-number: QSR-306 Change-Id: I31a7def8e52f951e17fca72ce6c2516b64ec63c9 Reviewed-by: Jani Launonen commit c161123757c715ba69ce66a2d5416263b98ada7e Author: Teemu Holappa Date: Tue Jun 23 16:44:26 2020 +0300 Add support for opacity and scale property changes for TimeLine animation Existing implementation for the Timeline animation did not support that several properties can be changed in the same animation sequence. Task-number: QSR-727 Change-Id: I2b836ee55af6d36a938afddc13b49820940f2d15 Reviewed-by: Jani Launonen commit 52c877a103cfed7cc525840b8b974369436eb499 Author: Teemu Holappa Date: Wed Jul 15 10:36:47 2020 +0300 Add config flag to build QSR without file access In certain use cases (say MCU) there might not be file access. Added config flag to pri file to exclude the file system related files in build. Change-Id: I2fc52282ee9a9f6662a3c6cb9147dd77fcd2b0e7 Reviewed-by: Jani Launonen commit c0583763d000157e6023662f2b2791e7cca95334 Author: Teemu Holappa Date: Mon Jul 13 16:46:22 2020 +0300 Refactor memory management Moved aligned memory pool allocator from QSafeBitmapBuffer to the own entity. Changed font reader to use the same allocator function. The function header is defined in C-style so that it could be included from the C-code. This is needed in iMX8 M4 to override the allocator function. Change-Id: Ib0d85a20156a9c0120e4dae09683bab248f19625 Reviewed-by: Jani Launonen commit 44fe2187fab025d4c06edd6330b0586b83aca3d3 Author: Teemu Holappa Date: Mon Aug 24 13:48:39 2020 +0300 Fix memory access issue in QSafeFontResourceBuffer Array size calculation is calculated wrong using the sizeof method. This may cause segfault. Change-Id: I3fe352e95d317017b8c55c0638f94f8ac2c90b13 Reviewed-by: Jani Launonen commit 56610cd94e134a35defb0618a79718eb4f919a74 Author: Teemu Holappa Date: Mon Jun 15 09:40:34 2020 +0300 Refactor readUInt function into the one class The same method for bytearray reading was declared in several classes. Create a new class QSafeByteArray which holds the data array and provides methods for reading integer values from the data. Task-number: QSR-659 Change-Id: I1ede1f91e64cdad88962632d5b28c46d38f1bace Reviewed-by: Jani Launonen commit ca77afe02a6625ad2a5aed9002631319ff946f7e Author: Tarja Sundqvist Date: Mon Aug 10 13:58:16 2020 +0300 Doc: Fix language style issues in QSR C++ API Task-number: QSR-679 Change-Id: I3ef781e91c2a1ecc8e16a98b78cb789e0937a1cf Reviewed-by: Teemu Holappa commit c8a8364540f67c9d17e4468fae59966560358b34 Author: Tarja Sundqvist Date: Fri Aug 7 15:43:13 2020 +0300 Doc: Fix minor language style issues in QSR C++ API documentation Task-number: QSR-679 Change-Id: I872f5f9c33b14b1acf316a9fae38c3c8766df577 Reviewed-by: Jani Launonen commit 24cafb419f3dac6564c673b6ed659581db11f8a6 Author: Jani Launonen Date: Mon Jun 15 16:42:32 2020 +0300 Test, Runtime: Fix rendering with global alpha Fixed rendering with global alpha from opacity animation and added a test case to integration testing for visual opacity test. Opacity test needed fuzzy comparison of pixels as different platforms might have one bit differences in pixels in corner cases. Task-number: QSR-306 Change-Id: I06fbdb6db0ea1428443209f55ad463ebc3469540 Reviewed-by: Teemu Holappa commit 971b8f55c1b5941823dac0cab63ee8aa0e05767c Author: Tarja Sundqvist Date: Thu Aug 6 15:59:14 2020 +0300 Doc: Fix language style issues in QSR API documentation Task-number: QSR-679 Change-Id: I9128a11fd243c29f42d4a09630aa76e77ae7d5de Reviewed-by: Teemu Holappa commit f895a41751c2de69fa6d81db7a46a6203ab38f7a Author: Tarja Sundqvist Date: Mon Aug 3 15:18:14 2020 +0300 Doc: fix compile warnings from the documentation build Some API changes caused compiler warnings to the doc build. Also, some minor missing API documentation added. Task-number: QSR-679 Change-Id: Ib9b661817d2edf0a7fc0a9f7275f2aeccbcf0e72 Reviewed-by: Jani Launonen commit d412767a4ec455c53ee225a48a1ef3ecd0a5b35e Author: Tarja Sundqvist Date: Thu Jul 9 14:02:33 2020 +0300 Doc: Add default values to Constraints documentation Task-number: QSR-652 Change-Id: Ib9f045e83dae16f48376f147510409edd5bcaf62 Reviewed-by: Teemu Holappa commit 8f0b706609dfe2e189d54f1543484eab24230703 Author: Teemu Holappa Date: Wed May 13 15:41:28 2020 +0300 Cleanup the ugly memcpy casts from the QSafeLayout Change-Id: I1780106baebbb62193dd01c66d137935d1bfa80b Reviewed-by: Jani Launonen commit 5005a51a39cb99d38c059e9953430c69cb29db5f Author: Teemu Holappa Date: Thu Jun 4 09:27:25 2020 +0300 Fix MISRA deviations Fixed and suppressed Polyspace MISRA warnings. Task-number: QSR-659 Change-Id: Id0c29726a421e400d0a0ad6b6e257abd8d9eb1c2 Reviewed-by: Jani Launonen commit 98dee3cf9ccc8ba45223acbe76c3f38ca3793e84 Author: Teemu Holappa Date: Mon May 11 18:11:18 2020 +0300 Replace LayoutDataBuffer struct with byteArray Removed LayoutDataBuffer struct and moved text layout reading to the own classes similar as the other layout items (bitmap, states). Change-Id: I90c0fd26a845e54656c95a8a0f659fa6ebd4a0e9 Reviewed-by: Jani Launonen commit ad4d37b156f0064f6db39296daa260c946b9a74e Author: Jani Launonen Date: Thu Jun 4 12:55:12 2020 +0300 Runtime, examples, tests: Change setTextColor() to setColor() Changed events and internal API so that setTextColor() is renamed to setColor and similarly the events. tst_qsaferenderer now checks for thrown exception if a color is set to an unknown object. test.py changed to reflect this fact. Task-number: QSR-668 Change-Id: I79d9cb8c4045db763c4631f52c72cef286f45043 Reviewed-by: Teemu Holappa commit 7c24efeb3f39cd29c52d0463ce0dbca70a547f8b Author: Jani Launonen Date: Fri May 29 10:48:51 2020 +0300 Runtime & Testing: Fix pixel colorization Both runtime and testing had problems concerning colorization implementation, like test not setting parameters correctly and doDrawCompressedBitmap didn't check the isImmutable flag from the bitmap, corrupted test bitmap. Task-number: QSR-306 Change-Id: Ie1ba16369b409f5f281831909a66fd82a0706008 Reviewed-by: Teemu Holappa commit 540d80a761587a6e8258c6aa86272eadc56d61b5 Author: Teemu Holappa Date: Fri May 8 15:26:11 2020 +0300 Fix naming conventions to satisfy the MISRA tool Task-number: QSR-659 Change-Id: I5abec85e3fcb00a9a4911a1b4c19516bc4cd9af5 Reviewed-by: Jani Launonen commit 9f2a791c902eb262b8b9511c7f1992b8a8e7a87f Author: Jani Launonen Date: Tue May 12 12:10:56 2020 +0300 Runtime & tests: Add check for one dimensional bitmaps Check added against 0 width or height bitmaps to QSafeBitmapReader so that such malformed bitmaps are caught during load time. An SizeError exception is thrown if either dimension is 0. Task-number: QSR-660 Change-Id: I39a0aeaa31eeb0a3e500e03c2a0d45f028e821f7 Reviewed-by: Kari Hormi Reviewed-by: Teemu Holappa commit 11843e0c905ec52125efd5845a86bc6299548466 Author: Teemu Holappa Date: Thu May 7 11:40:30 2020 +0300 Create unit tests for the StateManager::StateMap class Change-Id: Ief7793e057a9bb7ffd56ee880c1b9b130e45b009 Reviewed-by: Jani Launonen commit 7e80607adbc84684f1bae384d750fca3b6db8d02 Author: Jani Launonen Date: Fri May 8 12:14:56 2020 +0300 Runtime: Check bitmap crc in QSafeLayoutResourceReader For completenes sake, now QSafeLayoutResourceReader checks bitmap CRC for corruption similarly as in QSafeLayoutFileReader does. It could be argued that if resources are corrupted then binary, which it is included in is corrupted too and should be detected by the program loader. Still it is better to be safe than sorry. Task-number: QSR-622 Change-Id: I5701397189b3b3271ec2ca94bbc8e1244dc62cb7 Reviewed-by: Teemu Holappa commit 1835788c6172b1741a0531836ab3a2b7806b3b03 Author: Jani Launonen Date: Thu May 7 11:18:25 2020 +0300 Runtime: MISRA fixes Some low hanging MISRA C++ 2008 fixes stumbled up. Change-Id: Ib494e620622a67a0236f58f1d9327e24d370707f Reviewed-by: Teemu Holappa commit 1a6bef3cd9136de52074984642e0a1461eac7905 Author: Teemu Holappa Date: Mon May 4 08:27:17 2020 +0300 Add test case for QSafeStateResourceReader Removed exception which cannot be reached in QSafeStateResourceReader. QSafeResource class throws FailureToOpen if the data is NULL. Change-Id: I714c1e361a292692ca95982d82168dd2fdd325c2 Reviewed-by: Jani Launonen commit b86eb956e4e0923f87a179f591598685d309bcb0 Author: Teemu Holappa Date: Mon Jan 20 15:27:33 2020 +0200 Add API documentation for the animation classes Change-Id: I72b1b464b4812d08caa5dd9428b9860da92ab83e Reviewed-by: Jani Launonen commit a3afe68f03c81a3d50893a467d91a6e7c204431a Author: Teemu Holappa Date: Fri Jan 31 12:10:08 2020 +0200 Add support for scaling animation Change-Id: I49a74d698b9ad5edff1b96f066e259a23a02cdf0 Reviewed-by: Jani Launonen commit b6da70208761f8351b9159e0891e36d4b7ee16cc Author: Teemu Holappa Date: Thu Apr 2 11:08:58 2020 +0300 Add an exception for when the requested resource is not available Task-number: QSR-328 Change-Id: Ie749c00f1aa11f78783026d34b502517b79419bc Reviewed-by: Jani Launonen commit 4eaf032e8a7fbd8053239561b753f431d5edde8c Author: Jani Launonen Date: Fri Mar 27 16:39:22 2020 +0200 Runtime: Colorize mutable bitmaps Added support for colorizing mutable bitmaps during runtime when the color is changed in layout. Task-number: QSR-306 Change-Id: I7499e5f79068055deb24ae4bd393dd2909add2ef Reviewed-by: Teemu Holappa commit d4e47e671f4c21c901ca3cda7025331490ed2137 Author: Jani Launonen Date: Wed Mar 25 17:43:20 2020 +0200 Runtime: support loading V3 bitmaps The V3 bitmaps with new immutability flag and color field can now be loaded. The flag is not yet acted upon, but the infrastructure is now in place to start implement the runtime coloring for QSafePictures. Task-number: QSR-306 Change-Id: I137e69056c4d1dcffd02539bbe9990efbaf32626 Reviewed-by: Teemu Holappa commit 998b3b224e2e446acbcf618bcbf8e3851082e747 Author: Jani Launonen Date: Wed Mar 18 15:17:52 2020 +0200 Add immutable flag to SafeImage and prerendering color to bitmaps To differentiate between SafeImage and SafePicture a flag is set to bitmap file header to indicate immutable (SafeImage) and mutable (SafePicture) bitmaps during bitmap generation in the tooling side. Color used to prerender the SafePicture is written to bitmap header. For the SafeImage the color is written, but is considered "don't care". The reason for prerender color for SafePicture is that we need to render the SafePicture again only if it has color changed from the original. Task-number: QSR-306 Change-Id: Ie56611b1a3961d345ea3f4a85e3702aae1370d55 Reviewed-by: Teemu Holappa commit ee61097663aec165302fad42fcd2cd0b0ef86cf4 Author: Tuomas Heimonen Date: Wed Apr 1 15:32:25 2020 +0300 Change comments to ASCII Change-Id: I4f115caa874eabf6a4299e469498aab4ff230aa5 Reviewed-by: Teemu Holappa commit 544607a86f3dfc8b0b4ed695773a3c755ba753bf Author: Tuomas Heimonen Date: Wed Apr 1 15:48:30 2020 +0300 Add missing comments to manually checked Misra violations Change-Id: I80f4ca72beeacf9d5af38cb8ee16bc44709e6ec6 Reviewed-by: Teemu Holappa commit 251f757433f75a71d6dc9d87eaaa72c5e1c8b9f1 Author: Jani Launonen Date: Fri Mar 13 16:32:57 2020 +0200 Change image format from ARGB32 to ARGB32_Premultiplied To ensure that SafePictures, SafeImages and SafeText are rendered correctly on embedded graphical backends (i.e. DRM and QNX Screen) the format was changed to premultiplied format so that the alpha and RGB values are already in correct proportion. Task-number: QSR-634 Change-Id: I36fd9bcea02008db1c6e85fdb5b0f1ce547e394d Reviewed-by: Teemu Holappa commit 2717cee769dc185bdf9988f4b2fa14014cd375a2 Author: Teemu Holappa Date: Wed Mar 11 14:56:12 2020 +0200 Fix deprecated-copy compile error QSafeFileInfo class Change-Id: I77c445af04604e2197a1da9e88ea0af0376716e7 Reviewed-by: Jani Launonen commit c9a37cd5e2db61a5e68578f3fe59aaedb17a4983 Author: Teemu Holappa Date: Wed Mar 11 09:22:57 2020 +0200 Add unit test case for the opacity animation Added test case and fixed findings in advance animations function. Change-Id: Ia9413c28d0c7c79a5b3bfbc7e22531c203d742cb Reviewed-by: Jani Launonen commit 240c9ddfcdfbeafd983e88ce812245f52d9de8de Author: Teemu Holappa Date: Fri Feb 14 15:15:25 2020 +0200 Add QSafeFileInfo class Change-Id: If7589d74cc92e2b0f978649b3638dc656595713e Reviewed-by: Jani Launonen commit 43465214b1de90beb822d21243ed8c23744db519 Author: Jani Launonen Date: Wed Mar 4 18:08:22 2020 +0200 Runtime: Double blit 16-bit pixels when possible Optimize blitting of 16-bit pixels by combining two pixels to 32-bit double pixel and aligning the writes to 32-bit boundary by a loop prologue. The odd tail can be handled by an epilogue. Task-number: QSR-614 Change-Id: I5e05bb3cdd92fd6b08779234a99c3a572633e382 Reviewed-by: Kari Oikarinen Reviewed-by: Teemu Holappa commit aba6db911f6b8a4fe7cdd582ba5dece06dd81f05 Author: Teemu Holappa Date: Fri Feb 14 13:29:54 2020 +0200 Add the QSafeString class Change-Id: I072f48661596e569e4de82ca1e83d58397354e14 Reviewed-by: Jani Launonen commit a2957b5076e950ce15daeb49b4c7983a834383aa Author: Jani Launonen Date: Wed Feb 12 14:24:31 2020 +0200 Make RCC data array 32 byte aligned The bitmaps in resources are read directly during blitting and so for performance reasong should be aligned to at least 4 bytes. MISRA C++ 2008 is based on ISO C++ 2003 standard and does not support alignas() directive, but is nonetheless generated by the RCC now in safe mode. The safe mode is activated by a switch '--safety' and it disables compression. The resulting _data_ is aligned externally to 32 byte boundary and internally the different files are padded so that all subdata starts on 4 byte boundary. RCC version number is now unsigned int with --safety switch as there's no reason for negative version number and it is suffixed with 'U' as other unsigned integers in data. The namespace used with --safety is QSafeRenderer. Task-number: QSR-570 Change-Id: I580bf768de8f6979af0f0e7619b5de5f09bd3df8 Reviewed-by: Teemu Holappa commit 1829ed98e09f8722047f0d5f5aa7ab86ae50843f Author: Teemu Holappa Date: Wed Feb 12 15:18:23 2020 +0200 Add support for opacity animation Change-Id: I5fc803675c5b558cff471107f4535037d5bdd701 Reviewed-by: Jani Launonen commit f97102f0b85bc3429ba4d89913b2344880f7df85 Author: Tuomas Heimonen Date: Mon Feb 17 11:49:51 2020 +0200 License header update Bumb copyright year to 2020 Update licensing URL Task-number: QSR-618 Change-Id: I7b23adfb6aa02862c83a31d6c6a0e293acc1bff9 Reviewed-by: Jani Launonen commit 5cf56a9d5e9a08cca081943de9a15bc7a7058597 Author: Teemu Holappa Date: Mon Feb 17 09:12:25 2020 +0200 Fix typo Change-Id: I50f48bf4dee38ca8e36bc5c174dc570b68c98c28 Reviewed-by: Jani Launonen commit 9213920c04ddfcf10941f625dd0da376ccfe3d1f Author: Teemu Holappa Date: Wed Feb 12 18:44:24 2020 +0200 Add API to change the alpha value of an item Change-Id: I62118eaa7f6bd8f89e27f012f6aaf42cb60d21d3 Reviewed-by: Jani Launonen commit 57494443516195958c318112831eea460370d0e7 Author: Teemu Holappa Date: Wed Feb 12 13:40:30 2020 +0200 Add support for multiple simultaneous animatios per state There can be several transitions ongoing per state same time (e.g. x and y). Changed behavior so that clear and draw is called only once per target in advance animations. Change-Id: I34547d2a8ee0b2c8f9d373535145810680d7a034 Reviewed-by: Jani Launonen commit bc7702b955ffbc4256978b3916b000f4b1afdd34 Author: Teemu Holappa Date: Thu Feb 13 14:55:32 2020 +0200 Fix layout indexing on layout loading Index should not be increased in case of state transition file. Change-Id: Id4f71cab4ea388799755e6535fb0fb94eb6b452b Reviewed-by: Jani Launonen commit 2f6d350651c9bc6317df672bf3096085babfbaab Author: Jani Launonen Date: Wed Feb 12 16:17:11 2020 +0200 Improve performance of uncompressed bitmap blitting Amortize pixel conversion over repeating pixels so that the pixel is converted just once and then just blitted as long as it repeats. One could count the repeating pixels and then call blitConvertedRepeatedly(), but it would make logic complicated. As uncompressed bitmaps are used now only because glyphs aren't compressed yet, the effort might not be worth now. Task-number: QSR-535 Change-Id: I74eef181fd81ff6518051430ed052c11f2cef033 Reviewed-by: Teemu Holappa commit 71f630e9d296e4d106a78126e9ee67211a40003c Author: Teemu Holappa Date: Wed Feb 12 13:08:40 2020 +0200 Add missing set count in state loader Change-Id: I4715f107be25344c0723ceb0b4e196d9c8794928 Reviewed-by: Jani Launonen commit 4afc7cb2dbe8ead019866f63ac8e440dc230ebc0 Author: Teemu Holappa Date: Wed Feb 12 09:14:57 2020 +0200 Fix default case handling in state loader Change-Id: Ie9648612e0967523a810d51c79f96f28a85141cc Reviewed-by: Jani Launonen commit 21f0c274c9b496771f2b075e4e9eabe9fc2ace5b Author: Jani Launonen Date: Wed Feb 5 16:09:30 2020 +0200 Replace calls to putPixel() with *blit* functions Replaced calls to putPixel() in clear(), doClearBitmap() and doDrawBitmap() with convertAndBlit() and blitConvertedRepeatedly() functions for performance reasons. This removed unaligned accesses and some overheads when converting similar pixel multiple times. convertAndBlit() now expects input pixel to be in native endianness (i.e. read by qFromBigEndian()) and it returns a pixel in native endianness that is accepted in blitConvertedRepeatedly(). Test data for testSafeRendererDoDrawCompressedBitmap() changed too to a more representative example. Task-number: QSR-535 Change-Id: I22cb3532e28fde83f97bc3ce31377216bc986ed4 Reviewed-by: Teemu Holappa commit b94ddfd9faf67b9d05cfc2a4450734323dd4e713 Author: Teemu Holappa Date: Mon Dec 9 15:47:11 2019 +0200 Fix valgrind warnings in QSafeTextLayout Change-Id: I17760524899e8e1b7d34099b7267225c0663d5ca Reviewed-by: Jani Launonen commit 7c9f2d3aa0ab234b242f767c71e4f8ecc22a50aa Author: Teemu Holappa Date: Thu Dec 12 16:52:14 2019 +0200 Improve test coverage in stateloader class Change-Id: I9e663ea3058f89a388f5929960a264cbf245211b Reviewed-by: Jani Launonen commit d9b97958e5fa3ae6ea160be7f5925bd17a80290a Author: Jani Launonen Date: Thu Jan 30 13:45:23 2020 +0200 Rename RGB565 surface format to RGB565_LE As with RGBA8888_LE format, now RGB565 have been renamed to RGB565_LE to reflect the byte order in framebuffer's physical memory. Task-number: QSR-612 Change-Id: Iacd7f9f13ef48aa06c023eea23626c7da4e84671 Reviewed-by: Teemu Holappa commit 7d46960f7699afe923b652179bb91684253d103e Author: Jani Launonen Date: Tue Feb 4 11:13:10 2020 +0200 Remove blending support Removed blending support as currently it is not required and we do not support it in compressed case, so there were two paths unnecessarily. Later, if blending is required, a new version could be implemented. Task-number: QSR-535 Change-Id: Icd7290591aa73239cf6d5fde1aa63bf71e6e5971 Reviewed-by: Teemu Holappa commit adf6a0dddd935f4fe3246ad771689eebefe3b6e8 Author: Jani Launonen Date: Mon Jan 13 16:13:50 2020 +0200 Fix blitting for both endianness As the bitmaps are in big-endian format in memory, converting them correctly in both endianness required some changes to conversion algorithm. Now the big-endian word (that can be also escape+count or pixel) is read to a native endianness and conversion is done in native endianness and written to memory in big-endian byte order, except for RGB565, that had endianness format change baked in. Task-number: QSR-574 Change-Id: Id81c0b94984ceaf0025b7b56a47dc66e5f6a6f3d Reviewed-by: Teemu Holappa commit 74b33916f967ccc647cafdc7067ceb9aa1f6319f Author: Jani Launonen Date: Tue Jan 14 11:41:01 2020 +0200 Rename blit() functions Renamed blit() functions in QSafeRenderer as their names were the same even if their semantics were different. Now their names have resonance with their functionality. Task-number: QSR-524 Change-Id: Ieee9ccb062c7195d828ba94a1700180bf1997a5f Reviewed-by: Teemu Holappa commit 608c38d710b001c3c08aba24998b3dde77c07145 Author: Jani Launonen Date: Wed Jan 15 13:04:05 2020 +0200 Move runtime and tooling shared defines to shareddef.h Moved some leftover defines from QSafeBitmapReader.h to shareddef.h Task-number: QSR-588 Change-Id: I09337badcc49f7d4370bd8eb214821a577f7be8d Reviewed-by: Teemu Holappa commit 15e225144993596bf57ca09df8f567497b22f0db Author: Tuomas Heimonen Date: Fri Nov 22 12:10:02 2019 +0200 safercc: Update namespace to 'Saferenderer' Task-number: QSR-589 Change-Id: Ibd179dcf895fd267ed6b9e620ec5cb3ad7634785 Reviewed-by: Teemu Holappa commit fa0ee4d5cfc468807a3fbde57c95e4929dec7e8f Author: Jani Launonen Date: Mon Nov 4 12:04:13 2019 +0200 Add support for compressed bitmap files with tests Added support to load a compressed bitmap files with new file format and decode it while rendering it to a framebuffer. QSafeBitmap.h has new fields and methods to set and get escapeMark and a flag indicating whether the bitmap is compressed. QSafeBitmapBuffer now returns 32-bit word aligned pointers to speed up decoding during runtime. QSafeBitmapReader.h now has some common definitions related to a new file format supporting compressed bitmaps. A new source file, QSafeBitmapReader.cpp has now common bitmap header validation and reading routines refactored from both QSafeBitmapFileReader and QSafeBitmapResourceReader classes. It now detects a new file format supporting compressed bitmaps, namely extended header tag and escapeMark field. QSafeBitmapReader now has common exceptions for both File and Resource readers, which is reflected in test cases. Test cases could be redundant after this, but that is not all that bad. QSafeRenderer now has logic to select compressed or non-compressed bitmap during runtime and selecting doDrawComrpessedBitmap() or doDrawBitmap() respectively. Also some additional check for alignment is done during construction Task-number: QSR-524 Change-Id: Ic0c81209742ed9a6d22a66d8c02d43b295a54998 Reviewed-by: Teemu Holappa commit adc19f251206a7bf2bcf27b94e5494d05cdc4e2c Author: Tuomas Heimonen Date: Mon Dec 16 09:52:25 2019 +0200 Remove unnecessary setCount method Change-Id: I35be7bb217f229bb4e83a1dd14b992ddec316fb2 Reviewed-by: Jani Launonen commit 7479d217fd6ba60772e5ea4c8b37ff3dedebbf91 Author: Teemu Holappa Date: Wed Nov 13 11:30:10 2019 +0200 Add support for the XYAnimation Change-Id: I6c2a657f13a58ec8df6d8c922891a7ab8c4047ca Reviewed-by: Jani Launonen commit 83848328e7dcd5970aec0f6e22d20fea9fbe3988 Author: Jani Launonen Date: Wed Nov 20 19:12:19 2019 +0200 Minor cleanup Fixed wrong define name in shareddef.h from QSAFESTATESFILETAGS_H to SHAREDDEF_H Task-number: QSR-524 Change-Id: Icd7c5e7d6549c090be9e6e908930240c5a25ed53 Reviewed-by: Teemu Holappa Reviewed-by: Tuomas Heimonen commit 3ac3cb48be616e9dd945e936b5527256298200d2 Author: Jani Launonen Date: Thu Nov 21 17:39:11 2019 +0200 Remove not needed function QSafeFile::readInteger() QSafeFile::readInteger() function was not needed any more so it was removed. Task-number: QSR-524 Change-Id: Ia9d98ed777498cc325c2f03e0cb03fac490a7517 Reviewed-by: Teemu Holappa Reviewed-by: Tuomas Heimonen commit 34ebecacdc63cb1622f32ae26427e4ed9e521107 Author: Teemu Holappa Date: Tue Nov 12 13:06:47 2019 +0200 Add common header for sharing datatypes between runtime and tooling Change-Id: I63d84e7fe4efaeec796e1706f471773b29ae3fc2 Reviewed-by: Jani Launonen commit 273f2a5b33e801bd6dccc99132d03a7e9df9dfb8 Author: Teemu Holappa Date: Tue Nov 12 15:25:43 2019 +0200 Fix crc checking of the text layout file Task-number: QSR-586 Change-Id: I8879f81b3c48effddbd6f71dfd17105d82b1eb1e Reviewed-by: Jani Launonen commit 0ceae9a8c8807f0d9aac013c7043bf3c72aba8dd Author: Samuli Piippo Date: Wed Nov 13 08:53:32 2019 +0200 Remove superfluous header installation The headers are already installed from using the qt_module, second installation can lead to build breaks. Task-number: QSR-568 Change-Id: Ia93a038d34882372500b4863181dacf97be9b07d Reviewed-by: Teemu Holappa commit 7e1c823c60a49c1acada5e125bacc10cf554b9c1 Author: Jani Launonen Date: Tue Nov 12 17:46:54 2019 +0200 Remove unnecessary static_casts There were few unnecessary static_casts that were removed from qsaferenderer.cpp Fixes-bug: QSR-587 Change-Id: I91a5478ce37d6483bf4f7bec4df13cfb3e9fe9af Reviewed-by: Teemu Holappa commit f1dda679d39d67d6e0ad3075a0115a365958029d Author: Jani Launonen Date: Tue Oct 29 10:42:28 2019 +0200 Fix over allocation in QSafeBitmapFileReader::loadImageData() QSafeBitmapBuffer::reserveBitmapBuffer() was expecting a 32-bit word size parameter, but loadImageData() provides bytes. It was fixed by using number of bytes as argument and fixed the allocation at QSafeTextLayout.cpp::drawGlyph() to be in bytes. Task-number: QSR-566 Change-Id: I0ef4829921bcca09bbfd2d8bbe26d04a3222c2c7 Reviewed-by: Teemu Holappa commit a4246ff055ebed215bfbe905b83508c384289d57 Merge: 5352c09 6e3acb4 Author: Tuomas Heimonen Date: Wed Oct 16 12:32:12 2019 +0300 Merge branch '1.1' Task-number: QSR-503 Change-Id: I2dcd3084e709d604827ba65954fd318d3ecd1d32 commit 5112858f8f1cc38ba1a330bb97ec34579e581a1e Merge: 19e924b 76e19ec Author: Teemu Holappa Date: Fri Sep 13 14:40:45 2019 +0300 Merge branch '1.1' into master Change-Id: I10cd88e79bd48785d446a377b8021ea8ca19b32c commit 90ef9f43390281ad3a798aaf7c36d577e6cb83c6 Author: Topi Reinio Date: Wed Aug 21 09:57:33 2019 +0200 Fix the documentation build on Qt 5.13 QDoc since 5.11 uses Clang to parse C++ source, and requires that the build system passes the correct include paths to QDoc. To do this, convert saferenderer/doc into a sub-project that depends on Qt Core as well as Qt SafeRenderer. Also, fix the remaining doc warnings: Missing namespace qualifiers, and documented, public virtual functions who override methods that were set \internal. Task-number: QSR-476 Change-Id: Iea12f13606ca7b766a26218552a21caf2be2da98 Reviewed-by: Tuomas Heimonen commit e8ad916542267a4ba57d430e5bbbe63511c1d5ed Author: Tuomas Heimonen Date: Tue Mar 19 15:48:47 2019 +0200 Doc: Remove warnings Remove warnings from html_docs build Remove unused file qtsafemessageinterface.qdoc Change-Id: Ic5e047dbaaed826262d09c5e6b326993dfaa4790 Reviewed-by: Teemu Holappa commit d2c475851cb4a6cd702b48e95cf8c1ac78bcb8de Author: Teemu Holappa Date: Tue Feb 19 09:42:40 2019 +0200 Fix INTEGRITY message plugin imports Change-Id: If4a2d620dc34e21e4ae818180437377b0d040456 Reviewed-by: Jani Launonen commit b783892733dba7443df31a8ba990d7376ddc878f Author: Teemu Holappa Date: Mon Feb 4 15:05:30 2019 +0200 Add support for alpha blending Change-Id: I757bc9a19f3f8f78f02a816ed6150c704238d394 Reviewed-by: Jani Launonen commit fd25d0bee7593c2922663960bc240df501f69876 Author: Teemu Holappa Date: Wed Jan 30 15:56:24 2019 +0200 Add size to the LayoutData Currently the size data is stored to the bitmap data. Changed positionForItem function to getLayoutItem. Change-Id: I81c486b4346bf06bc2e55c6f9f745bc4fa1389ca Reviewed-by: Jani Launonen commit 4904489d9a4bf7033c43bf185515f5ebe73a5d54 Author: Teemu Holappa Date: Mon Jan 28 15:01:41 2019 +0200 Fix QSafeEvent:add functionality I was possible to add only 127 bytes of data to QSafeEvent. Change-Id: Icbe11c0f7455538d3e8ae18f6fd383d29c828ad1 Reviewed-by: Tuomas Heimonen commit fcc697278863600c1986a581571cdce4dad21082 Author: Tuomas Heimonen Date: Thu Jan 17 13:34:26 2019 +0200 Bump Copyright year to 2019 Change-Id: I2efc511da8323b31e0941411c7df068f3ad2718a Reviewed-by: Jani Launonen commit aca38f178530b2d239ba3b51fe6feafb9e7f4846 Author: Tuomas Heimonen Date: Wed Jan 9 15:35:08 2019 +0200 Documentation update to support Qt 5.12 Make doc as part of the saferenderer subproject, which will give correct include paths to Clang C++ parser used in QDoc. Add a custom module header that pulls in also the private header file(s) needed in the documentation build. Also: - Fix \fn command usage, remove \fn and \inmodule commands that are unnecessary. - Remove \since commands for class members that match the version of the class. - Do some light language editing. Change-Id: I8b28cd47ab270a087d57eaf34cc6107d931d6373 Reviewed-by: Teemu Holappa