139 Commits

Author SHA1 Message Date
Lawrence Lee
0db17f99dd Fix crash while updating RGB parade and waveform
Closes #6349.
2021-09-02 21:52:59 -07:00
Thanatomanic
fc031ccb5a
Remove deprecated GTK3 code, fixes #6103 (#6113)
Replaces the following deprecated Gtk classes throughout the codebase by their non-deprecated counterparts. Style, HBox, VBox, HPaned, VPaned, HScrollbar, VScrollbar, VSeparator, HSeparator, Stock, Table, VScale and HScale.
2021-02-17 11:44:25 +01:00
Flössie
69f7f5b8a6 Fix compilation with gtkmm 3.22 (fixes #5969) 2020-10-26 11:32:11 +01:00
Lawrence Lee
044d16503c Fix undefined reference compilation error
The debug build failed to compile due to undefined reference to
HistogramArea::MAX_BRIGHT and HistogramArea::MIN_BRIGHT.

Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
2020-10-16 17:15:03 -07:00
Lawrence Lee
cfb22d5550 Fix signed comparison compiler warning 2020-10-15 21:13:01 -07:00
Lawrence Lee
01ad249718 Make scope trace brightness persistent 2020-10-15 21:09:13 -07:00
Lawrence Lee
e93c4f6ed4 Add slider for adjusting scope trace brightness
This makes it easier for users to discover the feature and see the
current brightness.
2020-10-11 12:29:47 -07:00
Lawrence Lee
992a5ad3d9 Change how histogram RGB indicators are rendered
Show/hide them instead of removing/adding and fix the width of the
vertical indicator.
2020-10-10 15:15:28 -07:00
Lawrence Lee
ee1c85879d Suppress unnecessary updates to scope back buffer
Upon the resize signal, the scope back buffers were redrawn, even if
there was no actual change to the size. This commit checks the size and
only updates the back buffers if the size changed.
2020-10-10 12:11:59 -07:00
Lawrence Lee
c335e7ba24 Fix bug with vectorscope not updating
The scope would not redraw after switching from one vectorscope to
another. This commit sets the drawing area dirty when the scope type
changes.
2020-10-10 11:56:13 -07:00
Lawrence Lee
edbf701264 Improve style of scope buttons
Keep all buttons at the same place and use darkened button background
instead of tiny icons to indicate which scope type is active.
2020-10-03 22:37:13 -07:00
Lawrence Lee
04524b6332 Change vectorscope crosshair style
The original crosshair used dashed lines extending across the
vectorscope area. The new crosshair uses solid lines with a small
length.
2020-10-02 22:19:33 -07:00
Lawrence Lee
6b667ead58 Swap positions of scope buttons
Make the scope type buttons the primary buttons and the other options
secondary.
2020-10-02 22:14:29 -07:00
Lawrence Lee
cecb753595 Increase performance of some scopes 2020-09-26 16:30:51 -07:00
Lawrence Lee
0ad5f9587f Fix segfault
Make sure histogramRGBArea isn't null before using it.
2020-09-26 12:40:14 -07:00
Lawrence Lee
1a5456dbd1 Implement RGB parade 2020-09-26 11:54:05 -07:00
Lawrence Lee
6e7185081a Fix scaling of H-C vectorscope 2020-09-22 22:10:57 -07:00
Lawrence Lee
79e79321ec Remove spacing around vectorscope lines 2020-09-22 21:35:08 -07:00
Lawrence Lee
98ae27f60e Fix initialization of vectorscope pointer 2020-09-22 21:32:49 -07:00
Flössie
97c7794a5a Turn Options::ScopeType into a scoped enum :)
Also remove global `using ...` from header file.
2020-09-14 09:44:29 +02:00
Lawrence Lee
af29bf84e6 Fix cppcheck warnings for uninitialized variables 2020-09-13 12:33:25 -07:00
Lawrence Lee
c03efe4878 Add dedicated buttons for scope switching
Previously, changing to a different scope was done by clicking the scope
type button and cycling through all scopes. This commit decreases the
number of clicks needed to switch between two scopes by adding a radio
selector. The radio buttons can be shown or hidden by pressing the scope
type button. This commit also makes the raw histogram one of the scope
types.
2020-09-12 17:52:24 -07:00
Lawrence Lee
bb0c625960 Use enum for scope types 2020-09-07 16:37:40 -07:00
Lawrence Lee
b2942fd949 Improve performance of scopes
If a scope update is requested, don't recalculate scope data if it is
already up-to-date.

Eliminate double and triple scope rendering.
2020-08-28 22:33:52 -07:00
Lawrence Lee
6d8a31961f Color the vectorscope lines 2020-08-27 16:35:39 -07:00
Lawrence Lee
350324affc Disable double-clicking of waveform & vectorscopes 2020-08-16 18:08:26 -07:00
Lawrence Lee
371fc65416 Improve type conversions 2020-08-16 16:10:46 -07:00
Flössie
7aa6b713c6 Fix vectorscope 2020-08-16 16:01:29 +02:00
Ingo Weyrich
d59f488aea minor fixes 2020-08-16 14:07:25 +02:00
Flössie
3af822b6f7 Fix abuse of array2D<>
- Add copy c'tor and assignment to `array2D<>`
- Use `std::vector<>` instead of smart pointer to array
- Constify a bit
- Make use of `rtengine::max(...)`
2020-08-16 11:22:10 +02:00
Flössie
231c5e2c99 Apply clang-tidy's google-readability-casting
```
clang-tidy-10 -header-filter=.* -p=build -fix -checks=google-readability-casting rtgui/histogrampanel.cc
```
2020-08-16 10:25:22 +02:00
Flössie
c5ace05df8 Merge branch 'dev' into waveform 2020-08-16 10:08:28 +02:00
Lawrence Lee
e247a1e086 Increase visibility of vectorscope pointer 2020-08-09 18:00:12 -07:00
Lawrence Lee
f7c02af184 Fix rendering of blank vectorscope 2020-08-09 17:22:23 -07:00
Lawrence Lee
8b3af4c520 Fix some cppcheck warnings 2020-08-09 17:16:57 -07:00
Lawrence Lee
6cd87ad975 Use array2D for waveform and vectorscopes 2020-08-09 16:49:28 -07:00
Lawrence Lee
ec27ad4abc Add waveform/vectorscope brightness feature 2020-08-08 17:11:18 -07:00
Lawrence Lee
6c53317ac1 Add pointer indicator for vectorscopes 2020-08-08 13:00:18 -07:00
Flössie
f353df3d05 Add DelayedCall and integrate it into navigator and histogram
- Rename `delayedconnection.h` to `delayed.h`
- Align `delayed_helper::apply()` with `std::apply()`
2020-08-08 11:18:56 +02:00
Lawrence Lee
698b2e1842 Finish Cairo surface used for waveform 2020-08-07 15:18:02 -07:00
Lawrence Lee
426162f269 Move lightness waveform behind RGB waveform 2020-08-05 12:23:34 -07:00
Lawrence Lee
9a89eb5454 Fix RGB bars not showing for waveform
The bars were not showing if the raw histogram button was activated.
2020-08-05 12:05:58 -07:00
Lawrence Lee
9382306fed Add CIELAB lightness to waveform 2020-08-05 11:57:34 -07:00
Lawrence Lee
c9bf58a7a0 Add scope type icons 2020-08-04 18:38:59 -07:00
Lawrence Lee
603cd6ea3d Clip waveform display values to 255 2020-08-04 12:09:33 -07:00
Lawrence Lee
fbe73614c3 Add H-S and H-C vectorscopes 2020-08-03 18:23:25 -07:00
Lawrence Lee
6df69b3786 Improve performance of histogram/waveform updates
Only perform calculations for the currently shown scope.
Cache the waveform so it can be reused when the scope is resized.
Increase speed of waveform rendering.
2020-07-26 13:27:17 -07:00
Lawrence Lee
99b7a557c9 Enable RGB bars for waveform 2020-07-25 13:05:10 -07:00
Lawrence Lee
5eb6961049 Adjust waveform padding
Remove padding from left and right sides and add padding to top and
bottom sides to improve visibility of extreme pixel values.
2020-07-24 17:03:10 -07:00
Lawrence Lee
4cbd622569 Add initial implementation of waveform 2020-07-21 22:45:10 -07:00