summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/unx/gtk/salnativewidgets-gtk.cxx14
-rw-r--r--vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx14
2 files changed, 12 insertions, 16 deletions
diff --git a/vcl/unx/gtk/salnativewidgets-gtk.cxx b/vcl/unx/gtk/salnativewidgets-gtk.cxx
index 5e07ade6ea93..e8e8cdd81ef7 100644
--- a/vcl/unx/gtk/salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk/salnativewidgets-gtk.cxx
@@ -3943,14 +3943,12 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
Color aDarkShadowColor = getColor( pStyle->fg[GTK_STATE_INSENSITIVE] );
aStyleSet.SetDarkShadowColor( aDarkShadowColor );
- int nRedDiff = aBackFieldColor.GetRed() - aDarkShadowColor.GetRed();
- int nGreenDiff = aBackFieldColor.GetGreen() - aDarkShadowColor.GetGreen();
- int nBlueDiff = aBackFieldColor.GetBlue() - aDarkShadowColor.GetBlue();
-
- Color aShadowColor(aBackFieldColor.GetRed() + nRedDiff / 2,
- aBackFieldColor.GetGreen() + nGreenDiff / 2,
- aBackFieldColor.GetBlue() + nBlueDiff / 2);
- aStyleSet.SetShadowColor( aShadowColor );
+ ::Color aShadowColor(aBackColor);
+ if (aDarkShadowColor.GetLuminance() > aBackColor.GetLuminance())
+ aShadowColor.IncreaseLuminance(64);
+ else
+ aShadowColor.DecreaseLuminance(64);
+ aStyleSet.SetShadowColor(aShadowColor);
// highlighting colors
Color aHighlightColor = getColor( pStyle->base[GTK_STATE_SELECTED] );
diff --git a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
index 48edf22f9d72..e036c207489f 100644
--- a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
@@ -2585,14 +2585,12 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
::Color aDarkShadowColor = getColor( color );
aStyleSet.SetDarkShadowColor( aDarkShadowColor );
- int nRedDiff = aBackFieldColor.GetRed() - aDarkShadowColor.GetRed();
- int nGreenDiff = aBackFieldColor.GetGreen() - aDarkShadowColor.GetGreen();
- int nBlueDiff = aBackFieldColor.GetBlue() - aDarkShadowColor.GetBlue();
-
- ::Color aShadowColor(aBackFieldColor.GetRed() + nRedDiff / 2,
- aBackFieldColor.GetGreen() + nGreenDiff / 2,
- aBackFieldColor.GetBlue() + nBlueDiff / 2);
- aStyleSet.SetShadowColor( aShadowColor );
+ ::Color aShadowColor(aBackColor);
+ if (aDarkShadowColor.GetLuminance() > aBackColor.GetLuminance())
+ aShadowColor.IncreaseLuminance(64);
+ else
+ aShadowColor.DecreaseLuminance(64);
+ aStyleSet.SetShadowColor(aShadowColor);
g_object_unref( pCStyle );