50 Commits

Author SHA1 Message Date
Lawrence Lee
1a5456dbd1 Implement RGB parade 2020-09-26 11:54:05 -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
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
Flössie
7aa6b713c6 Fix vectorscope 2020-08-16 16:01:29 +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
c5ace05df8 Merge branch 'dev' into waveform 2020-08-16 10:08:28 +02: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
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
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
4cbd622569 Add initial implementation of waveform 2020-07-21 22:45:10 -07:00
Thanatomanic
c364e20635 Fix the RGB bar readout in histogram 2020-07-12 07:26:29 +02:00
Thanatomanic
dced61b619 Cosmetic change to histogram: added padding. Some minor code improvement 2020-07-12 07:01:51 +02:00
Ingo Weyrich
9a4ade6f20 devirtualize method calls by declaring classes and methods final 2020-01-23 22:18:46 +01:00
Ingo Weyrich
2a4891827d Some cleanups 2019-11-26 15:25:11 +01:00
Ingo Weyrich
c1f9120ef4 Further reduction of include dependencies 2019-11-01 21:20:52 +01:00
Flössie
add5c790d6 #pragma once for our headers plus drive-by formatting 2019-10-31 10:20:50 +01:00
Ingo Weyrich
068847eb5a Further cleanup of include dependencies 2019-10-29 21:06:27 +01:00
Morgan Hardwood
60b2196bce Updated gnu.org links to use HTTPS 2019-09-10 12:34:57 +02:00
Ingo Weyrich
46cbb652d5 cppcheck: further fixes 2019-08-01 14:02:38 +02:00
heckflosse
831e18ca45 Add override keyword. Thanks @Floessie 2018-11-22 16:19:16 +01:00
Flössie
2125f42116 Turn almost all Listeners into abstract interfaces 2018-10-09 20:32:40 +02:00
Thanatomanic
85d55ebeb6 Modifications to store histogram settings across sessions 2018-09-13 07:46:43 +02:00
Roel Baars
d3f70cc6ab
Merge branch 'dev' into histogram-scaling 2018-08-23 16:17:00 +02:00
heckflosse
79707ed1ea Fix broken RGB indicator bar 2018-08-23 16:11:11 +02:00
Thanatomanic
12ab150c0a RGB-bar correctly shows actual cursor values in all modes 2018-08-17 12:47:52 +02:00
Thanatomanic
382dcb2f06 Fixed header.. 2018-07-20 11:12:13 +04:30
Thanatomanic
aed90f29ea Try something new: click-and-drag to modify scaling. Feedback appreciated. 2018-07-12 09:01:30 +02:00
Thanatomanic
f5d9f9529a Removed freeze-mode for the histogram bar 2018-07-02 19:48:24 +02:00
Thanatomanic
9e735b2640 Big update: 1) implemented scalable histogram (TooWaBoo's CSS untested but probably unnecessary now); 2) reverted graphical changes; 3) gridlines now multiply based on height and width; 4) removed cube-scaling; 5) implementend double-log scaling as the third alternative based on suggestion by @iliasg 2018-06-17 10:01:16 +02:00
Thanatomanic
dec54d00ad Big update: implemented toggling between three modes. Button does not yet update when double clicking. Completely removed fullMode-related code. 2018-06-15 23:16:20 +02:00
Thanatomanic
c4853034ed Total removal of fullMode 2018-06-14 21:58:51 +02:00
heckflosse
e7d90ec1a2 Improve accuracy of Y to L conversion, fixes #4338 2018-01-29 21:17:34 +01:00
Flössie
91b44dbd08 Replace all g_idle_adds with IdleRegister (#3767) 2017-03-26 22:03:33 +02:00
Hombre
965cadb52e New batch of update for issue 3446
This commit include :
- cleanup rtgui/retinex.cc file (constructor only) and switched to
Gtk::Grid (the new standard) instead of Gtk::Box. This however doesn't
solve the issue of the Transmission curves in the Retinex tool, with
wrong resize of the Frame when folding/unfolding the curves.
- better alignment of the Histogram panel now with 4px of padding on the
left and right side
- Threshold selector now use the Scale's Trough style to draw its box
and sliders
- Curve's background are darker and restricted to the curve diagram
- Diagonal and Flat curves has been converted to Gtk::Grid as well
- A special color is now used for unsensitive Threshold selector and
Sclaes widgets
- Gap around the main Window has been removed on windows to circumvent a
bug in Gtk3, but the window can now only be maximized (usual use case)
or resized vertically by the top border only.
- Buttons at the bottom of the Editor panel has now the same height
2016-11-01 20:39:41 +01:00
heckflosse
b16ef8d1f5 Merge master into gtk3 2016-10-28 17:59:47 +02:00
Flössie
0731975ff0 Apply modernize-use-nullptr
Setup:
- `mkdir tidy; cd tidy`
- `cmake .. -DCMAKE_BUILD_TYPE=debug -DPROC_TARGET_NUMBER=1 -DCACHE_NAME_SUFFIX=4 -DBINDIR=. -DDATADIR=. -DBUILD_BUNDLE=ON -DWITH_LTO=OFF -DOPTION_OMP=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON`
- `cd ..`
- `find -name '*.cc' -exec clang-tidy-3.8 -header-filter=.* -p=tidy -fix-errors -checks=modernize-use-nullptr {} \;`
2016-10-12 17:48:40 +02:00
Morgan Hardwood
0dbea030cb Merge branch 'master' into gtk3-merge-master-b8eb349 2016-10-10 23:07:41 +02:00
heckflosse
3552fd4161 Cppcheck: Fix issues related to explicit constructors 2016-10-03 00:54:02 +02:00
Hombre
93d01f3a82 GUI bugfix (histogram) + touchup
- Fix the Histogram background and grid lines
- Add 1 pixel of empty space between in the Histogram panel
- Add a light grey color border for Gtk::DrawingArea oject, for those
using the render_frame method
- In the Toolbox, make the nested MyExpander and Gtk::Frame lighter, and
adjust the Gtk::DrawingArea background color accordingly
- All added class to the MyCurve has been removed, so that the
Gtk::Drawing object's style is used
- The Retinex Settings' expander is now level 2 for GUI consistency
2016-01-17 04:45:01 +01:00
Morgan Hardwood
56a0805bc7 Gtk3 by Hombre, issue 2807 2015-08-12 16:07:19 +02:00
DrSlony
0e0cfb9b25 Formatted all .cc and .h code in rtengine, rtexif and rtgui using astyle 2015-08-11 11:55:03 +02:00
torger
d5ca351c20 Issue 2134: removed obsolete raw highlight preservation setting from GUI (still left in procparams for backwards compatilibility) 2015-07-10 12:00:36 +02:00