← Back to team overview

kicad-developers team mailing list archive

[PATCH] Make all layers slightly semitransparent as before

 

When colors were changed to COLOR4D, the original semi-transparent
colors were lost, making things hard to see in multilayer boards
without hitting { many times each time the board is opened.

---
 pcbnew/pcb_painter.cpp | 4 +++-
 pcbnew/pcbframe.cpp    | 2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/pcbnew/pcb_painter.cpp b/pcbnew/pcb_painter.cpp
index d62d2c8f6..318e2195d 100644
--- a/pcbnew/pcb_painter.cpp
+++ b/pcbnew/pcb_painter.cpp
@@ -63,8 +63,10 @@ PCB_RENDER_SETTINGS::PCB_RENDER_SETTINGS()
 
 void PCB_RENDER_SETTINGS::ImportLegacyColors( const COLORS_DESIGN_SETTINGS* aSettings )
 {
-    for( int i = 0; i < LAYER_ID_COUNT; i++ )
+    for( int i = 0; i < LAYER_ID_COUNT; i++ ) {
         m_layerColors[i] = aSettings->GetLayerColor( i );
+        m_layerColors[i].a = 0.8;
+    }
 
     for( int i = 0; i < END_PCB_VISIBLE_LIST; i++ )
         m_layerColors[ITEM_GAL_LAYER( i )] = aSettings->GetItemColor( i );
diff --git a/pcbnew/pcbframe.cpp b/pcbnew/pcbframe.cpp
index 7abbaa329..8b95b7adc 100644
--- a/pcbnew/pcbframe.cpp
+++ b/pcbnew/pcbframe.cpp
@@ -740,6 +740,7 @@ void PCB_EDIT_FRAME::forceColorsToLegacy()
     {
         COLOR4D c = cds->GetLayerColor( i );
         c.SetToNearestLegacyColor();
+        c.a = 0.8;
         cds->SetLayerColor( i, c );
     }
 
@@ -747,6 +748,7 @@ void PCB_EDIT_FRAME::forceColorsToLegacy()
     {
         COLOR4D c = cds->GetItemColor( i );
         c.SetToNearestLegacyColor();
+        c.a = 0.8;
         cds->SetItemColor( i, c );
     }
 }

Follow ups