From c57e6db79a3c4969f772e214b91e4890828ce1dd Mon Sep 17 00:00:00 2001 From: Marek Roszko Date: Thu, 5 Jan 2023 23:32:24 -0500 Subject: [PATCH] Turn off plotting hidden fields in the svg export cli --- eeschema/eeschema_jobs_handler.cpp | 19 +++++++++---------- eeschema/lib_symbol.cpp | 6 +++++- eeschema/lib_symbol.h | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/eeschema/eeschema_jobs_handler.cpp b/eeschema/eeschema_jobs_handler.cpp index 6db3100146..98e7736bb0 100644 --- a/eeschema/eeschema_jobs_handler.cpp +++ b/eeschema/eeschema_jobs_handler.cpp @@ -394,22 +394,18 @@ int EESCHEMA_JOBS_HANDLER::doSymExportSvg( JOB_SYM_EXPORT_SVG* aSvgJob, if( symbol ) { - constexpr bool background = true; - TRANSFORM temp; // Uses default transform - VECTOR2I plotPos; + bool background = true; + TRANSFORM temp; // Uses default transform + VECTOR2I plotPos; plotPos.x = pageInfo.GetWidthIU( schIUScale.IU_PER_MILS ) / 2; plotPos.y = pageInfo.GetHeightIU( schIUScale.IU_PER_MILS ) / 2; symbol->Plot( plotter, unit, convert, background, plotPos, temp, false ); - - // Plot lib fields, not plotted by m_symbol->Plot(): - symbol->PlotLibFields( plotter, unit, convert, background, plotPos, temp, false ); + symbol->PlotLibFields( plotter, unit, convert, background, plotPos, temp, false, false ); symbol->Plot( plotter, unit, convert, !background, plotPos, temp, false ); - - // Plot lib fields, not plotted by m_symbol->Plot(): - symbol->PlotLibFields( plotter, unit, convert, !background, plotPos, temp, false ); + symbol->PlotLibFields( plotter, unit, convert, !background, plotPos, temp, false, false ); } plotter->EndPlot(); @@ -424,7 +420,10 @@ int EESCHEMA_JOBS_HANDLER::JobSymExportSvg( JOB* aJob ) { JOB_SYM_EXPORT_SVG* svgJob = dynamic_cast( aJob ); - SCH_SEXPR_PLUGIN_CACHE schLibrary( svgJob->m_libraryPath ); + wxFileName fn( svgJob->m_libraryPath ); + fn.MakeAbsolute(); + + SCH_SEXPR_PLUGIN_CACHE schLibrary( fn.GetFullPath() ); try { diff --git a/eeschema/lib_symbol.cpp b/eeschema/lib_symbol.cpp index f778107d80..69c4e8657a 100644 --- a/eeschema/lib_symbol.cpp +++ b/eeschema/lib_symbol.cpp @@ -741,7 +741,8 @@ void LIB_SYMBOL::Plot( PLOTTER *aPlotter, int aUnit, int aConvert, bool aBackgro void LIB_SYMBOL::PlotLibFields( PLOTTER* aPlotter, int aUnit, int aConvert, bool aBackground, - const VECTOR2I& aOffset, const TRANSFORM& aTransform, bool aDimmed ) + const VECTOR2I& aOffset, const TRANSFORM& aTransform, bool aDimmed, + bool aPlotHidden ) { wxASSERT( aPlotter != nullptr ); @@ -761,6 +762,9 @@ void LIB_SYMBOL::PlotLibFields( PLOTTER* aPlotter, int aUnit, int aConvert, bool if( item.Type() != LIB_FIELD_T ) continue; + if( !aPlotHidden && !( (LIB_FIELD&) item ).IsVisible() ) + continue; + if( aUnit && item.m_unit && ( item.m_unit != aUnit ) ) continue; diff --git a/eeschema/lib_symbol.h b/eeschema/lib_symbol.h index fe9bcca6c5..342b9e9c02 100644 --- a/eeschema/lib_symbol.h +++ b/eeschema/lib_symbol.h @@ -370,7 +370,7 @@ public: * @param aDimmed - reduce brightness of fields */ void PlotLibFields( PLOTTER* aPlotter, int aUnit, int aConvert, bool aBackground, - const VECTOR2I& aOffset, const TRANSFORM& aTransform, bool aDimmed ); + const VECTOR2I& aOffset, const TRANSFORM& aTransform, bool aDimmed, bool aPlotHidden = true ); /** * Add a new draw \a aItem to the draw object list and sort according to \a aSort.