From 6796e8fff60f5da115d59591a89a2e189078f039 Mon Sep 17 00:00:00 2001 From: Seth Hillbrand Date: Tue, 20 Aug 2019 07:01:16 -0700 Subject: [PATCH] EEschema: Plot stroked edges over BG Items that have BG fill need to be plotted in the background but we still need their stroked edges to be in the FG. This is a workaround that overplots the edges ensuring visual similarity. Re-working the plot engine to support layers is a larger project. Fixes: lp:1833428 * https://bugs.launchpad.net/kicad/+bug/1833428 --- eeschema/class_libentry.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/eeschema/class_libentry.cpp b/eeschema/class_libentry.cpp index 9562f7c019..f415676445 100644 --- a/eeschema/class_libentry.cpp +++ b/eeschema/class_libentry.cpp @@ -530,7 +530,7 @@ void LIB_PART::Plot( PLOTTER* aPlotter, int aUnit, int aConvert, } // Not filled items and filled shapes are now plotted - // (plot only items which are not already plotted) + // Items that have BG fills only get re-stroked to ensure the edges are in the foreground for( LIB_ITEM& item : m_drawings ) { if( item.Type() == LIB_FIELD_T ) @@ -542,8 +542,7 @@ void LIB_PART::Plot( PLOTTER* aPlotter, int aUnit, int aConvert, if( aConvert && item.m_Convert && ( item.m_Convert != aConvert ) ) continue; - if( item.m_Fill != FILLED_WITH_BG_BODYCOLOR ) - item.Plot( aPlotter, aOffset, fill, aTransform ); + item.Plot( aPlotter, aOffset, fill && ( item.m_Fill != FILLED_WITH_BG_BODYCOLOR ), aTransform ); } }