From 69491fbe1aac6fda2b7e3d0d0d419030bcc7ae6c Mon Sep 17 00:00:00 2001 From: Christian Rohlfs Date: Tue, 14 Feb 2023 20:57:01 +0500 Subject: [PATCH] Make "Outline overlay opacity" preference control opacity and not transparency Also increase the preference range from [1..100] to [0..100] and correct the tooltip. --- src/ui/dialog/inkscape-preferences.cpp | 4 ++-- src/ui/widget/canvas/cairographics.cpp | 2 +- src/ui/widget/canvas/glgraphics.cpp | 2 +- src/ui/widget/canvas/prefs.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index 93b303a403..0672abba54 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -2831,8 +2831,8 @@ void InkscapePreferences::initPageRendering() _page_rendering.add_line( false, _("X-ray radius:"), _rendering_xray_radius, "", _("Radius of the circular area around the mouse cursor in X-ray mode"), false); // rendering outline overlay opacity - _rendering_outline_overlay_opacity.init("/options/rendering/outline-overlay-opacity", 1.0, 100.0, 1.0, 5.0, 50.0, true, false); - _page_rendering.add_line( false, _("Outline overlay opacity:"), _rendering_outline_overlay_opacity, _("%"), _("Opacity of the color in outline overlay view mode"), false); + _rendering_outline_overlay_opacity.init("/options/rendering/outline-overlay-opacity", 0.0, 100.0, 1.0, 5.0, 50.0, true, false); + _page_rendering.add_line( false, _("Outline overlay opacity:"), _rendering_outline_overlay_opacity, _("%"), _("Opacity of the overlay in outline overlay view mode"), false); // update strategy { diff --git a/src/ui/widget/canvas/cairographics.cpp b/src/ui/widget/canvas/cairographics.cpp index dafa26d74f..42b3353c10 100644 --- a/src/ui/widget/canvas/cairographics.cpp +++ b/src/ui/widget/canvas/cairographics.cpp @@ -337,7 +337,7 @@ void CairoGraphics::paint_widget(Fragment const &view, PaintArgs const &a, Cairo auto draw_overlay = [&, this] { // Get whitewash opacity. - double outline_overlay_opacity = 1.0 - prefs.outline_overlay_opacity / 100.0; + double outline_overlay_opacity = prefs.outline_overlay_opacity / 100.0; // Partially obscure drawing by painting semi-transparent white, then paint outline content. // Note: Unfortunately this also paints over the background, but this is unavoidable. diff --git a/src/ui/widget/canvas/glgraphics.cpp b/src/ui/widget/canvas/glgraphics.cpp index 0277aa7179..b00503c00f 100644 --- a/src/ui/widget/canvas/glgraphics.cpp +++ b/src/ui/widget/canvas/glgraphics.cpp @@ -764,7 +764,7 @@ void GLGraphics::paint_widget(Fragment const &view, PaintArgs const &a, Cairo::R glUniform1i(prog.loc("tex"), drawmode == DrawMode::Outline ? 2 : 0); if (drawmode == DrawMode::Combine) { glUniform1i(prog.loc("tex_outline"), 2); - glUniform1f(prog.loc("opacity"), 1.0 - prefs.outline_overlay_opacity / 100.0); + glUniform1f(prog.loc("opacity"), prefs.outline_overlay_opacity / 100.0); } if (stores.mode() == Stores::Mode::Normal) { diff --git a/src/ui/widget/canvas/prefs.h b/src/ui/widget/canvas/prefs.h index 8fabff193f..363fb6d897 100644 --- a/src/ui/widget/canvas/prefs.h +++ b/src/ui/widget/canvas/prefs.h @@ -17,7 +17,7 @@ public: // Main preferences Pref xray_radius = { "/options/rendering/xray-radius", 100, 1, 1500 }; - Pref outline_overlay_opacity = { "/options/rendering/outline-overlay-opacity", 50, 1, 100 }; + Pref outline_overlay_opacity = { "/options/rendering/outline-overlay-opacity", 50, 0, 100 }; Pref update_strategy = { "/options/rendering/update_strategy", 3, 1, 3 }; Pref request_opengl = { "/options/rendering/request_opengl" }; Pref grabsize = { "/options/grabsize/value", 3, 1, 15 }; -- GitLab