diff --git a/rtdata/images/non-themed/png/empty.png b/rtdata/images/non-themed/png/empty.png new file mode 100644 index 000000000..534ddcb72 Binary files /dev/null and b/rtdata/images/non-themed/png/empty.png differ diff --git a/rtdata/images/themed/png/dark/color-picker-add-hicontrast.png b/rtdata/images/themed/png/dark/color-picker-add-hicontrast.png new file mode 100644 index 000000000..53eaabf60 Binary files /dev/null and b/rtdata/images/themed/png/dark/color-picker-add-hicontrast.png differ diff --git a/rtdata/images/themed/png/dark/color-picker-hicontrast.png b/rtdata/images/themed/png/dark/color-picker-hicontrast.png new file mode 100644 index 000000000..c2592a8b7 Binary files /dev/null and b/rtdata/images/themed/png/dark/color-picker-hicontrast.png differ diff --git a/rtdata/images/themed/png/dark/crosshair.png b/rtdata/images/themed/png/dark/crosshair-hicontrast.png similarity index 100% rename from rtdata/images/themed/png/dark/crosshair.png rename to rtdata/images/themed/png/dark/crosshair-hicontrast.png diff --git a/rtdata/images/themed/png/dark/gamut-plus.png b/rtdata/images/themed/png/dark/gamut-plus.png index 091e38337..a83f5e603 100644 Binary files a/rtdata/images/themed/png/dark/gamut-plus.png and b/rtdata/images/themed/png/dark/gamut-plus.png differ diff --git a/rtdata/images/themed/png/dark/hand-closed.png b/rtdata/images/themed/png/dark/hand-closed-hicontrast.png similarity index 100% rename from rtdata/images/themed/png/dark/hand-closed.png rename to rtdata/images/themed/png/dark/hand-closed-hicontrast.png diff --git a/rtdata/images/themed/png/dark/node-move-x-hicontrast.png b/rtdata/images/themed/png/dark/node-move-x-hicontrast.png new file mode 100644 index 000000000..92a1c49e2 Binary files /dev/null and b/rtdata/images/themed/png/dark/node-move-x-hicontrast.png differ diff --git a/rtdata/images/themed/png/dark/node-move-xy-hicontrast.png b/rtdata/images/themed/png/dark/node-move-xy-hicontrast.png new file mode 100644 index 000000000..3984385af Binary files /dev/null and b/rtdata/images/themed/png/dark/node-move-xy-hicontrast.png differ diff --git a/rtdata/images/themed/png/dark/node-move-y-hicontrast.png b/rtdata/images/themed/png/dark/node-move-y-hicontrast.png new file mode 100644 index 000000000..e2fc55da8 Binary files /dev/null and b/rtdata/images/themed/png/dark/node-move-y-hicontrast.png differ diff --git a/rtdata/images/themed/png/dark/power-off-small.png b/rtdata/images/themed/png/dark/power-off-small.png index f9ece5472..9b3118c50 100644 Binary files a/rtdata/images/themed/png/dark/power-off-small.png and b/rtdata/images/themed/png/dark/power-off-small.png differ diff --git a/rtdata/images/themed/png/dark/rotate-aroundnode-hicontrast.png b/rtdata/images/themed/png/dark/rotate-aroundnode-hicontrast.png new file mode 100644 index 000000000..d8929ac42 Binary files /dev/null and b/rtdata/images/themed/png/dark/rotate-aroundnode-hicontrast.png differ diff --git a/rtdata/images/themed/png/dark/rotate-aroundnode.png b/rtdata/images/themed/png/dark/rotate-aroundnode.png new file mode 100644 index 000000000..50db200a6 Binary files /dev/null and b/rtdata/images/themed/png/dark/rotate-aroundnode.png differ diff --git a/rtdata/images/themed/png/dark/square-toggle-black-off.png b/rtdata/images/themed/png/dark/square-toggle-black-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-black-off.png rename to rtdata/images/themed/png/dark/square-toggle-black-off-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-black-on.png b/rtdata/images/themed/png/dark/square-toggle-black-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-black-on.png rename to rtdata/images/themed/png/dark/square-toggle-black-on-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-blue-off.png b/rtdata/images/themed/png/dark/square-toggle-blue-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-blue-off.png rename to rtdata/images/themed/png/dark/square-toggle-blue-off-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-blue-on.png b/rtdata/images/themed/png/dark/square-toggle-blue-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-blue-on.png rename to rtdata/images/themed/png/dark/square-toggle-blue-on-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-gray-off.png b/rtdata/images/themed/png/dark/square-toggle-gray-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-gray-off.png rename to rtdata/images/themed/png/dark/square-toggle-gray-off-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-gray-on.png b/rtdata/images/themed/png/dark/square-toggle-gray-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-gray-on.png rename to rtdata/images/themed/png/dark/square-toggle-gray-on-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-green-off.png b/rtdata/images/themed/png/dark/square-toggle-green-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-green-off.png rename to rtdata/images/themed/png/dark/square-toggle-green-off-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-green-on.png b/rtdata/images/themed/png/dark/square-toggle-green-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-green-on.png rename to rtdata/images/themed/png/dark/square-toggle-green-on-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-luminosity-off.png b/rtdata/images/themed/png/dark/square-toggle-luminosity-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-luminosity-off.png rename to rtdata/images/themed/png/dark/square-toggle-luminosity-off-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-luminosity-on.png b/rtdata/images/themed/png/dark/square-toggle-luminosity-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-luminosity-on.png rename to rtdata/images/themed/png/dark/square-toggle-luminosity-on-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-red-off.png b/rtdata/images/themed/png/dark/square-toggle-red-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-red-off.png rename to rtdata/images/themed/png/dark/square-toggle-red-off-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-red-on.png b/rtdata/images/themed/png/dark/square-toggle-red-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-red-on.png rename to rtdata/images/themed/png/dark/square-toggle-red-on-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-theme-off.png b/rtdata/images/themed/png/dark/square-toggle-theme-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-theme-off.png rename to rtdata/images/themed/png/dark/square-toggle-theme-off-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-theme-on.png b/rtdata/images/themed/png/dark/square-toggle-theme-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-theme-on.png rename to rtdata/images/themed/png/dark/square-toggle-theme-on-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-white-off.png b/rtdata/images/themed/png/dark/square-toggle-white-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-white-off.png rename to rtdata/images/themed/png/dark/square-toggle-white-off-narrow.png diff --git a/rtdata/images/themed/png/dark/square-toggle-white-on.png b/rtdata/images/themed/png/dark/square-toggle-white-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/dark/square-toggle-white-on.png rename to rtdata/images/themed/png/dark/square-toggle-white-on-narrow.png diff --git a/rtdata/images/themed/png/dark/star-gold-hollow-narrow.png b/rtdata/images/themed/png/dark/star-gold-hollow-narrow.png new file mode 100644 index 000000000..b0ce704d6 Binary files /dev/null and b/rtdata/images/themed/png/dark/star-gold-hollow-narrow.png differ diff --git a/rtdata/images/themed/png/dark/star-gold-hollow.png b/rtdata/images/themed/png/dark/star-gold-hollow.png new file mode 100644 index 000000000..44bf29d12 Binary files /dev/null and b/rtdata/images/themed/png/dark/star-gold-hollow.png differ diff --git a/rtdata/images/themed/png/dark/star-gold-narrow.png b/rtdata/images/themed/png/dark/star-gold-narrow.png new file mode 100644 index 000000000..32710fb9d Binary files /dev/null and b/rtdata/images/themed/png/dark/star-gold-narrow.png differ diff --git a/rtdata/images/themed/png/dark/star-gold.png b/rtdata/images/themed/png/dark/star-gold.png new file mode 100644 index 000000000..5e3805005 Binary files /dev/null and b/rtdata/images/themed/png/dark/star-gold.png differ diff --git a/rtdata/images/themed/png/dark/star-hollow-narrow.png b/rtdata/images/themed/png/dark/star-hollow-narrow.png new file mode 100644 index 000000000..b9c978350 Binary files /dev/null and b/rtdata/images/themed/png/dark/star-hollow-narrow.png differ diff --git a/rtdata/images/themed/png/dark/star-hollow.png b/rtdata/images/themed/png/dark/star-hollow.png new file mode 100644 index 000000000..dd7015f8a Binary files /dev/null and b/rtdata/images/themed/png/dark/star-hollow.png differ diff --git a/rtdata/images/themed/png/dark/star-narrow.png b/rtdata/images/themed/png/dark/star-narrow.png new file mode 100644 index 000000000..bdcc73bfe Binary files /dev/null and b/rtdata/images/themed/png/dark/star-narrow.png differ diff --git a/rtdata/images/themed/png/dark/star-small.png b/rtdata/images/themed/png/dark/star-small.png index c8f21783c..db895d932 100644 Binary files a/rtdata/images/themed/png/dark/star-small.png and b/rtdata/images/themed/png/dark/star-small.png differ diff --git a/rtdata/images/themed/png/dark/star.png b/rtdata/images/themed/png/dark/star.png new file mode 100644 index 000000000..6dde0fbe3 Binary files /dev/null and b/rtdata/images/themed/png/dark/star.png differ diff --git a/rtdata/images/themed/png/light/color-picker-add-hicontrast.png b/rtdata/images/themed/png/light/color-picker-add-hicontrast.png new file mode 100644 index 000000000..53eaabf60 Binary files /dev/null and b/rtdata/images/themed/png/light/color-picker-add-hicontrast.png differ diff --git a/rtdata/images/themed/png/light/color-picker-hicontrast.png b/rtdata/images/themed/png/light/color-picker-hicontrast.png new file mode 100644 index 000000000..c2592a8b7 Binary files /dev/null and b/rtdata/images/themed/png/light/color-picker-hicontrast.png differ diff --git a/rtdata/images/themed/png/light/crosshair.png b/rtdata/images/themed/png/light/crosshair-hicontrast.png similarity index 100% rename from rtdata/images/themed/png/light/crosshair.png rename to rtdata/images/themed/png/light/crosshair-hicontrast.png diff --git a/rtdata/images/themed/png/light/gamut-plus.png b/rtdata/images/themed/png/light/gamut-plus.png index 43c0c321a..c41e5a39b 100644 Binary files a/rtdata/images/themed/png/light/gamut-plus.png and b/rtdata/images/themed/png/light/gamut-plus.png differ diff --git a/rtdata/images/themed/png/light/hand-closed.png b/rtdata/images/themed/png/light/hand-closed-hicontrast.png similarity index 100% rename from rtdata/images/themed/png/light/hand-closed.png rename to rtdata/images/themed/png/light/hand-closed-hicontrast.png diff --git a/rtdata/images/themed/png/light/node-move-x-hicontrast.png b/rtdata/images/themed/png/light/node-move-x-hicontrast.png new file mode 100644 index 000000000..92a1c49e2 Binary files /dev/null and b/rtdata/images/themed/png/light/node-move-x-hicontrast.png differ diff --git a/rtdata/images/themed/png/light/node-move-xy-hicontrast.png b/rtdata/images/themed/png/light/node-move-xy-hicontrast.png new file mode 100644 index 000000000..3984385af Binary files /dev/null and b/rtdata/images/themed/png/light/node-move-xy-hicontrast.png differ diff --git a/rtdata/images/themed/png/light/node-move-y-hicontrast.png b/rtdata/images/themed/png/light/node-move-y-hicontrast.png new file mode 100644 index 000000000..e2fc55da8 Binary files /dev/null and b/rtdata/images/themed/png/light/node-move-y-hicontrast.png differ diff --git a/rtdata/images/themed/png/light/power-off-small.png b/rtdata/images/themed/png/light/power-off-small.png index 581712d14..6036813a9 100644 Binary files a/rtdata/images/themed/png/light/power-off-small.png and b/rtdata/images/themed/png/light/power-off-small.png differ diff --git a/rtdata/images/themed/png/light/rotate-aroundnode-hicontrast.png b/rtdata/images/themed/png/light/rotate-aroundnode-hicontrast.png new file mode 100644 index 000000000..d8929ac42 Binary files /dev/null and b/rtdata/images/themed/png/light/rotate-aroundnode-hicontrast.png differ diff --git a/rtdata/images/themed/png/light/rotate-aroundnode.png b/rtdata/images/themed/png/light/rotate-aroundnode.png new file mode 100644 index 000000000..5da406b64 Binary files /dev/null and b/rtdata/images/themed/png/light/rotate-aroundnode.png differ diff --git a/rtdata/images/themed/png/light/square-toggle-black-off.png b/rtdata/images/themed/png/light/square-toggle-black-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-black-off.png rename to rtdata/images/themed/png/light/square-toggle-black-off-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-black-on.png b/rtdata/images/themed/png/light/square-toggle-black-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-black-on.png rename to rtdata/images/themed/png/light/square-toggle-black-on-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-blue-off.png b/rtdata/images/themed/png/light/square-toggle-blue-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-blue-off.png rename to rtdata/images/themed/png/light/square-toggle-blue-off-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-blue-on.png b/rtdata/images/themed/png/light/square-toggle-blue-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-blue-on.png rename to rtdata/images/themed/png/light/square-toggle-blue-on-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-gray-off.png b/rtdata/images/themed/png/light/square-toggle-gray-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-gray-off.png rename to rtdata/images/themed/png/light/square-toggle-gray-off-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-gray-on.png b/rtdata/images/themed/png/light/square-toggle-gray-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-gray-on.png rename to rtdata/images/themed/png/light/square-toggle-gray-on-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-green-off.png b/rtdata/images/themed/png/light/square-toggle-green-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-green-off.png rename to rtdata/images/themed/png/light/square-toggle-green-off-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-green-on.png b/rtdata/images/themed/png/light/square-toggle-green-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-green-on.png rename to rtdata/images/themed/png/light/square-toggle-green-on-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-luminosity-off.png b/rtdata/images/themed/png/light/square-toggle-luminosity-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-luminosity-off.png rename to rtdata/images/themed/png/light/square-toggle-luminosity-off-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-luminosity-on.png b/rtdata/images/themed/png/light/square-toggle-luminosity-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-luminosity-on.png rename to rtdata/images/themed/png/light/square-toggle-luminosity-on-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-red-off.png b/rtdata/images/themed/png/light/square-toggle-red-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-red-off.png rename to rtdata/images/themed/png/light/square-toggle-red-off-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-red-on.png b/rtdata/images/themed/png/light/square-toggle-red-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-red-on.png rename to rtdata/images/themed/png/light/square-toggle-red-on-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-theme-off.png b/rtdata/images/themed/png/light/square-toggle-theme-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-theme-off.png rename to rtdata/images/themed/png/light/square-toggle-theme-off-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-theme-on.png b/rtdata/images/themed/png/light/square-toggle-theme-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-theme-on.png rename to rtdata/images/themed/png/light/square-toggle-theme-on-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-white-off.png b/rtdata/images/themed/png/light/square-toggle-white-off-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-white-off.png rename to rtdata/images/themed/png/light/square-toggle-white-off-narrow.png diff --git a/rtdata/images/themed/png/light/square-toggle-white-on.png b/rtdata/images/themed/png/light/square-toggle-white-on-narrow.png similarity index 100% rename from rtdata/images/themed/png/light/square-toggle-white-on.png rename to rtdata/images/themed/png/light/square-toggle-white-on-narrow.png diff --git a/rtdata/images/themed/png/light/star-gold-hollow-narrow.png b/rtdata/images/themed/png/light/star-gold-hollow-narrow.png new file mode 100644 index 000000000..b0ce704d6 Binary files /dev/null and b/rtdata/images/themed/png/light/star-gold-hollow-narrow.png differ diff --git a/rtdata/images/themed/png/light/star-gold-hollow.png b/rtdata/images/themed/png/light/star-gold-hollow.png new file mode 100644 index 000000000..44bf29d12 Binary files /dev/null and b/rtdata/images/themed/png/light/star-gold-hollow.png differ diff --git a/rtdata/images/themed/png/light/star-gold-narrow.png b/rtdata/images/themed/png/light/star-gold-narrow.png new file mode 100644 index 000000000..32710fb9d Binary files /dev/null and b/rtdata/images/themed/png/light/star-gold-narrow.png differ diff --git a/rtdata/images/themed/png/light/star-gold.png b/rtdata/images/themed/png/light/star-gold.png new file mode 100644 index 000000000..5e3805005 Binary files /dev/null and b/rtdata/images/themed/png/light/star-gold.png differ diff --git a/rtdata/images/themed/png/light/star-hollow-narrow.png b/rtdata/images/themed/png/light/star-hollow-narrow.png new file mode 100644 index 000000000..4a15f0ba1 Binary files /dev/null and b/rtdata/images/themed/png/light/star-hollow-narrow.png differ diff --git a/rtdata/images/themed/png/light/star-hollow.png b/rtdata/images/themed/png/light/star-hollow.png new file mode 100644 index 000000000..3e610948d Binary files /dev/null and b/rtdata/images/themed/png/light/star-hollow.png differ diff --git a/rtdata/images/themed/png/light/star-narrow.png b/rtdata/images/themed/png/light/star-narrow.png new file mode 100644 index 000000000..78c8eea8a Binary files /dev/null and b/rtdata/images/themed/png/light/star-narrow.png differ diff --git a/rtdata/images/themed/png/light/star-small.png b/rtdata/images/themed/png/light/star-small.png index 8ff98fa6b..2bb54647a 100644 Binary files a/rtdata/images/themed/png/light/star-small.png and b/rtdata/images/themed/png/light/star-small.png differ diff --git a/rtdata/images/themed/png/light/star.png b/rtdata/images/themed/png/light/star.png new file mode 100644 index 000000000..f29ccfdcd Binary files /dev/null and b/rtdata/images/themed/png/light/star.png differ diff --git a/rtdata/images/themed/svg/color-picker-add-hicontrast.svg b/rtdata/images/themed/svg/color-picker-add-hicontrast.svg new file mode 100644 index 000000000..3d51dd31f --- /dev/null +++ b/rtdata/images/themed/svg/color-picker-add-hicontrast.svg @@ -0,0 +1,142 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/color-picker-hicontrast.svg b/rtdata/images/themed/svg/color-picker-hicontrast.svg new file mode 100644 index 000000000..867f9730b --- /dev/null +++ b/rtdata/images/themed/svg/color-picker-hicontrast.svg @@ -0,0 +1,137 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/crosshair.svg b/rtdata/images/themed/svg/crosshair-hicontrast.svg similarity index 100% rename from rtdata/images/themed/svg/crosshair.svg rename to rtdata/images/themed/svg/crosshair-hicontrast.svg diff --git a/rtdata/images/themed/svg/gamut-plus.svg b/rtdata/images/themed/svg/gamut-plus.svg index 218f3068d..c27796b70 100644 --- a/rtdata/images/themed/svg/gamut-plus.svg +++ b/rtdata/images/themed/svg/gamut-plus.svg @@ -42,7 +42,7 @@ inkscape:snap-bbox="true" inkscape:bbox-nodes="true" inkscape:snap-others="false" - inkscape:object-nodes="true" + inkscape:object-nodes="false" inkscape:snap-grids="true" inkscape:snap-bbox-midpoints="false"> - + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/node-move-xy-hicontrast.svg b/rtdata/images/themed/svg/node-move-xy-hicontrast.svg new file mode 100644 index 000000000..9c3915804 --- /dev/null +++ b/rtdata/images/themed/svg/node-move-xy-hicontrast.svg @@ -0,0 +1,130 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/node-move-y-hicontrast.svg b/rtdata/images/themed/svg/node-move-y-hicontrast.svg new file mode 100644 index 000000000..fe7b285e7 --- /dev/null +++ b/rtdata/images/themed/svg/node-move-y-hicontrast.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/power-off-small.svg b/rtdata/images/themed/svg/power-off-small.svg index aeaa42993..d04115bb9 100644 --- a/rtdata/images/themed/svg/power-off-small.svg +++ b/rtdata/images/themed/svg/power-off-small.svg @@ -18,7 +18,7 @@ inkscape:export-xdpi="96" inkscape:export-ydpi="96" inkscape:version="0.92.2 2405546, 2018-03-11" - sodipodi:docname="power-off.svg"> + sodipodi:docname="power-off-small.svg"> + r="3.2497637" /> diff --git a/rtdata/images/themed/svg/rotate-aroundnode-hicontrast.svg b/rtdata/images/themed/svg/rotate-aroundnode-hicontrast.svg new file mode 100644 index 000000000..fda645c55 --- /dev/null +++ b/rtdata/images/themed/svg/rotate-aroundnode-hicontrast.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/rotate-aroundnode.svg b/rtdata/images/themed/svg/rotate-aroundnode.svg new file mode 100644 index 000000000..67ac406fa --- /dev/null +++ b/rtdata/images/themed/svg/rotate-aroundnode.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/square-toggle-black-off.svg b/rtdata/images/themed/svg/square-toggle-black-off-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-black-off.svg rename to rtdata/images/themed/svg/square-toggle-black-off-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-black-on.svg b/rtdata/images/themed/svg/square-toggle-black-on-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-black-on.svg rename to rtdata/images/themed/svg/square-toggle-black-on-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-blue-off.svg b/rtdata/images/themed/svg/square-toggle-blue-off-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-blue-off.svg rename to rtdata/images/themed/svg/square-toggle-blue-off-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-blue-on.svg b/rtdata/images/themed/svg/square-toggle-blue-on-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-blue-on.svg rename to rtdata/images/themed/svg/square-toggle-blue-on-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-gray-off.svg b/rtdata/images/themed/svg/square-toggle-gray-off-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-gray-off.svg rename to rtdata/images/themed/svg/square-toggle-gray-off-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-gray-on.svg b/rtdata/images/themed/svg/square-toggle-gray-on-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-gray-on.svg rename to rtdata/images/themed/svg/square-toggle-gray-on-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-green-off.svg b/rtdata/images/themed/svg/square-toggle-green-off-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-green-off.svg rename to rtdata/images/themed/svg/square-toggle-green-off-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-green-on.svg b/rtdata/images/themed/svg/square-toggle-green-on-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-green-on.svg rename to rtdata/images/themed/svg/square-toggle-green-on-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-luminosity-off.svg b/rtdata/images/themed/svg/square-toggle-luminosity-off-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-luminosity-off.svg rename to rtdata/images/themed/svg/square-toggle-luminosity-off-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-luminosity-on.svg b/rtdata/images/themed/svg/square-toggle-luminosity-on-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-luminosity-on.svg rename to rtdata/images/themed/svg/square-toggle-luminosity-on-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-red-off.svg b/rtdata/images/themed/svg/square-toggle-red-off-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-red-off.svg rename to rtdata/images/themed/svg/square-toggle-red-off-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-red-on.svg b/rtdata/images/themed/svg/square-toggle-red-on-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-red-on.svg rename to rtdata/images/themed/svg/square-toggle-red-on-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-theme-off.svg b/rtdata/images/themed/svg/square-toggle-theme-off-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-theme-off.svg rename to rtdata/images/themed/svg/square-toggle-theme-off-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-theme-on.svg b/rtdata/images/themed/svg/square-toggle-theme-on-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-theme-on.svg rename to rtdata/images/themed/svg/square-toggle-theme-on-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-white-off.svg b/rtdata/images/themed/svg/square-toggle-white-off-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-white-off.svg rename to rtdata/images/themed/svg/square-toggle-white-off-narrow.svg diff --git a/rtdata/images/themed/svg/square-toggle-white-on.svg b/rtdata/images/themed/svg/square-toggle-white-on-narrow.svg similarity index 100% rename from rtdata/images/themed/svg/square-toggle-white-on.svg rename to rtdata/images/themed/svg/square-toggle-white-on-narrow.svg diff --git a/rtdata/images/themed/svg/star-gold-hollow-narrow.svg b/rtdata/images/themed/svg/star-gold-hollow-narrow.svg new file mode 100644 index 000000000..82ab83a4a --- /dev/null +++ b/rtdata/images/themed/svg/star-gold-hollow-narrow.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/star-gold-narrow.svg b/rtdata/images/themed/svg/star-gold-narrow.svg new file mode 100644 index 000000000..ee54c8214 --- /dev/null +++ b/rtdata/images/themed/svg/star-gold-narrow.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/star-hollow-narrow.svg b/rtdata/images/themed/svg/star-hollow-narrow.svg new file mode 100644 index 000000000..66b1c233c --- /dev/null +++ b/rtdata/images/themed/svg/star-hollow-narrow.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/star-narrow.svg b/rtdata/images/themed/svg/star-narrow.svg new file mode 100644 index 000000000..90add16d5 --- /dev/null +++ b/rtdata/images/themed/svg/star-narrow.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + + + diff --git a/rtdata/images/themed/svg/star-small.svg b/rtdata/images/themed/svg/star-small.svg index f15d135b8..cd7a9b8ef 100644 --- a/rtdata/images/themed/svg/star-small.svg +++ b/rtdata/images/themed/svg/star-small.svg @@ -26,8 +26,8 @@ borderopacity="1.0" inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:zoom="50.625" - inkscape:cx="8" + inkscape:zoom="51.375" + inkscape:cx="8.0194647" inkscape:cy="8" inkscape:document-units="px" inkscape:current-layer="layer1" @@ -109,8 +109,8 @@ transform="translate(0,-8)"> + transform="matrix(0.86350439,-0.28029946,0.28056958,0.86267304,-3.3971484,4.0671624)" + inkscape:transform-center-y="-0.51970384" /> diff --git a/rtdata/images/themed/svg/template-narrow.svg b/rtdata/images/themed/svg/template-narrow.svg new file mode 100644 index 000000000..9a6321317 --- /dev/null +++ b/rtdata/images/themed/svg/template-narrow.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + image/svg+xml + + + + + Maciej Dworak + + + + + + + + RawTherapee icon. + + + + + + + + + + + + + + diff --git a/rtengine/curves.h b/rtengine/curves.h index 98934f13a..a9f4b4ace 100644 --- a/rtengine/curves.h +++ b/rtengine/curves.h @@ -444,6 +444,7 @@ protected: DiagonalCurveType kind; void spline_cubic_set (); + void catmull_rom_set(); void NURBS_set (); public: diff --git a/rtengine/diagonalcurves.cc b/rtengine/diagonalcurves.cc index a3b00b165..f478ba719 100644 --- a/rtengine/diagonalcurves.cc +++ b/rtengine/diagonalcurves.cc @@ -86,7 +86,8 @@ DiagonalCurve::DiagonalCurve (const std::vector& p, int poly_pn) if (!identity) { if (kind == DCT_Spline && N > 2) { - spline_cubic_set (); + //spline_cubic_set (); + catmull_rom_set(); } else if (kind == DCT_NURBS && N > 2) { NURBS_set (); fillHash(); @@ -270,6 +271,164 @@ void DiagonalCurve::NURBS_set () fillDyByDx(); } + +/***************************************************************************** + * Catmull Rom Spline + * (https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline) + *****************************************************************************/ + +namespace { + +inline double pow2(double x) +{ + return x*x; +} + + +inline double catmull_rom_tj(double ti, + double xi, double yi, + double xj, double yj) +{ + // see https://github.com/Beep6581/RawTherapee/pull/4701#issuecomment-414054187 + static constexpr double alpha = 0.375; + return pow(sqrt(pow2(xj-xi) + pow2(yj-yi)), alpha) + ti; +} + + +inline void catmull_rom_spline(int n_points, + double p0_x, double p0_y, + double p1_x, double p1_y, + double p2_x, double p2_y, + double p3_x, double p3_y, + std::vector &res_x, + std::vector &res_y) +{ + res_x.reserve(n_points); + res_y.reserve(n_points); + + double t0 = 0; + double t1 = catmull_rom_tj(t0, p0_x, p0_y, p1_x, p1_y); + double t2 = catmull_rom_tj(t1, p1_x, p1_y, p2_x, p2_y); + double t3 = catmull_rom_tj(t2, p2_x, p2_y, p3_x, p3_y); + + double space = (t2-t1) / n_points; + + double t; + int i; + double c, d, A1_x, A1_y, A2_x, A2_y, A3_x, A3_y; + double B1_x, B1_y, B2_x, B2_y, C_x, C_y; + + res_x.push_back(p1_x); + res_y.push_back(p1_y); + + // special case, a segment at 0 or 1 is computed exactly + if (p1_y == p2_y && (p1_y == 0 || p1_y == 1)) { + for (i = 1; i < n_points-1; ++i) { + t = p1_x + space * i; + res_x.push_back(t); + res_y.push_back(p1_y); + } + } else { + for (i = 1; i < n_points-1; ++i) { + t = t1 + space * i; + + c = (t1 - t)/(t1 - t0); + d = (t - t0)/(t1 - t0); + A1_x = c * p0_x + d * p1_x; + A1_y = c * p0_y + d * p1_y; + + c = (t2 - t)/(t2 - t1); + d = (t - t1)/(t2 - t1); + A2_x = c * p1_x + d * p2_x; + A2_y = c * p1_y + d * p2_y; + + c = (t3 - t)/(t3 - t2); + d = (t - t2)/(t3 - t2); + A3_x = c * p2_x + d * p3_x; + A3_y = c * p2_y + d * p3_y; + + c = (t2 - t)/(t2 - t0); + d = (t - t0)/(t2 - t0); + B1_x = c * A1_x + d * A2_x; + B1_y = c * A1_y + d * A2_y; + + c = (t3 - t)/(t3 - t1); + d = (t - t1)/(t3 - t1); + B2_x = c * A2_x + d * A3_x; + B2_y = c * A2_y + d * A3_y; + + c = (t2 - t)/(t2 - t1); + d = (t - t1)/(t2 - t1); + C_x = c * B1_x + d * B2_x; + C_y = c * B1_y + d * B2_y; + + res_x.push_back(C_x); + res_y.push_back(C_y); + } + } + + res_x.push_back(p2_x); + res_y.push_back(p2_y); +} + + +inline void catmull_rom_reflect(double px, double py, double cx, double cy, + double &rx, double &ry) +{ +#if 0 + double dx = px - cx; + double dy = py - cy; + rx = cx - dx; + ry = cy - dy; +#else + // see https://github.com/Beep6581/RawTherapee/pull/4701#issuecomment-414054187 + static constexpr double epsilon = 1e-5; + double dx = px - cx; + double dy = py - cy; + rx = cx - dx * 0.01; + ry = dx > epsilon ? (dy / dx) * (rx - cx) + cy : cy; +#endif +} + + +void catmull_rom_chain(int n_points, int n_cp, double *x, double *y, + std::vector &res_x, std::vector &res_y) +{ + double x_first, y_first; + double x_last, y_last; + catmull_rom_reflect(x[1], y[1], x[0], y[0], x_first, y_first); + catmull_rom_reflect(x[n_cp-2], y[n_cp-2], x[n_cp-1], y[n_cp-1], x_last, y_last); + + int segments = n_cp - 1; + + res_x.reserve(n_points); + res_y.reserve(n_points); + + for (int i = 0; i < segments; ++i) { + int n = max(int(n_points * (x[i+1] - x[i]) + 0.5), 2); + catmull_rom_spline( + n, i == 0 ? x_first : x[i-1], i == 0 ? y_first : y[i-1], + x[i], y[i], x[i+1], y[i+1], + i == segments-1 ? x_last : x[i+2], + i == segments-1 ? y_last : y[i+2], + res_x, res_y); + } +} + +} // namespace + + +void DiagonalCurve::catmull_rom_set() +{ + int n_points = max(ppn * 65, 65000); + poly_x.clear(); + poly_y.clear(); + catmull_rom_chain(n_points, N, x, y, poly_x, poly_y); +} + +/*****************************************************************************/ + + double DiagonalCurve::getVal (double t) const { @@ -300,7 +459,8 @@ double DiagonalCurve::getVal (double t) const } case DCT_Linear : - case DCT_Spline : { + // case DCT_Spline : + { // values under and over the first and last point if (t > x[N - 1]) { return y[N - 1]; @@ -324,20 +484,33 @@ double DiagonalCurve::getVal (double t) const double h = x[k_hi] - x[k_lo]; // linear - if (kind == DCT_Linear) { + // if (kind == DCT_Linear) { return y[k_lo] + (t - x[k_lo]) * ( y[k_hi] - y[k_lo] ) / h; - } - // spline curve - else { // if (kind==Spline) { - double a = (x[k_hi] - t) / h; - double b = (t - x[k_lo]) / h; - double r = a * y[k_lo] + b * y[k_hi] + ((a * a * a - a) * ypp[k_lo] + (b * b * b - b) * ypp[k_hi]) * (h * h) * 0.1666666666666666666666666666666; - return CLIPD(r); - } + // } + // // spline curve + // else { // if (kind==Spline) { + // double a = (x[k_hi] - t) / h; + // double b = (t - x[k_lo]) / h; + // double r = a * y[k_lo] + b * y[k_hi] + ((a * a * a - a) * ypp[k_lo] + (b * b * b - b) * ypp[k_hi]) * (h * h) * 0.1666666666666666666666666666666; + // return CLIPD(r); + // } break; } + case DCT_Spline: { + auto it = std::lower_bound(poly_x.begin(), poly_x.end(), t); + if (it == poly_x.end()) { + return poly_y.back(); + } + auto d = it - poly_x.begin(); + if (it+1 < poly_x.end() && t - *it > *(it+1) - t) { + ++d; + } + return LIM01(*(poly_y.begin() + d)); + break; + } + case DCT_NURBS : { // get the hash table entry by rounding the value (previously multiplied by "hashSize") unsigned short int i = (unsigned short int)(t * hashSize); diff --git a/rtengine/histmatching.cc b/rtengine/histmatching.cc index 2dfcc6d3b..b2fe436fd 100644 --- a/rtengine/histmatching.cc +++ b/rtengine/histmatching.cc @@ -97,6 +97,55 @@ int findMatch(int val, const std::vector &cdf, int j) } +class CubicSplineCurve: public DiagonalCurve { +public: + CubicSplineCurve(const std::vector &points): + DiagonalCurve({DCT_Linear}) + { + N = points.size() / 2; + x = new double[N]; + y = new double[N]; + + for (int i = 0; i < N; ++i) { + x[i] = points[2*i]; + y[i] = points[2*i+1]; + } + kind = DCT_Spline; + spline_cubic_set(); + } + + double getVal(double t) const + { + // values under and over the first and last point + if (t > x[N - 1]) { + return y[N - 1]; + } else if (t < x[0]) { + return y[0]; + } + + // do a binary search for the right interval: + unsigned int k_lo = 0, k_hi = N - 1; + + while (k_hi > 1 + k_lo) { + unsigned int k = (k_hi + k_lo) / 2; + + if (x[k] > t) { + k_hi = k; + } else { + k_lo = k; + } + } + + double h = x[k_hi] - x[k_lo]; + + double a = (x[k_hi] - t) / h; + double b = (t - x[k_lo]) / h; + double r = a * y[k_lo] + b * y[k_hi] + ((a * a * a - a) * ypp[k_lo] + (b * b * b - b) * ypp[k_hi]) * (h * h) * 0.1666666666666666666666666666666; + return LIM01(r); + } +}; + + void mappingToCurve(const std::vector &mapping, std::vector &curve) { curve.clear(); @@ -117,8 +166,9 @@ void mappingToCurve(const std::vector &mapping, std::vector &curve) auto coord = [](int v) -> double { return double(v)/255.0; }; auto doit = - [&](int start, int stop, int step, bool addstart) -> void + [&](int start, int stop, int step, bool addstart, int maxdelta=0) -> void { + if (!maxdelta) maxdelta = step * 2; int prev = start; if (addstart && mapping[start] >= 0) { curve.push_back(coord(start)); @@ -131,7 +181,7 @@ void mappingToCurve(const std::vector &mapping, std::vector &curve) } bool change = i > 0 && v != mapping[i-1]; int diff = i - prev; - if ((change && std::abs(diff - step) <= 1) || diff > step * 2) { + if ((change && std::abs(diff - step) <= 1) || diff > maxdelta) { curve.push_back(coord(i)); curve.push_back(coord(v)); prev = i; @@ -152,24 +202,36 @@ void mappingToCurve(const std::vector &mapping, std::vector &curve) int end = mapping.size(); if (idx <= end / 3) { doit(start, idx, idx / 2, true); - doit(idx, end, (end - idx) / 3, false); + step = (end - idx) / 4; + doit(idx, end, step, false, step); } else { doit(start, idx, idx > step ? step : idx / 2, true); - doit(idx, int(mapping.size()), step, idx - step > step / 2 && std::abs(curve[curve.size()-2] - coord(idx)) > 0.01); + doit(idx, end, step, idx - step > step / 2 && std::abs(curve[curve.size()-2] - coord(idx)) > 0.01); } - if (curve.size() > 2 && (1 - curve[curve.size()-2] <= step / (256.0 * 3))) { + if (curve.size() > 2 && (1 - curve[curve.size()-2] <= coord(step) / 3)) { curve.pop_back(); curve.pop_back(); } - + curve.push_back(1.0); curve.push_back(1.0); if (curve.size() < 4) { curve = { DCT_Linear }; // not enough points, fall back to linear } else { - curve.insert(curve.begin(), DCT_Spline); + CubicSplineCurve c(curve); + double gap = 0.05; + double x = 0.0; + curve = { DCT_Spline }; + while (x < 1.0) { + curve.push_back(x); + curve.push_back(c.getVal(x)); + x += gap; + gap *= 1.4; + } + curve.push_back(1.0); + curve.push_back(c.getVal(1.0)); } } @@ -220,7 +282,7 @@ void RawImageSource::getAutoMatchedToneCurve(const ColorManagementParams &cp, st neutral.icm = cp; neutral.raw.bayersensor.method = RAWParams::BayerSensor::getMethodString(RAWParams::BayerSensor::Method::FAST); neutral.raw.xtranssensor.method = RAWParams::XTransSensor::getMethodString(RAWParams::XTransSensor::Method::FAST); - neutral.icm.outputProfile = "sRGB"; + neutral.icm.outputProfile = ColorManagementParams::NoICMString; std::unique_ptr source; { diff --git a/rtengine/ipresize.cc b/rtengine/ipresize.cc index f9ff94ef9..b3275b2e4 100644 --- a/rtengine/ipresize.cc +++ b/rtengine/ipresize.cc @@ -373,6 +373,7 @@ float ImProcFunctions::resizeScale (const ProcParams* params, int fw, int fh, in } else { dScale = (double)params->resize.height / (double)refh; } + dScale = (dScale > 1.0 && !params->resize.allowUpscaling) ? 1.0 : dScale; break; diff --git a/rtengine/settings.h b/rtengine/settings.h index 65a469794..3f5a5d1fe 100644 --- a/rtengine/settings.h +++ b/rtengine/settings.h @@ -30,13 +30,13 @@ class Settings public: Glib::ustring iccDirectory; ///< The directory containing the possible output icc profiles int viewingdevice; // white of output device (D50...D65..) - int viewingdevicegrey; // level of grey output device + int viewingdevicegrey; // level of grey output device int viewinggreySc; // level of grey Scene - int leveldnv; // level of crop denoise - int leveldnti; // size of tiles denoise + int leveldnv; // level of crop denoise + int leveldnti; // size of tiles denoise int leveldnaut; // level of auto denoise int leveldnliss; // level of auto multi zone - int leveldnautsimpl; // STD or EXPERT + int leveldnautsimpl; // STD or EXPERT Glib::ustring printerProfile; ///< ICC profile name used for soft-proofing a printer output RenderingIntent printerIntent; ///< Colorimetric intent used with the above profile @@ -64,7 +64,8 @@ public: bool gamutICC; // no longer used bool gamutLch; - bool HistogramWorking; + bool HistogramWorking; // true: histogram is display the value of the image computed in the Working profile + // false: histogram is display the value of the image computed in the Output profile int amchroma; int protectred; double protectredh; diff --git a/rtgui/crophandler.h b/rtgui/crophandler.h index 17f2ca47d..305d15e2c 100644 --- a/rtgui/crophandler.h +++ b/rtgui/crophandler.h @@ -97,8 +97,8 @@ public: rtengine::procparams::CropParams cropParams; rtengine::procparams::ColorManagementParams colorParams; - Glib::RefPtr cropPixbuf; - Glib::RefPtr cropPixbuftrue; + Glib::RefPtr cropPixbuf; // image displayed on monitor, using the monitor profile (i.e. lab to monitor profile) + Glib::RefPtr cropPixbuftrue; // internal image in output color space for analysis (i.e. lab to either Working profile or Output profile, depending on options.rtSettings.HistogramWorking) MyMutex cimg; diff --git a/rtgui/cropwindow.cc b/rtgui/cropwindow.cc index d3232ae22..77118277c 100644 --- a/rtgui/cropwindow.cc +++ b/rtgui/cropwindow.cc @@ -1007,7 +1007,9 @@ void CropWindow::pointerMoved (int bstate, int x, int y) int mx, my; screenCoordToImage (x, y, mx, my); - if (!onArea (CropImage, x, y) || !cropHandler.cropPixbuf) { + MyMutex::MyLock lock(cropHandler.cimg); + + if (!onArea (CropImage, x, y) || !cropHandler.cropPixbuftrue) { cropHandler.getFullImageSize(mx, my); // pmlistener->pointerMoved (false, cropHandler.colorParams.working, mx, my, -1, -1, -1); // if (pmhlistener) pmhlistener->pointerMoved (false, cropHandler.colorParams.working, mx, my, -1, -1, -1); @@ -1023,7 +1025,7 @@ void CropWindow::pointerMoved (int bstate, int x, int y) } } else { - /*MyMutex::MyLock lock(cropHandler.cimg); + /* int vx = x - xpos - imgX; int vy = y - ypos - imgY; @@ -1033,7 +1035,6 @@ void CropWindow::pointerMoved (int bstate, int x, int y) */ - cropHandler.cimg.lock (); int vx = x - xpos - imgX; int vy = y - ypos - imgY; @@ -1045,9 +1046,9 @@ void CropWindow::pointerMoved (int bstate, int x, int y) // guint8* pix = cropHandler.cropPixbuf->get_pixels() + vy*cropHandler.cropPixbuf->get_rowstride() + vx*3; // if (vx < cropHandler.cropPixbuf->get_width() && vy < cropHandler.cropPixbuf->get_height()) // pmlistener->pointerMoved (true, mx, my, pix[0], pix[1], pix[2]); - int imwidth = cropHandler.cropPixbuf->get_width(); - int imheight = cropHandler.cropPixbuf->get_height(); - guint8* pix = cropHandler.cropPixbuf->get_pixels() + vy * cropHandler.cropPixbuf->get_rowstride() + vx * 3; + int imwidth = cropHandler.cropPixbuftrue->get_width(); + int imheight = cropHandler.cropPixbuftrue->get_height(); + guint8* pix = cropHandler.cropPixbuftrue->get_pixels() + vy * cropHandler.cropPixbuftrue->get_rowstride() + vx * 3; int rval = pix[0]; int gval = pix[1]; @@ -1062,17 +1063,16 @@ void CropWindow::pointerMoved (int bstate, int x, int y) isrc->getRawValues(mx, my, params.coarse.rotate, rval, gval, bval); } } - // pmlistener->pointerMoved (true, cropHandler.colorParams.working, mx, my, pix[0], pix[1], pix[2]); + + // Updates the Navigator + // TODO: possible double color conversion if rval, gval, bval come from cropHandler.cropPixbuftrue ? see issue #4583 pmlistener->pointerMoved (true, cropHandler.colorParams.outputProfile, cropHandler.colorParams.workingProfile, mx, my, rval, gval, bval); - if (pmhlistener) - // pmhlistener->pointerMoved (true, cropHandler.colorParams.working, mx, my, pix[0], pix[1], pix[2]); - { - pmhlistener->pointerMoved (true, cropHandler.colorParams.outputProfile, cropHandler.colorParams.workingProfile, mx, my, pix[0], pix[1], pix[2]); + if (pmhlistener) { + // Updates the HistogramRGBArea + pmhlistener->pointerMoved (true, cropHandler.colorParams.outputProfile, cropHandler.colorParams.workingProfile, mx, my, rval, gval, bval); } } - - cropHandler.cimg.unlock (); } } } diff --git a/rtgui/cursormanager.cc b/rtgui/cursormanager.cc index d1973dcca..6c280ee8c 100644 --- a/rtgui/cursormanager.cc +++ b/rtgui/cursormanager.cc @@ -51,15 +51,15 @@ void CursorManager::init (Glib::RefPtr mainWindow) cAdd = Gdk::Cursor::create (display, Gdk::PLUS); cWait = Gdk::Cursor::create (display, Gdk::CLOCK); - Glib::RefPtr hand = RTImage::createFromFile ("crosshair.png"); - Glib::RefPtr close_hand = RTImage::createFromFile ("hand-closed.png"); - Glib::RefPtr wbpick = RTImage::createFromFile ("color-picker.png"); - Glib::RefPtr cpick = RTImage::createFromFile ("color-picker-add.png"); + Glib::RefPtr hand = RTImage::createFromFile ("crosshair-hicontrast.png"); + Glib::RefPtr close_hand = RTImage::createFromFile ("hand-closed-hicontrast.png"); + Glib::RefPtr wbpick = RTImage::createFromFile ("color-picker-hicontrast.png"); + Glib::RefPtr cpick = RTImage::createFromFile ("color-picker-add-hicontrast.png"); Glib::RefPtr empty = RTImage::createFromFile ("empty.png"); - Glib::RefPtr move2D = RTImage::createFromFile ("node-move-xy.png"); - Glib::RefPtr move1DH = RTImage::createFromFile ("node-move-x.png"); - Glib::RefPtr move1DV = RTImage::createFromFile ("node-move-y.png"); - Glib::RefPtr moveRotate = RTImage::createFromFile ("move-rotate.png"); + Glib::RefPtr move2D = RTImage::createFromFile ("node-move-xy-hicontrast.png"); + Glib::RefPtr move1DH = RTImage::createFromFile ("node-move-x-hicontrast.png"); + Glib::RefPtr move1DV = RTImage::createFromFile ("node-move-y-hicontrast.png"); + Glib::RefPtr moveRotate = RTImage::createFromFile ("rotate-aroundnode-hicontrast.png"); cHand = hand ? Gdk::Cursor::create (cAdd->get_display(), hand, 12, 12) : Gdk::Cursor::create (cAdd->get_display(), Gdk::HAND2); cClosedHand = close_hand ? Gdk::Cursor::create (cAdd->get_display(), close_hand, 12, 12) : Gdk::Cursor::create (cAdd->get_display(), Gdk::HAND2); diff --git a/rtgui/filethumbnailbuttonset.cc b/rtgui/filethumbnailbuttonset.cc index d32c1c339..556397b7b 100644 --- a/rtgui/filethumbnailbuttonset.cc +++ b/rtgui/filethumbnailbuttonset.cc @@ -42,9 +42,9 @@ FileThumbnailButtonSet::FileThumbnailButtonSet (FileBrowserEntry* myEntry) { if (!iconsLoaded) { - unRankIcon = RTImage::createFromPng ("star-hollow-small.png"); - rankIcon = RTImage::createFromPng ("star-gold-small.png"); - gRankIcon = RTImage::createFromPng ("star-small.png"); + unRankIcon = RTImage::createFromPng ("star-hollow-narrow.png"); + rankIcon = RTImage::createFromPng ("star-gold-narrow.png"); + gRankIcon = RTImage::createFromPng ("star-narrow.png"); trashIcon = RTImage::createFromPng ("trash-small.png"); unTrashIcon = RTImage::createFromPng ("trash-remove-small.png"); processIcon = RTImage::createFromPng ("gears-small.png"); diff --git a/rtgui/previewmodepanel.cc b/rtgui/previewmodepanel.cc index 4b821f298..086f6ab17 100644 --- a/rtgui/previewmodepanel.cc +++ b/rtgui/previewmodepanel.cc @@ -24,23 +24,23 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) { - iR = new RTImage ("square-toggle-red-on.png"); - iG = new RTImage ("square-toggle-green-on.png"); - iB = new RTImage ("square-toggle-blue-on.png"); - iL = new RTImage ("square-toggle-luminosity-on.png"); - iBC0 = new RTImage ("square-toggle-theme-on.png"); - iBC1 = new RTImage ("square-toggle-black-on.png"); - iBC2 = new RTImage ("square-toggle-white-on.png"); - iBC3 = new RTImage ("square-toggle-gray-on.png"); + iR = new RTImage ("square-toggle-red-on-narrow.png"); + iG = new RTImage ("square-toggle-green-on-narrow.png"); + iB = new RTImage ("square-toggle-blue-on-narrow.png"); + iL = new RTImage ("square-toggle-luminosity-on-narrow.png"); + iBC0 = new RTImage ("square-toggle-theme-on-narrow.png"); + iBC1 = new RTImage ("square-toggle-black-on-narrow.png"); + iBC2 = new RTImage ("square-toggle-white-on-narrow.png"); + iBC3 = new RTImage ("square-toggle-gray-on-narrow.png"); - igR = new RTImage ("square-toggle-red-off.png"); - igG = new RTImage ("square-toggle-green-off.png"); - igB = new RTImage ("square-toggle-blue-off.png"); - igL = new RTImage ("square-toggle-luminosity-off.png"); - igBC0 = new RTImage ("square-toggle-theme-off.png"); - igBC1 = new RTImage ("square-toggle-black-off.png"); - igBC2 = new RTImage ("square-toggle-white-off.png"); - igBC3 = new RTImage ("square-toggle-gray-off.png"); + igR = new RTImage ("square-toggle-red-off-narrow.png"); + igG = new RTImage ("square-toggle-green-off-narrow.png"); + igB = new RTImage ("square-toggle-blue-off-narrow.png"); + igL = new RTImage ("square-toggle-luminosity-off-narrow.png"); + igBC0 = new RTImage ("square-toggle-theme-off-narrow.png"); + igBC1 = new RTImage ("square-toggle-black-off-narrow.png"); + igBC2 = new RTImage ("square-toggle-white-off-narrow.png"); + igBC3 = new RTImage ("square-toggle-gray-off-narrow.png"); backColor0 = Gtk::manage (new Gtk::ToggleButton ()); backColor0->get_style_context()->add_class("narrowbutton");