-
Halla Rempt authored
This is a squashed commit of the following: commit fd43060a9999ffbe12f920137bbb90d0e0effb8a Merge: d52a1c3 b32e3dd Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat May 5 16:27:36 2012 +0200 Merge branch 'master' into iterators commit d52a1c31d8ce83bdd5ff6ce22905794ba82022cc Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat May 5 16:23:24 2012 +0200 Fix transform worker Transform at 135 degrees works now. BUG:298901 commit 9b1f33439970b1bb264a523e24d040de85e1a9d4 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Apr 29 11:13:50 2012 +0200 Fix painting on masks BUG:298988 commit a6bbd6340a0550ee3111735d7738a42b52eced67 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat Apr 28 15:40:52 2012 +0200 Remove obsolete files commit 0b0dbbf31d44d254cbf81edcd65f2285f680cf68 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat Apr 28 11:42:19 2012 +0200 Repair the perspective transform worker BUG:298901 commit e2c25d8bfa53d79d2c83fa1153c73c7f7bbfaba4 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu Apr 26 18:12:28 2012 +0200 CLRSPC_UNSPECIFIED is newer than the minimum jp2 lib we use. commit 056d2f89e839bd72b9ca50ae8cabb8eeec80257d Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu Apr 26 12:24:45 2012 +0200 Remove the old iterator and accessor code commit d41d496d07ab6d30fc65756d8ccff7255476f492 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu Apr 26 12:14:45 2012 +0200 Make the selection manager test at least run The assert if it couldn't find the pattern precluded the entire test from running. Of course, parts of the test fail, but it's always been that way and probably not an effect of the iterator removal. commit 53cfb92cea644ab384ac55695bfc64c04908e47f Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu Apr 26 11:32:20 2012 +0200 Fix undo on new layers The const NG iterators don't allow access to the actual current data pointer, but in KisPainter we need that. Do an ugly cast in preference to adding api to expose the raw data. commit 305753f6125e5002bb09dbcd34c3d6b2105e68a3 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu Apr 26 11:16:47 2012 +0200 fix typo == > = commit 6d21d71975862873a2b8c9080d667b7557619f53 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu Apr 26 10:27:07 2012 +0200 fix kisdoct2test after removing the tutorial image commit ccb215f3fe49b7422773932f7de4e9d341d7c18c Author: Boudewijn Rempt <boud@valdyas.org> Date: Wed Apr 25 14:09:04 2012 +0200 Don't iterate if the rect is empty Fixes a crash in KisPixelSelection::invert. commit 3c5acc6686a6abb88448355d88e445370dc894eb Author: Boudewijn Rempt <boud@valdyas.org> Date: Wed Apr 25 14:07:21 2012 +0200 Handle the situation where the ng iterators get an empty stretch Assert in developer mode so we know where to add the check for emptiness before creating the iterator; make the iterator check at least a pixel in release mode. We cannot re-instate the old isDone() api because that would impair performance too much: 13:26:45 < boud> CyrilleB: do you remember why the NG iterators don't have an isDone() check so the loop always checks at least once? (with do {} while (it-NextPixel()) 13:45:34 < CyrilleB> boud: performance 13:46:13 < CyrilleB> boud: especially since in 99.99% of the case, one does have something to iterate over 13:50:34 < boud> aah 13:50:49 < boud> because it's the reason of the crash in KisSelection::invert 13:52:29 < boud> maybe if the rect is empty we should make it have a width/height of one so there's always one pixel read in all cases 13:53:04 < CyrilleB> or rather have an assert if you try to create an iterator with a null width/height 13:53:20 < CyrilleB> (or both, if you want to ensure good behaviour for users) it goes wrong 13:53:35 < CyrilleB> s/good behaviour/non crashing behaviour/ commit 2393ed18b108f4e63c3e445e1fd2b8bfd184f384 Author: José Luis Vergara <pentalis@gmail.com> Date: Tue Apr 24 17:21:06 2012 -0300 Make KisConvolutionWorkerFFT work correctly with the NG iterators o remove the ( ) added previously to *m_channelPtr[k]++ . With them, the color values are not properly saved and the result is all non-Alpha channels go down to 0. o add a comment warning about the dangers of touching that line o remove redundant lines of memcpy that are no longer needed (these lines were part of bug workarounds). commit 525deb3e10c6d5da5a1735b29005ccae9cff3c1c Author: Cyrille Berger <cberger@cberger.net> Date: Sat Apr 21 13:49:37 2012 +0200 Fix convolution (at least for radius <= 2) the repeat iterator were always claiming to not have a next pixel commit 7f4645730af8043365cbe5b47753ebb4bdbf7956 Author: Boudewijn Rempt <boud@valdyas.org> Date: Tue Apr 24 15:05:39 2012 +0200 Fix the spatial convolution worker We need to take the rawData, not the oldRawData and from a non-const NG interator. The spatial convo worker is used if fftw3 isn't present or for small kernels. commit e608dc4f48282d47a48c5f9eb872d255376c743e Author: Boudewijn Rempt <boud@valdyas.org> Date: Tue Apr 24 14:25:49 2012 +0200 Make the KisPixelSelectionTest work I'm not sure why I cannot do // everything deselected selection->clear(); // completely selected selection->invert(); // deselect a certain area selection->clear(QRect(5, 5, 200, 200)); Without getting a crash in invert() now that invert uses the NG iterators. Dmitry, could you take a look when you've got time? CCMAIL:dimula73@gmail.com commit 2b38ec791fbe56c387cbbd9b17c4644636b60fed Author: Boudewijn Rempt <boud@valdyas.org> Date: Tue Apr 24 13:13:53 2012 +0200 Fix floodfill benchmark -- not sure how long it had been broken\! commit a47d05a9dbf04299307e4b0c6f3240e3bcfc9969 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:58:06 2012 +0200 port kis_painter to ng iterators Note that this changes the signature of bitBltImpl: we no longer use a const srcDev and no longer a const iterator; we need to be able to access the rawData as well as the oldRawData, and that is no longer possible with the ng iterators. commit 7bd3626e08461a221cf1295be61824c4dda6ee37 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 11:23:51 2012 +0200 remove deprecated exactbounds method commit 89c06934760b8b66ae420e37a8aa9acd2b8fca25 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 11:23:03 2012 +0200 port kispaintdevice to ng iterators commit 35f17e6ce2d77c2bbd3111fc3542a3fa5c7a4c8a Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:58:50 2012 +0200 port repeat iterators to use ng iterators internally and use them in the convolution filters commit 4266845991aab3d6d7934cb50347177716fe168a Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:58:29 2012 +0200 remove obsolete iterators test commit 183dbda0b6cf6e654763a9c64631e736301a4e04 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:49:18 2012 +0200 port random sub accessor to use ng accessors internally port perspective transform worked to ng iterators use ng iteratorss for the wave filter use ng iterator in duplicate paintop use ng iterator in deform paintop use ng iterator in gridbrush paintop use ng iterators in spray paintop .. commit ffbaae242d75f302ef50747d872ec8bc696f66d1 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:49:47 2012 +0200 warnings--: unused param commit 9aa9ca06b817216ee187d4a4c33167616a9b55e8 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:48:14 2012 +0200 port transform worker to ng iterators commit 8ffb5e2a802d568b0729b6d1f623f0de1939b0db Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:47:53 2012 +0200 port pixel selection to ng iterators commit e953aef7dc8a68ad02627f88c565b15008ba0e01 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:46:06 2012 +0200 warnings--: unused param commit a0f5226f0a7ab7353103a8cc975534da772b3c7b Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:45:51 2012 +0200 port math toolbox to ng iterators commit 1f993f85094a521f6eceb07b6f297b4c75daa432 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:45:34 2012 +0200 port histogram to ng iterators commit 76bb0c1bb7248c2f418418ca0353bddf11edb5d0 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:44:37 2012 +0200 warnings--: unused param commit d78eaa60e907a4d21c756df20d73fefded318875 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:44:21 2012 +0200 port selection to use ng iterator for isSelected() function commit 403851b1024d1a0f0f1b54072bf61ae89e6a67f8 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:43:47 2012 +0200 port fill painter to use ng iterators commit 3b239bd1daa57f9b68ffe689ee71ed1a2729ad19 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:41:43 2012 +0200 export tiles3/hline and vline iterator headers This is unfortunately necessary to make the repeat iterator templates work. commit fcbe8e575888d76e95fb9f8f7b95445d78344c4c Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:41:27 2012 +0200 convert tests to use ng iterators commit 2056f57a510a8e16564318b995261666d69584b7 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:41:12 2012 +0200 remove obsolete rect benchmarks commit 38076f8f0b4b6dab1f6fb150b6414d15fff47d12 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:40:47 2012 +0200 use ng iterators in selection manager to copy a selection commit f6bd4347743e47a5ba8bc9c0b14c28ea3748576e Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:40:24 2012 +0200 use ng iterators in mask manager to convert masks to layers commit 784d2a3db7909478819e8e83943029afd74f43fd Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:39:10 2012 +0200 use ng iterators in png converter commit 83ecc1193869bb6234c1bec05ed0bcf774f5dcbc Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:38:51 2012 +0200 warning--: unused variable commit 68414f798bc242ed80ca1bfb124b930a6e0ac3ef Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:38:32 2012 +0200 warnings--: unused param commit e56930ed7403b2ebccadf1b0d021f9821de94683 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:38:19 2012 +0200 use ng iterators in pyramid downsampling commit 3391d83c7ca45692737e84f4d8146ae8dfac12b2 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:37:58 2012 +0200 use ng iterators in shape selection commit 209200a42c358a14c015455c6ec49e04df6181f3 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:37:29 2012 +0200 convert all benchmarks to use ng iterators commit d0eca3e1aa78d66d1ed662fdcb87e005bf86197a Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:35:57 2012 +0200 use ng iterators in sdk template commit 2ec13164adae26ec4fc2697f350a8b59c028aac4 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:35:29 2012 +0200 use ng iterators in particle paintop commit 47cb8927f64c83bf0c8a3ecfe61137b48072d3f3 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:35:20 2012 +0200 use ng iterators in mypaint paintop commit 6eda45993a9edf15412f204e1473fb6ce114b83a Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:35:13 2012 +0200 use ng iterators in hatching paintop commit 6d064a63bab7187081b1c9d31118b8e052defb4e Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:35:07 2012 +0200 use ng iterators in hairy paintop commit 2d59c8ad547a3dc42c3e2cad74d717bc8a41d7b1 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:34:48 2012 +0200 use ng iterator in filter paintop commit eed4beb9ffc04befe655cce31ce61346f10c3436 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:34:40 2012 +0200 use ng iterator in experiment paintop commit dac1550d54b05c478b2c2fb397d52a9145f99ede Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:34:31 2012 +0200 use ng iterator in dynadraw paintop commit 55edfad0814d9b3cdc9f98ffb65f7cbd06c72387 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:34:06 2012 +0200 use ng iterator in curvebrush paintop commit c435f9d18eca63c853fb9643b0c5e904591040b1 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:33:52 2012 +0200 use ng iterator in colorsmudge paintop commit bfe34023ca9e10eefa4d2ac20b04c9df223cf7da Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:33:44 2012 +0200 use ng iterator in chalk paintop commit 0b275fe84546492b0a59e9f0a28d27244534e7af Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:33:27 2012 +0200 use ng iterators in bidi painting option commit 63b4851a1b7a47a0cee805ed96271002cd66ac09 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:33:12 2012 +0200 use ng iterators in total random color source commit ebbc45139fda46dc135fa0d5e6788f88f2b77fba Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:32:41 2012 +0200 use ng iterator in custom brush widget commit 42f5eccd338f06895e84c9ce3b0d249e8fe88dac Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:31:40 2012 +0200 use ng iterator in brush lib This changes the pointer to old style iterator that was created as a copy of a temporary iterator to a shared pointer to an ng iterator. commit d5e997127c6d162b286f1c7633482b80d54e805a Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:31:00 2012 +0200 remove unused iterator include commit 6dd29318ead0f27127fd0b6b57487b95045ca583 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:30:29 2012 +0200 use ng iterators for separate channels commit 075a86055168e47ecd2f8cf162a0c3a3263f1435 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:30:13 2012 +0200 use ng iterators for drop shadow dialog commit 705012f906ac62b3400dea14caa05cb74f5a8836 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:29:35 2012 +0200 use ng iterators for the colorrange selection dialog commit fa6c031b74989663a6d6a44eb4f9f84834d4c947 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:29:07 2012 +0200 use ng iterators for the selection tools commit f34164abc5aa176b5793e46a5ee0207a8738a7f9 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:28:51 2012 +0200 use ng iteratorss for the colorpicker tool commit 6b6d52d484226fa03df788c2f47f95ff3c4f1db9 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:28:11 2012 +0200 use ng iteratorss for the randompick filter commit 98c33b0013b2b9e1621700f72e9c58765f00cafb Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:27:57 2012 +0200 use ng iteratorss for the oilpaint filter Note the ng iterators need a non-const iterator in MostFrequentColor. commit b0f7e6599ec8eac792011e426b26a15f7bd81997 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:27:48 2012 +0200 use ng iteratorss for the emboss filter commit ae3a5218e6a320d0cbbe67904105e0152a2460cd Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:27:22 2012 +0200 use ng iteratorss for the colors filter commit 32099f6eb02267a328f02f099637bc631189fc79 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:26:52 2012 +0200 use ng iterators for the file filters
acbdf251