62 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
Desmis
8e312d9c02
Local Adjustments - Cam16 - lacam16n2 (new) (#7010)
* Restore settings and options

* Clean code and windows.yml

* Gui improvment

* Fixed wrong value maxicam

* Change GUI TRC and Log encoding and sigmoid

* Clean code locallabtools2

* Fomat locallabtools2

* New calcualtion gray when using Q

* Improve sigmoid Q with meanQ

* Change labels and tooltip

* Change DR with log

* Change location GUI TRC

* Change GUI sigmoid hide - show

* Fixed bug with trc

* Added whites to TRC & whites

* Small modification whites - comment code

* Change GUI and selection for sigmoid and log encoding Q

* Change yml worksflow

* Added cat to workingtrc rtthumbnail

* Delete entries in defualt languages

* Blacks and whites distribution

* Change tooltips

* Fixed some issues

* Change GUI hide to set_sensitive

* first step white and black log encoding

* GUI Labels - tooltips

* Compress brightness log encoding

* Change compression threshold

* Clean procparams

* Improve GUI and threshold compression

* Improvment GUI and tooltips

* First step primaries cam16

* Primaries loc step 2

* Primaries loc step 3

* jdcmax primaries - format iplab2rgb

* Improve GUI

* Beta RGB primaries and message

* Change tooltips

* Change order prim

* CIExy diagram step 1

* CIExy step 2

* CIExy step 2

* CIExy diagram step 4

* CIExy diagram step 5

* Change improccordinator and locallabtool2s listener

* Forgoten delete in improccordinator

* Disable setListener

* Improve GUI and behavior TRC and Primaries

* TRC primaries - illuminant step 1

* TRC primaries - illuminant step 2

* TRC primaries - illuminant step 3

* TRC primaries - illuminant step 4

* Gamut control - remove old listener and added listener locallabcieLC

* publish pre dev labels windows appimage

* publish pre dev labels windows appimage []

* Move log encoding cie - step 1

* Step 2

* Move Log encoding CIE and improve GUI step 3

* Pre Ciecam midtones step 1

* Mid tones step 2 and tooltips

* Forgoten label and tooltips

* Improve tooltips - and change yml files

* Include repository in appimage and windows.yml - change labels

* Forgotten surroundcie in procparams.cc

* Improve GUI with expander - clean code

* Change tooltip

* Clean locallabtools2 - improve Jpro

* Bypass Ciecam step 1

* step 2

* Step 3

* Change settings - improve GUI

* Clean code

* Improve sigmoid cam16

* Improve sigmoid cam16

* Added illuminant E to illmethod

* Change iccmatrices

* Working profile JDCmax stdA and Abstract Profile

* Pre-ciecam JDCmax stdA

* Abstract profile - cat method step 1

* Step 3

* Step 4 and various changes

* Enable default gamutcontrol - improve GUI

* Refine color pre-ciecam

* Step 2

* step 3

* Step - 4

* Refine colors Abstract profiles

* Expander true Abstract Profile

* Clean and comment code

* Tooltip pre-ciecam

* Change tooltips

* Improve GUI free primaries

* Labgrid dominant color

* Shift dominant color step 1

* Shift xy dominant color

* History msg shift

* Fixed various bad behavior - change scalrefi

* Improve behavior DR vs deltaE - log encoding and pre-ciecam

* Limited reduce deltaE to 1 - comment code

* Improve behavior TIF/JPG

* Forgotten code

* Various small changes to refinement color pre-ciecam

* Foramt iplab2rgb and simpleprocees - small change meanx meany

* Bad behavior with simpleprocess abstract profile and pre-ciecam

* Re-enable code for simpleprocess

* Iprove iplab2rgb

* Improve GUI if selection Jz

* provis with precision

* Chnage GUI log encoding basic - improve shiftxl shiftyl pre-ciecam

* Improve GUI with expanders

* Change location pre-ciecam expander

* Change label tooltip pre-ciecam

* Improve white distribution and equalizer

* Bad behavior Source data adjustments

* Comment code

* Improve Dynamic Range Compression - for some images with very high DR

* Clean code

* Improve TM fattal with saturation control in LA

* saturation control fattal LA

* RE-order paramsedit

* Change local contrast in LA - log encoding and Cam16

* LA settings avoidcolorshift XYZabsolute

* Change GUI precision blackEv WhiteEv BlackEvjz WhiteEvjz

* Check button smoothcie - smooth highlights

* Change order midtones - log encoding - other method smooth

* Change maximum gamma in TRC cam16

* Change maximum slope in TRC cam16

* refine smooth highlights

* Small improvment - comment code

* Bad behavior - black screen - in Cam16

* setLogscale for slopjcie

* Change source data GUI - PQ and other DR functions

* PQ mode advanced - adjustments and tooltip

* Comment and clean code

* Simplified GUI in Basic mode - Source Data Adjustments

* Added primaries to source date adjustements - fix basic problem

* GUI graduaded filter cie cam16

* Graduated filter - LA Color appearance

* More illuminant cam16 - D120 - Tungsten 2000K - Tungsten 1500K

* Abstract profile ICM - shift x - shift y

* Frame color dominant Abstract profile

* Frame color dominant Abstract profile

* Illuminant E - abstract profile

* Abstact profile - midtones

* Abstrcat profile - smooth highlights checkbutton

* Abstract Profile - Smooth highligts rtengine

* Bad behavior LA gamut - re-enabled Munsell in settings

* adapts Abstract profile and auto-match tone curve

* Change chromaticity curve c(h) - ppversion 351 and procparams

* icmpanel fixed bad wmidtcie

* Change in procparams assignfromkeyfile color Management

* Remove message in console

* Missing code procparams.cc wcat

* Clean message in console

* Disable ppversion 351 - surround extremely dark

* Choice surround scene Disable ciecam

* Improve GUI for surround Disable Ciecam

* Small change gamutcontrol - message g0..g5 verbose

* Remove gautcontrol on limits

* Strength log encoding - Source data adjustments

* Fixed genral bug in lacam16n - bad behavior color

* Checkbutton saturation control - Cam16 log encoding

* Change default saturation controle log encoding - false

* GUI LA Log encoding - Strength - saturation control - part 1

* Checkbox saturation control LA Log encoding

* Change repartition GUI brightnees - hue - chroma

* Hide primaries and illuminant in standard mode

* Merge with dev 2

* reduces sigmoid Q contrast

* Provisory disable Sigmoid Q

* Re-enable sigmoid function complexity mode

* Re-enable log encoding Q - with Ciecam

* GUI improvments - small code improvments

* Change tooltip

* Simplify GUI mode Basic - Standard - added tooltip

* Change tooltip - LA settings - Avoid color shift

* hope to fix the bug between Jz and Cam16

* Another change for Jz - format astyle locallabtool2.cc

* Clean code GUI - remove Zcam

* Change label in Recovery based on luminance mask

* Reduces minimum spot size from 2 to 1.5

* Improve behavior GUI with Jzczhz

* Clean code iplocallab.cc

* Small improvement ciecam02.cc

* Fixed bad behvior GUI and code between Cam16 and Jzczhz

* Improve Jz and surround effects

* Improve Jz and Local contrast Cam16 & Jz taking account surround

* Disable local contrast if cam16 and not ciecam surround

* Restore epsil 0.001 loccont

* Improve local contrast when surround low and Jz

* Clean code locallabtool2 - weakened a little Local Contrast in connection with surround

* Remove Laplacian threshold in Cam16 and JzCzHz mask

* Simplify Mask for JzCzHz

* Enable choice complexity mask in mode advanced

* Solved bad behavior GUI masks

* Optimize GUI mask Jz and cam16

* Change 3 icon .png without png

* Remove wrong message in console without problem

* Remove warning with & in some tooltips and TP_WBALANCE_AUTO_HEADER

* Smoothcie Method GUI

* Replace checkbutton smooth highlight bya combobox

* Improve behavior GUI - CIECAM - advanced - tempout and greenout

* Fixed - I hope - crash when delete spot and cam16

* Clean code with maxcam and dependencies

* Added Smooth highlight rolloff or not

* Improve smooth lights - gamma mode only - standard and advanced - gray balance

* Improve Smoothing lights - take into account the 2 Yb

* Change tooltip

* Chnage wrong lable scope => slope

* Clean and comment code

* Reduces the effect of - Smoothing light -Ev mode - Small change range Slope

* Scale Yb scene white whiteEv

* Hide Scale in some GUI cases

* Clean comment code Smotth and TM function

* Change GUI - Smooth highlights and tone mapping - allows also Basic

* Change labels

* Change tooltip

* Remove arrow.cur in windows.yml as suggested by Lawrence37

* Reverse last changes

* Change limits slope based in SDA

* Clean locallabtools2.cc

* Set minimum slope based to 0.6

* Change label highlight

* Change listener scene parameters to GUI

* Clean code sine changes listener

* Limits Blackev Whiteev values in slope base to avoid crash

* Change a little limits BlackEv WhiteEv

* Small changes in console - remove warnings

* Change XYZ relative - avoid color shift

* Improve gamutmap

* re build gamutmap
2024-04-15 07:47:19 +02:00
Pandagrapher
c28d5aab97 Merge with "Beep6581/dev" 2023-03-11 11:02:29 +01:00
Lawrence Lee
143e5c6783
Merge branch 'dev' into favorites-gui 2023-01-02 15:37:07 -08:00
Pandagrapher
eb40593d60 Merge with 'Beep6581/dev' 2022-11-03 17:10:48 +01:00
Morgan Hardwood
cf96139c3a Review of default #5664
Consistently use _TOOLTIP suffix for tooltip keys.
2022-09-23 18:09:44 +02: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
40678f67b0 Refactor tool name code 2021-12-11 21:21:54 -08:00
Desmis
35abd92209
Custom TRC Tone response curve and Illuminant - change Histogram - RGB and Lab values - for output (screen, TIF, JPG..) (#5949)
* Change TRC in the process

* Improve GUI slope

* Add tooltip output profile

* Various change to enable and tooltip

* Chnage rtthumbnail

* Small change tooltip trc

* Another small change tooltip

* Improve GUI - change default TRC BT709 - change tooltip

* Other GUI improvment

* Small changes to BT709 values

* Various change to TRC - add illuminant working profile

* Change labels tooltip TRC illuminant

* Display wp in console if wp provided

* Change tooltip

* Change max wlope

* Init trc + illum + primaries

* Add black point compensation

* Change location abstract

* Fixed bug with rtthumbnail...

* Added tooltip

* Logscale for wslope

* Change tooltip abstract

* Change labels tooltips abstract profile

* Added 6 sliders custom primaries X and Y

* Change GUI custom primaries

* Use custom primaries abstract profiles

* Tooltip with primaries red green blue

* Fixed warning gtk

* Change one tooltip

* Change range custom primaries

* Change GUI default Primaries

* Change one tooltip

* Speedup for trc

* Rendering intent for abstract profile

* Hide intent abstract

* Preserve neutral tones

* Chnage settings preserves neutral tones

* Improve GUI

* Improvment to preserv

* Clean code - speedup TRC when illuminant and primaries default

* Change label

* Change bad default value Blux

* Add forgoten illuminant when selecting primaries

* clean code

* Change labels

* improve workingtrc for LA

* Change default primaries when select default

* Added others working profile to primaries

* Change labels and GUI

* Change tooltip

* CIExy diagram displaying the primaries (interactive) and the white point (#6207)

* Ciexy diagram

* Change to Ciexy graph

* Change graph and defaut coordonates

* Various changes to graph - params

* Disable setListener(ToolPanelListener)

* Add some graduation to graph

* Clean comment code graph

* Change radius 0

* Enable sensitive graph Ciexy

* update Ciexy graph with primaries

* Remove reset button graph

* Change labels and behavior

* First step third spot green

* Second step 3rd spot green

* First try 3 primaries graph Ciexy

* Fixed bad behavior in lab grid

* Fixed another bad behavior graph

* Clean and comment code

* Change default gamma

* More accurate graph Cie xy

* Added white point to Ciexy graph

* Added tooltip Cie xy diagram

* Improvment when illuminant change

* Refine diagram CIE xy - added WP 2000K

* White point D120 + tooltip

* Change label

* Change labels

* Change tooltips

* Improve diagram CIE xy with parabolic

* Other parabolic to improve Cie xy diagram

* Small change GUI

* Added Label CIE xy - change labels

* Change behavior when none - change labels

* Improve gUI and trys to fix LGTM alerts

* CIE xy change set sensitive

* Improve tooltip primaries sliders

* Adapt tooltip to new labels

* Fixed crash and some bad behavior

* First fix bad behavior with some primaries

* Second fixed bad behavior primaries

* Third fixed bad behavior primaries

* Change white point BestRGB

* Change order rgb in history msg Ciexy

* Change tooltip

* Change tooltip

* Improve GUI primaries

* Illuminant 1500K - display in console matrix XYZ-RGB

* Improve GUI illuminant

* Change a tooltip

* Somme changes to GUI and verbose

* Test code for wprim in read

* clean code for wprims

* further cleanups, not tested

* Some cleanups and bugfixes, #5949

* Simplify `std::unique_ptr<>` dereferencing

Also some minor cleanups.

* Some changes suggested by Floessie

* Others change suggested

* Others changes suggested by Floessie

* Forgotten change in procparams.cc

* Added black and white for use with the primaries channel mixer

* Small change behavior GUI - illuminant

* Change pragma omp in iplab2rgb

* Add enums and clean up

* Remove unused code icmpanel.cc

* Fix LGTM alert, #5949

Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
Co-authored-by: Flössie <floessie.mail@gmail.com>
2021-05-16 06:18:25 +02:00
Desmis
3ad786745c
LA - Move colortoning labgrid from rgb to lab - issue #6132 (#6173)
* Move colortoning labgrid from rgb to lab

* Remove unnecessary variables
2021-03-23 16:59:54 +01: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
Thanatomanic
d2cd5f21c9
GUI changes: more distinct on/off modules, various CSS and GUI tweaks for further future modifications
Collection of CSS and GUI improvements, cleanup of main CSS theme, introduction of highlight for enabled module. 

Primary change is the modification of the module titles to better distinguish modules that are on or off. The text of a disabled module is now less bright, the corresponding icon is a slightly smaller version of the power icon. When activating the module, the text turns brighter and the icon slightly bigger and also brighter. Thanks to @TechXavAL for the icon work.

Secondary changes are related to the margins around several GUI elements, padding within elements and some accompanying borders. These changes hopefully make it easier to distinguish the various (sometimes crowded) GUI elements of modules. The panels have gotten a slightly 'outset' look.

Nested panels have a changed look where deeper nesting increases the background brightness slightly, instead of darkening it (old behaviour). This  is done without a strong decrease in contrast.

The old theme is available as a legacy option. Due to hardcoded GUI changes needed for the new theme, the legacy version is not a 100% exact replicate. The @TooWaBoo theme's may also be slightly affected.
2020-12-27 15:31:39 +01:00
Flössie
b7738afe22 Replace Adjuster::delay by Adjuster::setDelay() 2020-08-02 11:20:10 +02:00
Ingo Weyrich
b2443b0e7e more double promote fixes, still not complete 2020-01-21 00:16:27 +01:00
Ingo Weyrich
587652283d further reduction of include dependencies, also finalised some classes 2019-11-09 16:51:54 +01:00
Ingo Weyrich
6335b68a80 Further reduction of include dependencies 2019-11-03 14:52:42 +01:00
Ingo Weyrich
ba8dda1836 Further cleanup of include dependencies 2019-10-30 16:38:02 +01:00
Ingo Weyrich
0493e67474 nuke empty adjusterAutoToggled functions 2019-07-20 11:44:38 +02:00
Hombre
108b69ae22 "edit.h/.cc" splitted to limit rebuilding dependencies 2019-03-22 00:09:37 +01:00
Flössie
b08fb04dae Convert almost all IdleRegister::add() calls to add(std::function<>) 2019-01-01 15:53:39 +01:00
Flössie
5af3f64a9d Merge branch 'dev' into review-idle_register-calls 2018-12-31 14:58:26 +01:00
Alberto Griggio
7cfd9dc8f4 colortoning: fixed bug in setting method in batch mode 2018-12-03 00:55:54 +01:00
Alberto Griggio
73898e1a3f Enhanced version of the "L*a*b* regions" color toning, adding mask blur and ASC-CDL controls 2018-11-22 09:45:59 +01:00
Alberto Griggio
a8bbc9cb8b labgrid: code refactoring to avoid duplication for adding reset buttons 2018-11-01 14:25:06 +01:00
Alberto Griggio
e9f0b6ac60 L*a*b* regions: some code cleanups 2018-11-01 13:34:10 +01:00
Alberto Griggio
4eb93c24f8 fixed broken labgrid after previous commit 2018-10-30 22:30:12 +01:00
Alberto Griggio
74a467fb4e labgrid: work on [0,1] values 2018-10-30 21:12:44 +01:00
Alberto Griggio
f673a4a881 avoid grabbing focus in the L*a*b* region list 2018-10-28 18:38:40 +01:00
Flössie
5906329485 Review IdleRegister (#4892)
This turns `IdleRegister::add()` into a template function to make the
provided function pointers type safe. It also adds a `delete_data`
parameter to manage the provided data pointer even in `destroy()`.
2018-10-28 13:12:01 +01:00
Alberto Griggio
db07a8cdd3 L*a*b* regions: add new regions at the end of the list, not at the beginning 2018-10-26 18:16:12 +02:00
Alberto Griggio
1a3fd9f157 Added new color toning method "L*a*b* regions"
Allows to specify various "regions" of the image with masks, and to correct
for hue, saturation and lightness.

Inspired by the existing L*a*b* grid (in turn taken from darktable)
2018-10-25 16:46:11 +02:00
heckflosse
ccc882dbcf Review idle_register.add() calls: wavelets, ciecam02, colortoning 2018-10-24 17:12:11 +02:00
Flössie
2125f42116 Turn almost all Listeners into abstract interfaces 2018-10-09 20:32:40 +02:00
luz.paz
5f867be0c3 Misc. typo tixes 2018-07-31 13:14:14 -04:00
Morgan Hardwood
bb6282fad3 Icons tweaked #4469
- The "light" icon theme is now a little lighter, to increase contrast.
- Toolbox icons are now small.
- Buttons:
  - Buttons without labels which use icons as their only source of info regarding what the button does (e.g. the white-balance pipette button) use normal-sized icons.
  - Labeled buttons which use icons as an auxiliary source of information (e.g. Auto-Crop) now use small icons. Curve type icons are also small even though they have no labels.
- Colored circles are smaller.
- Curve type icons redesigned and small.
- Hand icons (when panning the preview) redesigned to have a clear outline regardless of background color.
- Magnifier icons redesigned to have a thinner magnifier frame and larger inner parts.
- Perspective, distortion and crop icons redesigned.
- Some small icons were missing the `-small` suffix, now renamed.
2018-07-16 12:41:40 +02:00
Morgan Hardwood
522495f4eb Icon cleanup #4469 #3547
Rebased in new branch to cleanup commit history.
2018-07-13 18:13:35 +02:00
Morgan Hardwood
9cecad02f9 Icon cleanup WIP1 2018-05-23 00:37:12 +02:00
Morgan Hardwood
d6c45f90b5 Reset tooltips improved
Now the "reset" tooltips state what happens on click vs ctrl+click.
Commit includes required fixes to other modules which used incorrect
reset language keys.
Fixes #4563
2018-05-18 12:45:26 +02:00
Flössie
656a92cb8e Fix openSUSE build once again (fixes #4307) 2018-01-15 17:54:15 +01:00
Hombre
52be618963 Bugfix in LabGrid class + code refactoring
- suppressed trailing `_` char for class' parameters
- renamed function name (those not related to Gtk) to lowerCamelCase
- changed the mecanism of dragging point, to avoid throwing unecessary
`panelChange` event
- added a `reset` function, with support of `toInitial` to get back the
values at load time (CTRL+click on reset button)
- `on_draw` optimisation: now LabGrid IS A BackBuffer
2018-01-13 20:26:19 +01:00
Alberto Griggio
0e52db3c77 moved LabGrid class to its own file 2018-01-12 21:58:10 +01:00
Alberto Griggio
840d3d1de4 made L*a*b* color correction grid respect options.adjusterMinDelay for updating the preview 2018-01-11 09:40:51 +01:00
Alberto Griggio
bfa3f786ba replace M_PI with rtengine::RT_PI 2018-01-08 23:27:22 +01:00
Alberto Griggio
93ac6e0105 added reset button for the L*a*b* grid in color toning 2018-01-08 22:31:48 +01:00
Alberto Griggio
7353ff864b some tweaks to the L*a*b* correction grid module 2018-01-08 14:34:54 +01:00
Alberto Griggio
041990d216 Added new color toning mode "L*a*b* color correction grid", adapted from DT's color correction module 2018-01-08 00:19:36 +01:00
Morgan Hardwood
9911283266 More full hue range curve bar fixes, #4271
This one fixes the CIECAM02 color curve,
and the Color Toning opacity curves.
2018-01-01 22:51:25 +01:00
Alberto Griggio
729e50ff2e color toning: properly draw hue and strength gradients for the highlights and shadows sliders
Fixes #4209
2017-12-08 15:54:05 +01:00
Flössie
05505803ae C'tor init for (ToneCurve|Retinex|LCurve|ColorToning)Params 2017-11-18 19:07:23 +01:00
Desmis
24fd816c36 Fix all warnings for rtgui colortoning.cc 2017-04-01 10:06:37 +02:00