-
Halla Rempt authored
This is a squashed commit of the following: commit fd43060a9999ffbe12f920137bbb90d0e0effb8a Merge: d52a1c3 b32e3dd6 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 9b1f3343 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Apr 29 11:13:50 2012 +0200 Fix painting on masks BUG:298988 commit a6bbd634 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat Apr 28 15:40:52 2012 +0200 Remove obsolete files commit 0b0dbbf3 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat Apr 28 11:42:19 2012 +0200 Repair the perspective transform worker BUG:298901 commit e2c25d8b 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 056d2f89 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu Apr 26 12:24:45 2012 +0200 Remove the old iterator and accessor code commit d41d496d 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 53cfb92c 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 305753f6 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu Apr 26 11:16:47 2012 +0200 fix typo == > = commit 6d21d719 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu Apr 26 10:27:07 2012 +0200 fix kisdoct2test after removing the tutorial image commit ccb215f3 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 3c5acc66 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 2393ed18 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 525deb3e 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 7f464573 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 e608dc4f 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 2b38ec79 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 a47d05a9 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 7bd3626e Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 11:23:51 2012 +0200 remove deprecated exactbounds method commit 89c06934 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 11:23:03 2012 +0200 port kispaintdevice to ng iterators commit 35f17e6c 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 42668459 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:58:29 2012 +0200 remove obsolete iterators test commit 183dbda0 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 ffbaae24 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:49:47 2012 +0200 warnings--: unused param commit 9aa9ca06 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:48:14 2012 +0200 port transform worker to ng iterators commit 8ffb5e2a Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:47:53 2012 +0200 port pixel selection to ng iterators commit e953aef7 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:46:06 2012 +0200 warnings--: unused param commit a0f5226f Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:45:51 2012 +0200 port math toolbox to ng iterators commit 1f993f85 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:45:34 2012 +0200 port histogram to ng iterators commit 76bb0c1b Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:44:37 2012 +0200 warnings--: unused param commit d78eaa60 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 403851b1 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:43:47 2012 +0200 port fill painter to use ng iterators commit 3b239bd1 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 fcbe8e57 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:41:27 2012 +0200 convert tests to use ng iterators commit 2056f57a Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:41:12 2012 +0200 remove obsolete rect benchmarks commit 38076f8f 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 f6bd4347 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 784d2a3d Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:39:10 2012 +0200 use ng iterators in png converter commit 83ecc119 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:38:51 2012 +0200 warning--: unused variable commit 68414f79 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:38:32 2012 +0200 warnings--: unused param commit e56930ed Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:38:19 2012 +0200 use ng iterators in pyramid downsampling commit 3391d83c Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:37:58 2012 +0200 use ng iterators in shape selection commit 209200a4 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:37:29 2012 +0200 convert all benchmarks to use ng iterators commit d0eca3e1 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:35:57 2012 +0200 use ng iterators in sdk template commit 2ec13164 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:35:29 2012 +0200 use ng iterators in particle paintop commit 47cb8927 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:35:20 2012 +0200 use ng iterators in mypaint paintop commit 6eda4599 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:35:13 2012 +0200 use ng iterators in hatching paintop commit 6d064a63 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:35:07 2012 +0200 use ng iterators in hairy paintop commit 2d59c8ad Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:34:48 2012 +0200 use ng iterator in filter paintop commit eed4beb9 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:34:40 2012 +0200 use ng iterator in experiment paintop commit dac1550d Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:34:31 2012 +0200 use ng iterator in dynadraw paintop commit 55edfad0 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:34:06 2012 +0200 use ng iterator in curvebrush paintop commit c435f9d1 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:33:52 2012 +0200 use ng iterator in colorsmudge paintop commit bfe34023 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:33:44 2012 +0200 use ng iterator in chalk paintop commit 0b275fe8 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:33:27 2012 +0200 use ng iterators in bidi painting option commit 63b4851a Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:33:12 2012 +0200 use ng iterators in total random color source commit ebbc4513 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:32:41 2012 +0200 use ng iterator in custom brush widget commit 42f5eccd 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 d5e99712 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:31:00 2012 +0200 remove unused iterator include commit 6dd29318 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:30:29 2012 +0200 use ng iterators for separate channels commit 075a8605 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:30:13 2012 +0200 use ng iterators for drop shadow dialog commit 705012f9 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:29:35 2012 +0200 use ng iterators for the colorrange selection dialog commit fa6c031b Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:29:07 2012 +0200 use ng iterators for the selection tools commit f34164ab Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:28:51 2012 +0200 use ng iteratorss for the colorpicker tool commit 6b6d52d4 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:28:11 2012 +0200 use ng iteratorss for the randompick filter commit 98c33b00 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 b0f7e659 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:27:48 2012 +0200 use ng iteratorss for the emboss filter commit ae3a5218 Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:27:22 2012 +0200 use ng iteratorss for the colors filter commit 32099f6e Author: Boudewijn Rempt <boud@valdyas.org> Date: Mon Apr 23 10:26:52 2012 +0200 use ng iterators for the file filters
5977effb