sc/source/ui/view/hdrcont.cxx |   31 +++++++++++++------------------
 sc/source/ui/view/tabview.cxx |    2 +-
 2 files changed, 14 insertions(+), 19 deletions(-)

New commits:
commit 0a0d3d1f8a34e0b8542c71fe9c3bd3b75d974e7c
Author:     Heiko Tietze <tietze.he...@gmail.com>
AuthorDate: Wed May 29 17:36:08 2024 +0200
Commit:     Heiko Tietze <heiko.tie...@documentfoundation.org>
CommitDate: Sat Jun 1 08:41:04 2024 +0200

    Resolves tdf#152923 - Make column header outstanding from background
    
    * Background color made darker/lighter depending on system settings
    * Separator lines with less contrast (ShadowColor instead of 
DarkShadowColor)
    * Extra line for selection removed as it extends the actual header
    * Todo: Vertical header starts at a few pixels distance to the edge 
(patchset 4 fails)
    
    Change-Id: If3c47b77ad0bca2db1c25ec46b488a2e338b8133
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168225
    Tested-by: Jenkins
    Reviewed-by: Heiko Tietze <heiko.tie...@documentfoundation.org>

diff --git a/sc/source/ui/view/hdrcont.cxx b/sc/source/ui/view/hdrcont.cxx
index ec64067f2507..251f9f6f3cf7 100644
--- a/sc/source/ui/view/hdrcont.cxx
+++ b/sc/source/ui/view/hdrcont.cxx
@@ -321,7 +321,12 @@ void ScHeaderControl::Paint( vcl::RenderContext& 
/*rRenderContext*/, const tools
 
     if ( nLineEnd * nLayoutSign >= nInitScrPos * nLayoutSign )
     {
-        GetOutDev()->SetFillColor( rStyleSettings.GetFaceColor() );
+        Color aFaceColor(rStyleSettings.GetFaceColor());
+        if (bDark)
+            aFaceColor.IncreaseLuminance(20);
+        else
+            aFaceColor.DecreaseLuminance(20);
+        GetOutDev()->SetFillColor( aFaceColor );
         if ( bVertical )
             aFillRect = tools::Rectangle( 0, nInitScrPos, nBarSize-1, nLineEnd 
);
         else
@@ -374,26 +379,16 @@ void ScHeaderControl::Paint( vcl::RenderContext& 
/*rRenderContext*/, const tools
             }
         }
 
-        GetOutDev()->SetLineColor( rStyleSettings.GetDarkShadowColor() );
+        GetOutDev()->SetLineColor( rStyleSettings.GetShadowColor() );
         if (bVertical)
         {
-            tools::Long nDarkPos = bMirrored ? 0 : nBarSize-1;
-            GetOutDev()->DrawLine( Point( nDarkPos, nPStart ), Point( 
nDarkPos, nLineEnd ) );
+            GetOutDev()->DrawLine( Point( 0, nPStart ), Point( 0, nLineEnd ) 
); //left
+            GetOutDev()->DrawLine( Point( nBarSize-1, nPStart ), Point( 
nBarSize-1, nLineEnd ) ); //right
         }
         else
-            GetOutDev()->DrawLine( Point( nPStart, nBarSize-1 ), Point( 
nLineEnd, nBarSize-1 ) );
-
-        // line in different color for selection
-        if ( nTransEnd * nLayoutSign >= nTransStart * nLayoutSign && 
!bHighContrast )
         {
-            GetOutDev()->SetLineColor(aSelLineColor);
-            if (bVertical)
-            {
-                tools::Long nDarkPos = bMirrored ? 0 : nBarSize-1;
-                GetOutDev()->DrawLine( Point( nDarkPos, nTransStart ), Point( 
nDarkPos, nTransEnd ) );
-            }
-            else
-                GetOutDev()->DrawLine( Point( nTransStart, nBarSize-1 ), 
Point( nTransEnd, nBarSize-1 ) );
+            GetOutDev()->DrawLine( Point( nPStart, nBarSize-1 ), Point( 
nLineEnd, nBarSize-1 ) ); //bottom
+            GetOutDev()->DrawLine( Point( nPStart, 0 ), Point( nLineEnd, 0 ) 
); //top
         }
     }
 
@@ -464,10 +459,10 @@ void ScHeaderControl::Paint( vcl::RenderContext& 
/*rRenderContext*/, const tools
         {
             case SC_HDRPAINT_SEL_BOTTOM:
                 // same as non-selected for high contrast
-                GetOutDev()->SetLineColor( bHighContrast ? 
rStyleSettings.GetDarkShadowColor() : aSelLineColor );
+                GetOutDev()->SetLineColor( bHighContrast ? 
rStyleSettings.GetShadowColor() : aSelLineColor );
                 break;
             case SC_HDRPAINT_BOTTOM:
-                GetOutDev()->SetLineColor( rStyleSettings.GetDarkShadowColor() 
);
+                GetOutDev()->SetLineColor( rStyleSettings.GetShadowColor() );
                 break;
             case SC_HDRPAINT_TEXT:
                 // DrawSelectionBackground is used only for high contrast on 
light background
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
index 17e4d8859231..8eba950c48ce 100644
--- a/sc/source/ui/view/tabview.cxx
+++ b/sc/source/ui/view/tabview.cxx
@@ -101,7 +101,7 @@ void ScCornerButton::Paint(vcl::RenderContext& 
rRenderContext, const tools::Rect
     tools::Long nDarkX = bLayoutRTL ? 0 : nPosX;
 
     //  both buttons have the same look now - only dark right/bottom lines
-    rRenderContext.SetLineColor(rStyleSettings.GetDarkShadowColor());
+    rRenderContext.SetLineColor(rStyleSettings.GetShadowColor());
     rRenderContext.DrawLine(Point(0, nPosY), Point(nPosX, nPosY));
     rRenderContext.DrawLine(Point(nDarkX, 0), Point(nDarkX, nPosY));
 }

Reply via email to