147 Commits

Author SHA1 Message Date
Daniel Gao
711f274403 Get rid of relative include paths
* Use target_include_directories to specify include paths
* Specify project root (parent of rtgui and rtengine) as include path
* Replace relative includes with normal includes
2024-11-16 17:20:02 -05:00
Pandagrapher
d0743ef359 Merge with 'Beep6581/dev' 2023-08-12 18:03:41 +02:00
Hombre57
d912dd1e51 Ending conversion to std::thread and std::mutex 2023-07-04 00:30:25 +02:00
Lawrence Lee
8accebe416
Fix incorrect sampled L*a*b* values
Use LCMS to convert values back into L*a*b*. The pipette buffer has the
output or working profile applied with LCMS. Performing the inverse
operation fixes the incorrect values shown in the navigator, histogram
indicator bars, and lockable color pickers.
2023-05-28 18:15:27 -07:00
Pandagrapher
8e0fa1148b Other minor fixes for histogram panel
- When loading an image, raw histogram data were incorrectly not set (but provided)
- Fixes incorrect curve scaling in raw histogram mode (was incorrectly scaled using luma and chroma data)
2022-11-03 12:37:43 +01:00
Pandagrapher
a0c3ef931c Minor fixes for histogram panel hidpi support 2022-11-02 16:32:48 +01:00
Pandagrapher
68d1eae1a7 Hidpi support for histogram panel
Other fixes:
- Reduce number of queue_draw function calls (and so optimize panel redraw)
- Code cleanup
2022-11-02 13:12:24 +01:00
Pandagrapher
89d2bdce5b Initial commit for real hidpi support
Note: This commit has only been tested on MacOS

Changes:
- Icons now use the native hidpi support from Gtk (through Icon Theme)
- Icons are now directly generated from scalable file (i.e. SVG file)
- Widget sizes are scaled based on DPI and scale factor
- Font size is scaled based on DPI and scale factor
2022-08-19 16:47:28 +02:00
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