Commit bd14f8a8 authored by Jon Evans's avatar Jon Evans

ADDED: New appearance control widget for PcbNew

Featuring:
- Layer view presets
- Per-type opacity for tracks, vias, pads, zones
- Net and netclass color and visibility controls

CHANGED: Simplified object visibilty controls

Fixes #1951
Fixes #1981
Fixes #2003
Fixes #2173
Fixes #2254
Fixes #4325
parent d7f26cfd
......@@ -100,6 +100,8 @@ set( BMAPS_SMALL
trash
tree_nosel
tree_sel
visibility
visibility_off
www
)
......
/* Do not modify this file, it was automatically generated by the
* PNG2cpp CMake script, using a *.png file as input.
*/
#include <bitmaps_png/bitmaps_list.h>
static const unsigned char png[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0xb5, 0xfa, 0x37,
0xea, 0x00, 0x00, 0x00, 0xe5, 0x49, 0x44, 0x41, 0x54, 0x28, 0x15, 0x05, 0xc1, 0xb1, 0x2b, 0x84,
0x01, 0x00, 0x07, 0xd0, 0xf7, 0x5d, 0xb1, 0x89, 0x2c, 0x06, 0x92, 0x52, 0xea, 0x92, 0x8b, 0x44,
0x8e, 0xae, 0xce, 0x22, 0x3b, 0x83, 0xba, 0xe5, 0x16, 0xfb, 0x2d, 0x8c, 0x36, 0x7f, 0x87, 0xdd,
0x62, 0x30, 0x18, 0x24, 0xb1, 0xe8, 0x0c, 0x4e, 0x19, 0x2c, 0x26, 0x74, 0xc9, 0x6a, 0x40, 0x9d,
0xef, 0xe7, 0x3d, 0x00, 0x86, 0x14, 0xa8, 0xa9, 0x83, 0x61, 0x80, 0x0a, 0x80, 0x47, 0x55, 0x6c,
0xd9, 0xc5, 0x9c, 0x27, 0x80, 0x8a, 0xc2, 0x0a, 0xb8, 0xd7, 0x04, 0xb0, 0xa9, 0x0b, 0x56, 0x14,
0x85, 0x69, 0xf7, 0x5a, 0xae, 0x2c, 0x9a, 0x35, 0x61, 0x4a, 0xbc, 0xe9, 0x7b, 0xd3, 0xb3, 0xed,
0xc4, 0x32, 0x34, 0x9d, 0xda, 0xd2, 0x13, 0x51, 0x8a, 0x88, 0x3b, 0x0d, 0x67, 0x36, 0x00, 0x8e,
0x95, 0xe2, 0xd5, 0x8e, 0x11, 0xa3, 0x5a, 0x3e, 0xc4, 0x9f, 0x43, 0x80, 0x03, 0x11, 0xdf, 0xe6,
0xad, 0xbb, 0x74, 0x61, 0xc9, 0xaa, 0x81, 0x88, 0x7d, 0x98, 0xf1, 0x2b, 0xe2, 0x5a, 0xa1, 0x2f,
0xe2, 0x19, 0x0f, 0x22, 0xbe, 0x4c, 0x54, 0x44, 0x40, 0x21, 0x4a, 0x50, 0xa2, 0x00, 0x51, 0x42,
0x47, 0xc4, 0x8f, 0x05, 0xab, 0x2e, 0x9c, 0xab, 0xa9, 0x1b, 0x88, 0x68, 0x03, 0x1c, 0x29, 0xc5,
0xbb, 0x3d, 0x63, 0xc6, 0xb5, 0x7d, 0x8a, 0x81, 0x0e, 0x00, 0x6c, 0xea, 0x8a, 0x88, 0x88, 0xb8,
0xb1, 0x06, 0x14, 0x00, 0xa8, 0x6a, 0x98, 0x14, 0xaf, 0x6e, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0x5e, 0x5d, 0x56, 0xf6, 0x32, 0x70,
0x52, 0x40, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
};
const BITMAP_OPAQUE visibility_xpm[1] = {{ png, sizeof( png ), "visibility_xpm" }};
//EOF
/* Do not modify this file, it was automatically generated by the
* PNG2cpp CMake script, using a *.png file as input.
*/
#include <bitmaps_png/bitmaps_list.h>
static const unsigned char png[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0xb5, 0xfa, 0x37,
0xea, 0x00, 0x00, 0x00, 0xb6, 0x49, 0x44, 0x41, 0x54, 0x28, 0xcf, 0x63, 0x60, 0xa0, 0x27, 0x48,
0xd7, 0x4f, 0xcd, 0x4a, 0x6f, 0x4b, 0x6b, 0x4d, 0xcf, 0x48, 0xd7, 0xc2, 0x90, 0x4c, 0x73, 0x4b,
0x3b, 0x9f, 0xf6, 0x1f, 0x08, 0xff, 0x81, 0xc9, 0xff, 0xe9, 0xc7, 0x53, 0x6c, 0x91, 0xa5, 0x5b,
0xc1, 0x12, 0x8f, 0x52, 0x83, 0x93, 0x78, 0xd3, 0xf8, 0x53, 0xa3, 0xd3, 0x5e, 0x00, 0x79, 0x7f,
0xd3, 0xca, 0x60, 0xd2, 0xa5, 0x60, 0x5d, 0xdf, 0x53, 0xb5, 0x61, 0x1a, 0x32, 0xcc, 0xd2, 0xfe,
0x80, 0xc4, 0x52, 0x53, 0x81, 0x9c, 0x64, 0xf9, 0xb4, 0x1f, 0x60, 0x05, 0xfb, 0x80, 0x4a, 0x37,
0xa6, 0x9f, 0x01, 0xc2, 0x75, 0x40, 0xd6, 0x39, 0xb0, 0xd8, 0x97, 0x2c, 0x09, 0x84, 0x82, 0x03,
0x28, 0x0a, 0x20, 0x2e, 0xfa, 0x94, 0x28, 0x0a, 0xb2, 0xa2, 0x00, 0xcc, 0xf9, 0x91, 0xa6, 0x0b,
0xf7, 0x8f, 0x25, 0xd4, 0x8a, 0x04, 0xa8, 0x40, 0x6a, 0x1d, 0xd8, 0x91, 0x4f, 0x52, 0x23, 0x12,
0x04, 0x92, 0x85, 0x52, 0x13, 0xd2, 0x5e, 0x01, 0x79, 0x7f, 0xd2, 0x0a, 0x90, 0xfd, 0xe1, 0x98,
0x7a, 0x12, 0xe2, 0x41, 0x28, 0x3c, 0x98, 0x62, 0x81, 0x11, 0x16, 0x29, 0x9a, 0xe9, 0x69, 0xe9,
0x8d, 0x69, 0x0d, 0xa9, 0x49, 0xc9, 0x2a, 0x74, 0x8d, 0x21, 0x00, 0xfd, 0xf4, 0x70, 0x5c, 0x67,
0xba, 0xa2, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
};
const BITMAP_OPAQUE visibility_off_xpm[1] = {{ png, sizeof( png ), "visibility_off_xpm" }};
//EOF
......@@ -496,6 +496,8 @@ EXTERN_BITMAP( via_annulus_xpm )
EXTERN_BITMAP( via_diameter_xpm )
EXTERN_BITMAP( via_hole_diameter_xpm )
EXTERN_BITMAP( viewlibs_icon_xpm )
EXTERN_BITMAP( visibility_xpm )
EXTERN_BITMAP( visibility_off_xpm )
EXTERN_BITMAP( warning_xpm )
EXTERN_BITMAP( width_track_via_xpm )
EXTERN_BITMAP( width_track_xpm )
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="24"
height="24"
viewBox="0 0 24 24"
version="1.1"
id="svg3803"
sodipodi:docname="visibility.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<metadata
id="metadata3809">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<defs
id="defs3807" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1370"
id="namedview3805"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="45.254834"
inkscape:cx="-4.3168652"
inkscape:cy="15.336071"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg3803">
<sodipodi:guide
position="0,0"
orientation="0,24"
id="guide3862"
inkscape:locked="false" />
<sodipodi:guide
position="24,0"
orientation="-24,0"
id="guide3864"
inkscape:locked="false" />
<sodipodi:guide
position="24,24"
orientation="0,-24"
id="guide3866"
inkscape:locked="false" />
<sodipodi:guide
position="0,24"
orientation="24,0"
id="guide3868"
inkscape:locked="false" />
<sodipodi:guide
position="3.335608,16.474179"
orientation="0,1"
id="guide3872"
inkscape:locked="false" />
<sodipodi:guide
position="6.9364841,18.795302"
orientation="0,1"
id="guide3874"
inkscape:locked="false" />
<sodipodi:guide
position="1,12.010067"
orientation="1,0"
id="guide3876"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="22.959732,12.010067"
orientation="1,0"
id="guide3878"
inkscape:locked="false" />
<sodipodi:guide
position="11.321966,19.51172"
orientation="0,1"
id="guide3910"
inkscape:locked="false" />
<sodipodi:guide
position="12,14.295302"
orientation="1,0"
id="guide3915"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="8.3999893,19.167397"
orientation="1,0"
id="guide4765"
inkscape:locked="false" />
<sodipodi:guide
position="15.6,21.898213"
orientation="1,0"
id="guide4767"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="24,24"
orientation="1,0"
id="guide4784"
inkscape:locked="false" />
</sodipodi:namedview>
<path
d="M0 0h24v24H0z"
fill="none"
id="path3799" />
<path
d="m 11.959732,5.1644295 c -5.0000005,0 -9.2700005,2.8303087 -11.00000046,6.8255035 1.72999996,3.995195 5.99999996,6.825504 11.00000046,6.825504 5,0 9.27,-2.830309 11,-6.825504 -1.73,-3.9951948 -6,-6.8255035 -11,-6.8255035 z m 0,11.3758395 c -2.7600005,0 -5.0000005,-2.03855 -5.0000005,-4.550336 0,-2.5117854 2.24,-4.5503357 5.0000005,-4.5503357 2.76,0 5,2.0385503 5,4.5503357 0,2.511786 -2.24,4.550336 -5,4.550336 z m 0,-7.2805375 c -1.66,0 -3.0000005,1.2194895 -3.0000005,2.7302015 0,1.510712 1.3400005,2.730202 3.0000005,2.730202 1.66,0 3,-1.21949 3,-2.730202 0,-1.510712 -1.34,-2.7302015 -3,-2.7302015 z"
id="path3801"
inkscape:connector-curvature="0"
style="stroke-width:0.95397437" />
<rect
style="stroke-width:0.89999998;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
id="rect4742"
width="1.5100671"
height="3.6040268"
x="-2.3988652"
y="4.2705975"
ry="0.0195265"
transform="rotate(-40.846397)" />
<rect
style="stroke-width:0.89999998;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
id="rect4742-5"
width="1.5100671"
height="3.6040268"
x="5.4401145"
y="3.1494057"
ry="0.0195265"
transform="rotate(-14.26516)" />
<rect
style="stroke-width:0.89999998;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
id="rect4742-6"
width="1.5100671"
height="3.6040268"
x="11.323424"
y="0.88057196"
ry="0.0195265"
transform="rotate(0.01862949)" />
<rect
style="stroke-width:0.89999998;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
id="rect4742-5-2"
width="1.5100671"
height="3.6040268"
x="-17.841269"
y="-2.7698705"
ry="0.0195265"
transform="matrix(-0.96916574,-0.24640974,-0.24640974,0.96916574,0,0)" />
<rect
style="stroke-width:0.89999998;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
id="rect4742-9"
width="1.5100671"
height="3.6040268"
x="-20.526423"
y="-11.402325"
ry="0.0195265"
transform="matrix(-0.75646568,-0.65403339,-0.65403339,0.75646568,0,0)" />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="24"
height="24"
viewBox="0 0 24 24"
version="1.1"
id="svg3803"
sodipodi:docname="visibility_off.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<metadata
id="metadata3809">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<defs
id="defs3807" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1370"
id="namedview3805"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="16"
inkscape:cx="-1.087079"
inkscape:cy="10.657984"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg3803">
<sodipodi:guide
position="0,0"
orientation="0,24"
id="guide3862"
inkscape:locked="false" />
<sodipodi:guide
position="24,0"
orientation="-24,0"
id="guide3864"
inkscape:locked="false" />
<sodipodi:guide
position="24,24"
orientation="0,-24"
id="guide3866"
inkscape:locked="false" />
<sodipodi:guide
position="0,24"
orientation="24,0"
id="guide3868"
inkscape:locked="false" />
<sodipodi:guide
position="3.335608,16.474179"
orientation="0,1"
id="guide3872"
inkscape:locked="false" />
<sodipodi:guide
position="6.9364841,18.795302"
orientation="0,1"
id="guide3874"
inkscape:locked="false" />
<sodipodi:guide
position="1,12.010067"
orientation="1,0"
id="guide3876"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="22.959732,12.010067"
orientation="1,0"
id="guide3878"
inkscape:locked="false" />
<sodipodi:guide
position="11.321966,19.51172"
orientation="0,1"
id="guide3910"
inkscape:locked="false" />
<sodipodi:guide
position="12,14.295302"
orientation="1,0"
id="guide3915"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="8.3999893,19.167397"
orientation="1,0"
id="guide4765"
inkscape:locked="false" />
<sodipodi:guide
position="15.6,21.898213"
orientation="1,0"
id="guide4767"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="24,24"
orientation="1,0"
id="guide4784"
inkscape:locked="false" />
<sodipodi:guide
position="0.95973154,12.010067"
orientation="0,1"
id="guide4834"
inkscape:locked="false" />
</sodipodi:namedview>
<path
d="M0 0h24v24H0z"
fill="none"
id="path3799" />
<path
d="m 11.959732,5.1644295 c -5.0000005,0 -9.2700005,2.8303087 -11.00000046,6.8255035 1.72999996,3.995195 5.99999996,6.825504 11.00000046,6.825504 5,0 9.27,-2.830309 11,-6.825504 -1.73,-3.9951948 -6,-6.8255035 -11,-6.8255035 z m 0,11.3758395 c -2.7600005,0 -5.0000005,-2.03855 -5.0000005,-4.550336 0,-2.5117854 2.24,-4.5503357 5.0000005,-4.5503357 2.76,0 5,2.0385503 5,4.5503357 0,2.511786 -2.24,4.550336 -5,4.550336 z"
id="path3801"
inkscape:connector-curvature="0"
style="fill:#666666;stroke-width:0.95397437"
sodipodi:nodetypes="scscssssss" />
<rect
style="fill:#666666;stroke-width:1.41000319;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
id="rect4742-6"
width="2.3932726"
height="5.5814533"
x="10.76524"
y="-14.781991"
ry="0.030240133"
transform="matrix(-3.1770953e-4,0.99999995,-0.99999994,-3.3273889e-4,0,0)" />
</svg>
......@@ -198,6 +198,7 @@ set( COMMON_DLG_SRCS
set( COMMON_WIDGET_SRCS
widgets/app_progress_dialog.cpp
widgets/bitmap_toggle.cpp
widgets/button_row_panel.cpp
widgets/color_swatch.cpp
widgets/footprint_choice.cpp
......
......@@ -651,6 +651,7 @@ LSET LSET::FrontAssembly()
F_SilkS,
F_Mask,
F_Fab,
F_CrtYd
};
static const LSET saved( front_assembly, arrayDim( front_assembly ) );
......@@ -664,6 +665,7 @@ LSET LSET::BackAssembly()
B_SilkS,
B_Mask,
B_Fab,
B_CrtYd
};
static const LSET saved( back_assembly, arrayDim( back_assembly ) );
......@@ -854,3 +856,68 @@ PCB_LAYER_ID ToLAYER_ID( int aLayer )
return PCB_LAYER_ID( aLayer );
}
GAL_SET::GAL_SET( const GAL_LAYER_ID* aArray, unsigned aCount ) : GAL_SET()
{
for( unsigned i = 0; i < aCount; ++i )
set( aArray[i] );
}
std::vector<GAL_LAYER_ID> GAL_SET::Seq() const
{
std::vector<GAL_LAYER_ID> ret;
for( size_t i = 0; i < size(); ++i )
{
if( test( i ) )
ret.push_back( static_cast<GAL_LAYER_ID>( i ) );
}
return ret;
}
GAL_SET GAL_SET::DefaultVisible()
{
static const GAL_LAYER_ID visible[] = {
LAYER_VIAS,
LAYER_VIA_MICROVIA,
LAYER_VIA_BBLIND,
LAYER_VIA_THROUGH,
LAYER_NON_PLATEDHOLES,
LAYER_MOD_TEXT_FR,
LAYER_MOD_TEXT_BK,
// LAYER_MOD_TEXT_INVISIBLE, // Invisible text hidden by default
LAYER_ANCHOR,
LAYER_PAD_FR,
LAYER_PAD_BK,
LAYER_RATSNEST,
LAYER_GRID,
LAYER_GRID_AXES,
LAYER_NO_CONNECTS,
LAYER_MOD_FR,
LAYER_MOD_BK,
LAYER_MOD_VALUES,
LAYER_MOD_REFERENCES,
LAYER_TRACKS,
LAYER_PADS_TH,
LAYER_PADS_PLATEDHOLES,
LAYER_VIAS_HOLES,
LAYER_DRC_ERROR,
LAYER_DRC_WARNING,
// LAYER_DRC_EXCLUSION, // DRC exclusions hidden by default
LAYER_WORKSHEET,
LAYER_GP_OVERLAY,
LAYER_SELECT_OVERLAY,
LAYER_PCB_BACKGROUND,
LAYER_CURSOR,
LAYER_AUX_ITEMS,
LAYER_DRAW_BITMAPS,
LAYER_PADS,
LAYER_ZONES,
};
static const GAL_SET saved( visible, arrayDim( visible ) );
return saved;
}
......@@ -68,7 +68,7 @@ void WS_RENDER_SETTINGS::LoadColors( const COLOR_SETTINGS* aSettings )
}
const COLOR4D& WS_RENDER_SETTINGS::GetColor( const VIEW_ITEM* aItem, int aLayer ) const
COLOR4D WS_RENDER_SETTINGS::GetColor( const VIEW_ITEM* aItem, int aLayer ) const
{
const EDA_ITEM* item = dynamic_cast<const EDA_ITEM*>( aItem );
......
......@@ -43,9 +43,6 @@ PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS( const wxString& aFilename ) :
},
LSET::AllLayersMask().FmtHex() ) );
static GAL_SET defaultVisible;
defaultVisible.set().reset( GAL_LAYER_INDEX( LAYER_MOD_TEXT_INVISIBLE ) );
m_params.emplace_back( new PARAM_LAMBDA<nlohmann::json>( "board.visible_items",
[&]() -> nlohmann::json
{
......@@ -61,7 +58,7 @@ PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS( const wxString& aFilename ) :
{
if( !aVal.is_array() || aVal.empty() )
{
m_VisibleItems = defaultVisible;
m_VisibleItems = GAL_SET::DefaultVisible();
return;
}
......@@ -149,7 +146,23 @@ PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS( const wxString& aFilename ) :
&m_ContrastModeDisplay, HIGH_CONTRAST_MODE::NORMAL, HIGH_CONTRAST_MODE::NORMAL,
HIGH_CONTRAST_MODE::HIDDEN ) );
m_params.emplace_back( new PARAM<double>( "board.opacity.tracks", &m_TrackOpacity, 1.0 ) );
m_params.emplace_back( new PARAM<double>( "board.opacity.vias", &m_ViaOpacity, 1.0 ) );
m_params.emplace_back( new PARAM<double>( "board.opacity.pads", &m_PadOpacity, 1.0 ) );
m_params.emplace_back( new PARAM<double>( "board.opacity.zones", &m_ZoneOpacity, 1.0 ) );
m_params.emplace_back( new PARAM_LIST<wxString>( "board.hidden_nets", &m_HiddenNets, {} ) );
m_params.emplace_back( new PARAM_ENUM<NET_COLOR_MODE>( "board.net_color_mode",
&m_NetColorMode, NET_COLOR_MODE::RATSNEST,</