Technical explanation: HistogramArea & HistogramRGBArea

Hi, could somebody with a more intimate knowledge of the RT code explain to me what the difference is between HistogramArea and HistogramRGBArea? I have tried to understand the code, but I can’t seem to pinpoint how they are related. Are they both necessary? Are they both drawn, but in different cases?

Please enlighten me :wink:

ping @Hombre

@Thanatomanic Simple : the HistogramRGBArea is the thick white line (that you can hide) below the HistogramArea that display the RGB/L values below the cursor. They are both part of the HistogramPanel object.

Honestly was it that simple? Thank you for clarifying… I will study the code more (working on an idea for a toggle for a logarithmic scaling of the histogram).

And out of curiosity, what was the design choice behind having a toggle for the extra bar? It seems to me to be a feature that could be enabled at all times without being too intrusive.

@Thanatomanic I did not mean it was simple to find out :wink:

And out of curiosity, what was the design choice behind having a toggle for the extra bar? It seems to me to be a feature that could be enabled at all times without being too intrusive.

There was a discussion on GoogleCode some years ago (before moving to GitHub) and some people complained that it was too distractive.

I like this idea

@Thanatomanic There’s already a button (triangle shape) that let you zoom the histogram. Maybe you should open an issue on GitHub for that, but the zooming could be replaced by your log method if other devs agree. You could even replace that Gtk::ToggleButton to a simple Gtk::ToggleButton that will cycle through 3 states (normal/zoomed/log), with a different icon for each state (just a suggestion).

There’s a github item here - https://github.com/Beep6581/RawTherapee/pull/4618 -
with a discussion around scaling the RT histogram in various ways - linear, logarithmic…
I think it could benefit from input from users.