Fix new color propagation method (#6109)

* Fixed artifacts thanks to Alberto

* Added blur to Color propagation

* Clean format code - small improvments

* color propagation: Enable old mode at blur = 0

* Improve GUI

* color propagation: smooth progress bar for blur > 0

* change label

* Some cleanups

* color propagation: small speedup for blur > 0

* color propagation: speedup for blur > 0 when region with clipped highlights is small

* Speed-up for blur=1 - clean GUI code

* color propagation: cleanups

* Harmonize events in tonecurve.cc

* tonecurve.cc : cleanup

* Highlight reconstruction: small changes to gui

* Use Gtk::Box instead of Gtk::VBox

* Change maximum number of blur levels to 4

* Suppress BENCHFUN

* Suppress bad commit locallabtools

Co-authored-by: Desmis <jdesmis@gmail.com>
Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
This commit is contained in:
Thanatomanic
2021-02-18 13:36:54 +01:00
committed by GitHub
parent d29d5e144b
commit de15da1d59
14 changed files with 527 additions and 449 deletions

View File

@@ -124,6 +124,26 @@ public:
}
}
// creator type 3
array2D(int w, int h, int startx, int starty, T ** source, unsigned int flags = 0) : width(w)
{
rows.resize(h);
if (!(flags & ARRAY2D_BYREFERENCE)) {
buffer.resize(h * width);
T* start = buffer.data();
for (ssize_t i = 0; i < h; ++i) {
rows[i] = start + i * width;
for (ssize_t j = 0; j < width; ++j) {
rows[i][j] = source[i + starty][j + startx];
}
}
} else {
for (ssize_t i = 0; i < h; ++i) {
rows[i] = source[i + starty] + startx;
}
}
}
array2D(const array2D& other) :
width(other.width),
buffer(other.buffer)