KiCad PCB EDA Suite
KIGFX::SCH_RENDER_SETTINGS Class Reference

Store schematic specific render settings. More...

#include <sch_painter.h>

Inheritance diagram for KIGFX::SCH_RENDER_SETTINGS:
KIGFX::RENDER_SETTINGS

Public Member Functions

 SCH_RENDER_SETTINGS ()
 
void LoadColors (const COLOR_SETTINGS *aSettings) override
 
virtual COLOR4D GetColor (const VIEW_ITEM *aItem, int aLayer) const override
 Returns the color that should be used to draw the specific VIEW_ITEM on the specific layer using currently used render settings. More...
 
bool IsBackgroundDark () const override
 
const COLOR4DGetBackgroundColor () const override
 Return current background color settings. More...
 
void SetBackgroundColor (const COLOR4D &aColor) override
 Set the background color. More...
 
float GetDanglineSymbolThickness () const
 
const COLOR4DGetGridColor () override
 Return current grid color settings. More...
 
const COLOR4DGetCursorColor () override
 Return current cursor color settings. More...
 
bool GetShowPageLimits () const override
 
void SetLayerIsHighContrast (int aLayerId, bool aEnabled=true)
 Set the specified layer as high-contrast. More...
 
bool GetLayerIsHighContrast (int aLayerId) const
 Return information whether the queried layer is marked as high-contrast. More...
 
const std::set< int > GetHighContrastLayers () const
 Returns the set of currently high-contrast layers. More...
 
PCB_LAYER_ID GetPrimaryHighContrastLayer () const
 Return the board layer which is in high-contrast mode. More...
 
PCB_LAYER_ID GetActiveLayer () const
 
void SetActiveLayer (PCB_LAYER_ID aLayer)
 
const wxString & GetLayerName () const
 
void SetLayerName (const wxString &aLayerName)
 
LSET GetPrintLayers () const
 
void SetPrintLayers (LSET aLayerSet)
 
void ClearHighContrastLayers ()
 Clear the list of active layers. More...
 
bool IsHighlightEnabled () const
 Return current highlight setting. More...
 
const std::set< int > & GetHighlightNetCodes () const
 Return the netcode of currently highlighted net. More...
 
void SetHighlight (bool aEnabled, int aNetcode=-1, bool aMulti=false)
 Turns on/off highlighting. More...
 
void SetHighlight (std::set< int > &aHighlight, bool aEnabled=true)
 Turns on highlighting and highlights multiple nets. More...
 
void SetHighContrast (bool aEnabled)
 Turns on/off high contrast display mode. More...
 
bool GetHighContrast () const
 
void SetDrawBoundingBoxes (bool aEnabled)
 
bool GetDrawBoundingBoxes () const
 
float GetDrawingSheetLineWidth () const
 
int GetDefaultPenWidth () const
 
void SetDefaultPenWidth (int aWidth)
 
int GetMinPenWidth () const
 
void SetMinPenWidth (int aWidth)
 
double GetDashLengthRatio () const
 
void SetDashLengthRatio (double aRatio)
 
double GetDashLength (int aLineWidth) const
 
double GetDotLength (int aLineWidth) const
 
double GetGapLengthRatio () const
 
void SetGapLengthRatio (double aRatio)
 
double GetGapLength (int aLineWidth) const
 
bool IsPrinting () const
 
void SetIsPrinting (bool isPrinting)
 
const COLOR4DGetLayerColor (int aLayer) const
 Return the color used to draw a layer. More...
 
void SetLayerColor (int aLayer, const COLOR4D &aColor)
 Change the color used to draw a layer. More...
 
void SetOutlineWidth (float aWidth)
 Set line width used for drawing outlines. More...
 
void SetHighlightFactor (float aFactor)
 
void SetSelectFactor (float aFactor)
 
void SetDefaultFont (const wxString &aFont)
 
const wxString & GetDefaultFont () const
 
wxDC * GetPrintDC () const
 
void SetPrintDC (wxDC *aDC)
 

Public Attributes

bool m_IsSymbolEditor
 
int m_ShowUnit
 
int m_ShowConvert
 
bool m_ShowPinsElectricalType
 
bool m_ShowPinNumbers
 
bool m_ShowDisabled
 
bool m_ShowGraphicsDisabled
 
bool m_OverrideItemColors
 
double m_LabelSizeRatio
 
double m_TextOffsetRatio
 
int m_PinSymbolSize
 

Protected Member Functions

virtual void update ()
 Precalculates extra colors for layers (e.g. More...
 

Protected Attributes

PCB_LAYER_ID m_activeLayer
 
wxString m_layerName
 
std::set< int > m_highContrastLayers
 
COLOR4D m_layerColors [LAYER_ID_COUNT]
 
COLOR4D m_layerColorsHi [LAYER_ID_COUNT]
 
COLOR4D m_layerColorsSel [LAYER_ID_COUNT]
 
COLOR4D m_hiContrastColor [LAYER_ID_COUNT]
 
COLOR4D m_layerColorsDark [LAYER_ID_COUNT]
 
COLOR4D m_backgroundColor
 
bool m_hiContrastEnabled
 Parameters for display modes. More...
 
float m_hiContrastFactor
 
bool m_highlightEnabled
 
std::set< int > m_highlightNetcodes
 
float m_highlightFactor
 
bool m_drawBoundingBoxes
 
float m_selectFactor
 
float m_outlineWidth
 
float m_drawingSheetLineWidth
 
int m_defaultPenWidth
 
int m_minPenWidth
 
double m_dashLengthRatio
 
double m_gapLengthRatio
 
wxString m_defaultFont
 
bool m_isPrinting
 
LSET m_printLayers
 
wxDC * m_printDC
 

Friends

class SCH_PAINTER
 

Detailed Description

Store schematic specific render settings.

Definition at line 70 of file sch_painter.h.

Constructor & Destructor Documentation

◆ SCH_RENDER_SETTINGS()

KIGFX::SCH_RENDER_SETTINGS::SCH_RENDER_SETTINGS ( )

Definition at line 96 of file sch_painter.cpp.

96 :
97 m_IsSymbolEditor( false ),
98 m_ShowUnit( 0 ),
99 m_ShowConvert( 0 ),
101 m_ShowPinNumbers( false ),
102 m_ShowDisabled( false ),
103 m_ShowGraphicsDisabled( false ),
104 m_OverrideItemColors( false ),
108{
110 SetDashLengthRatio( 12 ); // From ISO 128-2
111 SetGapLengthRatio( 3 ); // From ISO 128-2
112
114}
constexpr EDA_IU_SCALE schIUScale
Definition: base_units.h:111
double m_MinPlotPenWidth
Sets an absolute minimum pen width for plotting.
static const ADVANCED_CFG & GetCfg()
Get the singleton instance's config, which is shared by all consumers.
void SetDefaultPenWidth(int aWidth)
void SetGapLengthRatio(double aRatio)
void SetDashLengthRatio(double aRatio)
#define DEFAULT_LABEL_SIZE_RATIO
The offset of the pin name string from the end of the pin in mils.
#define DEFAULT_LINE_WIDTH_MILS
The default wire width in mils. (can be changed in preference menu)
#define DEFAULT_TEXT_OFFSET_RATIO
Ratio of the font height to space around global labels.
#define DEFAULT_TEXT_SIZE
Ratio of the font height to the baseline of the text above the wire.
const double IU_PER_MM
Definition: base_units.h:77
const double IU_PER_MILS
Definition: base_units.h:78

References DEFAULT_LINE_WIDTH_MILS, ADVANCED_CFG::GetCfg(), EDA_IU_SCALE::IU_PER_MILS, EDA_IU_SCALE::IU_PER_MM, KIGFX::RENDER_SETTINGS::m_minPenWidth, ADVANCED_CFG::m_MinPlotPenWidth, schIUScale, KIGFX::RENDER_SETTINGS::SetDashLengthRatio(), KIGFX::RENDER_SETTINGS::SetDefaultPenWidth(), and KIGFX::RENDER_SETTINGS::SetGapLengthRatio().

Member Function Documentation

◆ ClearHighContrastLayers()

void KIGFX::RENDER_SETTINGS::ClearHighContrastLayers ( )
inlineinherited

◆ GetActiveLayer()

PCB_LAYER_ID KIGFX::RENDER_SETTINGS::GetActiveLayer ( ) const
inlineinherited

Definition at line 112 of file render_settings.h.

112{ return m_activeLayer; }

References KIGFX::RENDER_SETTINGS::m_activeLayer.

Referenced by KIGFX::PCB_PAINTER::draw().

◆ GetBackgroundColor()

const COLOR4D & KIGFX::SCH_RENDER_SETTINGS::GetBackgroundColor ( ) const
inlineoverridevirtual

Return current background color settings.

Implements KIGFX::RENDER_SETTINGS.

Definition at line 89 of file sch_painter.h.

90 {
92 }
COLOR4D m_layerColors[LAYER_ID_COUNT]
@ LAYER_SCHEMATIC_BACKGROUND
Definition: layer_ids.h:376

References LAYER_SCHEMATIC_BACKGROUND, and KIGFX::RENDER_SETTINGS::m_layerColors.

◆ GetColor()

COLOR4D KIGFX::SCH_RENDER_SETTINGS::GetColor ( const VIEW_ITEM aItem,
int  aLayer 
) const
overridevirtual

Returns the color that should be used to draw the specific VIEW_ITEM on the specific layer using currently used render settings.

Parameters
aItemis the VIEW_ITEM.
aLayeris the layer.
Returns
The color.

Implements KIGFX::RENDER_SETTINGS.

Definition at line 133 of file sch_painter.cpp.

134{
135 return m_layerColors[ aLayer ];
136}

References KIGFX::RENDER_SETTINGS::m_layerColors.

◆ GetCursorColor()

const COLOR4D & KIGFX::SCH_RENDER_SETTINGS::GetCursorColor ( )
inlineoverridevirtual

Return current cursor color settings.

Implements KIGFX::RENDER_SETTINGS.

Definition at line 106 of file sch_painter.h.

@ LAYER_SCHEMATIC_CURSOR
Definition: layer_ids.h:377

References LAYER_SCHEMATIC_CURSOR, and KIGFX::RENDER_SETTINGS::m_layerColors.

◆ GetDanglineSymbolThickness()

float KIGFX::SCH_RENDER_SETTINGS::GetDanglineSymbolThickness ( ) const
inline

Definition at line 99 of file sch_painter.h.

100 {
101 return (float) m_defaultPenWidth / 3.0F;
102 }

References KIGFX::RENDER_SETTINGS::m_defaultPenWidth.

◆ GetDashLength()

double RENDER_SETTINGS::GetDashLength ( int  aLineWidth) const
inherited

Definition at line 63 of file render_settings.cpp.

64{
65 return std::max( m_dashLengthRatio - correction, 1.0 ) * aLineWidth;
66}
constexpr double correction

References correction, and KIGFX::RENDER_SETTINGS::m_dashLengthRatio.

Referenced by PLOTTER::GetDashMarkLenIU(), and STROKE_PARAMS::Stroke().

◆ GetDashLengthRatio()

double KIGFX::RENDER_SETTINGS::GetDashLengthRatio ( ) const
inlineinherited

Definition at line 215 of file render_settings.h.

215{ return m_dashLengthRatio; }

References KIGFX::RENDER_SETTINGS::m_dashLengthRatio.

◆ GetDefaultFont()

◆ GetDefaultPenWidth()

◆ GetDotLength()

double RENDER_SETTINGS::GetDotLength ( int  aLineWidth) const
inherited

Definition at line 69 of file render_settings.cpp.

70{
71 return ( 1.0 - correction ) * aLineWidth;
72}

References correction.

Referenced by PLOTTER::GetDotMarkLenIU(), and STROKE_PARAMS::Stroke().

◆ GetDrawBoundingBoxes()

bool KIGFX::RENDER_SETTINGS::GetDrawBoundingBoxes ( ) const
inlineinherited

◆ GetDrawingSheetLineWidth()

float KIGFX::RENDER_SETTINGS::GetDrawingSheetLineWidth ( ) const
inlineinherited

◆ GetGapLength()

double RENDER_SETTINGS::GetGapLength ( int  aLineWidth) const
inherited

Definition at line 75 of file render_settings.cpp.

76{
77 return std::max( m_gapLengthRatio + correction, 1.0 ) * aLineWidth;
78}

References correction, and KIGFX::RENDER_SETTINGS::m_gapLengthRatio.

Referenced by PLOTTER::GetDashGapLenIU(), and STROKE_PARAMS::Stroke().

◆ GetGapLengthRatio()

double KIGFX::RENDER_SETTINGS::GetGapLengthRatio ( ) const
inlineinherited

Definition at line 220 of file render_settings.h.

220{ return m_gapLengthRatio; }

References KIGFX::RENDER_SETTINGS::m_gapLengthRatio.

◆ GetGridColor()

const COLOR4D & KIGFX::SCH_RENDER_SETTINGS::GetGridColor ( )
inlineoverridevirtual

Return current grid color settings.

Implements KIGFX::RENDER_SETTINGS.

Definition at line 104 of file sch_painter.h.

@ LAYER_SCHEMATIC_GRID
Definition: layer_ids.h:374

References LAYER_SCHEMATIC_GRID, and KIGFX::RENDER_SETTINGS::m_layerColors.

◆ GetHighContrast()

◆ GetHighContrastLayers()

const std::set< int > KIGFX::RENDER_SETTINGS::GetHighContrastLayers ( ) const
inlineinherited

Returns the set of currently high-contrast layers.

Definition at line 90 of file render_settings.h.

91 {
93 }

References KIGFX::RENDER_SETTINGS::m_highContrastLayers.

Referenced by PCB_GRID_HELPER::computeAnchors(), PCB_GRID_HELPER::queryVisible(), and PCB_SELECTION_TOOL::Selectable().

◆ GetHighlightNetCodes()

const std::set< int > & KIGFX::RENDER_SETTINGS::GetHighlightNetCodes ( ) const
inlineinherited

◆ GetLayerColor()

const COLOR4D & KIGFX::RENDER_SETTINGS::GetLayerColor ( int  aLayer) const
inlineinherited

Return the color used to draw a layer.

Parameters
aLayeris the layer number.

Definition at line 254 of file render_settings.h.

255 {
256 // We don't (yet?) have a separate color for intersheet refs
257 if( aLayer == LAYER_INTERSHEET_REFS )
258 aLayer = LAYER_GLOBLABEL;
259
260 return m_layerColors[aLayer];
261 }
@ LAYER_GLOBLABEL
Definition: layer_ids.h:348
@ LAYER_INTERSHEET_REFS
Definition: layer_ids.h:355

References LAYER_GLOBLABEL, LAYER_INTERSHEET_REFS, and KIGFX::RENDER_SETTINGS::m_layerColors.

Referenced by DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), KIGFX::PCB_PAINTER::draw(), KIGFX::PREVIEW::DRAW_CONTEXT::DrawCircle(), SCH_EDIT_FRAME::DrawCurrentSheetToClipboard(), KIGFX::PREVIEW::DRAW_CONTEXT::DrawLine(), KIGFX::PREVIEW::DRAW_CONTEXT::DrawLineWithAngleHighlight(), BOARD_PRINTOUT::DrawPage(), KIGFX::PREVIEW::POLYGON_ITEM::drawPreviewShape(), KIGFX::PREVIEW::DrawTextNextToCursor(), FOOTPRINT_PREVIEW_PANEL::GetForegroundColor(), KIGFX::SCH_PAINTER::getRenderColor(), DIALOG_LIB_SHAPE_PROPERTIES::onFill(), PCB_GRID_HELPER::PCB_GRID_HELPER(), SCH_BITMAP::Plot(), SCH_FIELD::Plot(), SCH_JUNCTION::Plot(), SCH_LABEL_BASE::Plot(), SCH_NO_CONNECT::Plot(), SCH_SHAPE::Plot(), SCH_SHEET::Plot(), SCH_TEXT::Plot(), SCH_TEXTBOX::Plot(), LIB_FIELD::Plot(), LIB_SHAPE::Plot(), LIB_TEXT::Plot(), LIB_TEXTBOX::Plot(), LIB_SYMBOL::Plot(), LIB_SYMBOL::PlotLibFields(), SCH_PLOTTER::plotOneSheetDXF(), SCH_PLOTTER::plotOneSheetPDF(), SCH_PLOTTER::plotOneSheetPS(), SCH_PLOTTER::plotOneSheetSVG(), LIB_PIN::PlotPinTexts(), LIB_PIN::PlotSymbol(), SCH_BUS_ENTRY_BASE::Print(), SCH_FIELD::Print(), SCH_JUNCTION::Print(), SCH_LINE::Print(), SCH_NO_CONNECT::Print(), SCH_SHAPE::Print(), SCH_SHEET::Print(), SCH_SYMBOL::Print(), LIB_FIELD::print(), LIB_PIN::print(), LIB_SHAPE::print(), LIB_TEXT::print(), LIB_TEXTBOX::print(), SCH_LABEL_BASE::Print(), SCH_TEXT::Print(), SCH_TEXTBOX::Print(), SCH_SHAPE::PrintBackground(), SCH_PRINTOUT::PrintPage(), LIB_PIN::printPinElectricalTypeName(), LIB_PIN::printPinSymbol(), LIB_PIN::printPinTexts(), DS_DRAW_ITEM_LINE::PrintWsItem(), DS_DRAW_ITEM_POLYPOLYGONS::PrintWsItem(), DS_DRAW_ITEM_RECT::PrintWsItem(), DS_DRAW_ITEM_TEXT::PrintWsItem(), DIALOG_LIB_SHAPE_PROPERTIES::TransferDataToWindow(), DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample(), DS_PROXY_VIEW_ITEM::ViewDraw(), EDIT_POINTS::ViewDraw(), KIGFX::PREVIEW::RULER_ITEM::ViewDraw(), and FP_TEXTBOX::ViewGetLOD().

◆ GetLayerIsHighContrast()

bool KIGFX::RENDER_SETTINGS::GetLayerIsHighContrast ( int  aLayerId) const
inlineinherited

Return information whether the queried layer is marked as high-contrast.

Returns
True if the queried layer is marked as active.

Definition at line 82 of file render_settings.h.

83 {
84 return ( m_highContrastLayers.count( aLayerId ) > 0 );
85 }

References KIGFX::RENDER_SETTINGS::m_highContrastLayers.

◆ GetLayerName()

const wxString & KIGFX::RENDER_SETTINGS::GetLayerName ( ) const
inlineinherited

◆ GetMinPenWidth()

◆ GetPrimaryHighContrastLayer()

PCB_LAYER_ID KIGFX::RENDER_SETTINGS::GetPrimaryHighContrastLayer ( ) const
inlineinherited

Return the board layer which is in high-contrast mode.

There should only be one board layer which is high-contrast at any given time, although there might be many high-contrast synthetic (GAL) layers.

Definition at line 101 of file render_settings.h.

102 {
103 for( int layer : m_highContrastLayers )
104 {
105 if( layer >= PCBNEW_LAYER_ID_START && layer < PCB_LAYER_ID_COUNT )
106 return (PCB_LAYER_ID) layer;
107 }
108
109 return UNDEFINED_LAYER;
110 }
PCB_LAYER_ID
A quick note on layer IDs:
Definition: layer_ids.h:59
@ PCBNEW_LAYER_ID_START
Definition: layer_ids.h:63
@ UNDEFINED_LAYER
Definition: layer_ids.h:60
@ PCB_LAYER_ID_COUNT
Definition: layer_ids.h:137

References KIGFX::RENDER_SETTINGS::m_highContrastLayers, PCB_LAYER_ID_COUNT, PCBNEW_LAYER_ID_START, and UNDEFINED_LAYER.

Referenced by KIGFX::PCB_RENDER_SETTINGS::GetColor(), BOARD_INSPECTION_TOOL::highlightNet(), PNS_KICAD_IFACE::IsItemVisible(), PAD::ViewGetLOD(), PCB_SHAPE::ViewGetLOD(), PCB_TEXT::ViewGetLOD(), PCB_TEXTBOX::ViewGetLOD(), PCB_TRACK::ViewGetLOD(), and PCB_VIA::ViewGetLOD().

◆ GetPrintDC()

◆ GetPrintLayers()

LSET KIGFX::RENDER_SETTINGS::GetPrintLayers ( ) const
inlineinherited

Definition at line 118 of file render_settings.h.

118{ return m_printLayers; }

References KIGFX::RENDER_SETTINGS::m_printLayers.

Referenced by KIGFX::PCB_PAINTER::draw().

◆ GetShowPageLimits()

bool KIGFX::SCH_RENDER_SETTINGS::GetShowPageLimits ( ) const
overridevirtual

◆ IsBackgroundDark()

bool KIGFX::SCH_RENDER_SETTINGS::IsBackgroundDark ( ) const
inlineoverridevirtual

Reimplemented from KIGFX::RENDER_SETTINGS.

Definition at line 82 of file sch_painter.h.

83 {
85
86 return luma < 0.5;
87 }
double GetBrightness() const
Returns the brightness value of the color ranged from 0.0 to 1.0.
Definition: color4d.h:349

References KIGFX::COLOR4D::GetBrightness(), LAYER_SCHEMATIC_BACKGROUND, and KIGFX::RENDER_SETTINGS::m_layerColors.

◆ IsHighlightEnabled()

bool KIGFX::RENDER_SETTINGS::IsHighlightEnabled ( ) const
inlineinherited

Return current highlight setting.

Returns
True if highlight is enabled, false otherwise.

Definition at line 134 of file render_settings.h.

135 {
136 return m_highlightEnabled;
137 }

References KIGFX::RENDER_SETTINGS::m_highlightEnabled.

Referenced by PCB_EDIT_FRAME::ExecuteRemoteCommand(), and PNS::TOOL_BASE::highlightNets().

◆ IsPrinting()

bool KIGFX::RENDER_SETTINGS::IsPrinting ( ) const
inlineinherited

Definition at line 226 of file render_settings.h.

226{ return m_isPrinting; }

References KIGFX::RENDER_SETTINGS::m_isPrinting.

Referenced by KIGFX::PCB_PAINTER::draw().

◆ LoadColors()

void KIGFX::SCH_RENDER_SETTINGS::LoadColors ( const COLOR_SETTINGS aSettings)
overridevirtual

Reimplemented from KIGFX::RENDER_SETTINGS.

Definition at line 117 of file sch_painter.cpp.

118{
119 for( int layer = SCH_LAYER_ID_START; layer < SCH_LAYER_ID_END; layer ++)
120 m_layerColors[ layer ] = aSettings->GetColor( layer );
121
122 for( int layer = GAL_LAYER_ID_START; layer < GAL_LAYER_ID_END; layer ++)
123 m_layerColors[ layer ] = aSettings->GetColor( layer );
124
126
128
130}
bool GetOverrideSchItemColors() const
COLOR4D GetColor(int aLayer) const
@ GAL_LAYER_ID_START
Definition: layer_ids.h:191
@ GAL_LAYER_ID_END
Definition: layer_ids.h:260
@ LAYER_AUX_ITEMS
Auxiliary items (guides, rule, etc)
Definition: layer_ids.h:222
@ SCH_LAYER_ID_END
Definition: layer_ids.h:388
@ SCH_LAYER_ID_START
Definition: layer_ids.h:342
@ LAYER_SCHEMATIC_AUX_ITEMS
Definition: layer_ids.h:385

References GAL_LAYER_ID_END, GAL_LAYER_ID_START, COLOR_SETTINGS::GetColor(), COLOR_SETTINGS::GetOverrideSchItemColors(), LAYER_AUX_ITEMS, LAYER_SCHEMATIC_AUX_ITEMS, LAYER_SCHEMATIC_BACKGROUND, KIGFX::RENDER_SETTINGS::m_backgroundColor, KIGFX::RENDER_SETTINGS::m_layerColors, m_OverrideItemColors, SCH_LAYER_ID_END, and SCH_LAYER_ID_START.

Referenced by EESCHEMA_JOBS_HANDLER::InitRenderSettings(), EESCHEMA_JOBS_HANDLER::JobSymExportSvg(), SCH_PRINTOUT::PrintPage(), SCH_PREVIEW_PANEL::SCH_PREVIEW_PANEL(), SYMBOL_EDIT_FRAME::SVGPlotSymbol(), SYMBOL_PREVIEW_WIDGET::SYMBOL_PREVIEW_WIDGET(), SYMBOL_VIEWER_FRAME::SYMBOL_VIEWER_FRAME(), and PANEL_EESCHEMA_COLOR_SETTINGS::updatePreview().

◆ SetActiveLayer()

void KIGFX::RENDER_SETTINGS::SetActiveLayer ( PCB_LAYER_ID  aLayer)
inlineinherited

Definition at line 113 of file render_settings.h.

113{ m_activeLayer = aLayer; }

References KIGFX::RENDER_SETTINGS::m_activeLayer.

Referenced by PCB_DRAW_PANEL_GAL::SetHighContrastLayer().

◆ SetBackgroundColor()

void KIGFX::SCH_RENDER_SETTINGS::SetBackgroundColor ( const COLOR4D aColor)
inlineoverridevirtual

Set the background color.

Implements KIGFX::RENDER_SETTINGS.

Definition at line 94 of file sch_painter.h.

95 {
97 }

References LAYER_SCHEMATIC_BACKGROUND, and KIGFX::RENDER_SETTINGS::m_layerColors.

Referenced by SCH_PRINTOUT::PrintPage().

◆ SetDashLengthRatio()

◆ SetDefaultFont()

◆ SetDefaultPenWidth()

◆ SetDrawBoundingBoxes()

void KIGFX::RENDER_SETTINGS::SetDrawBoundingBoxes ( bool  aEnabled)
inlineinherited

Definition at line 194 of file render_settings.h.

194{ m_drawBoundingBoxes = aEnabled; }

References KIGFX::RENDER_SETTINGS::m_drawBoundingBoxes.

Referenced by COMMON_TOOLS::ToggleBoundingBoxes().

◆ SetGapLengthRatio()

◆ SetHighContrast()

void KIGFX::RENDER_SETTINGS::SetHighContrast ( bool  aEnabled)
inlineinherited

Turns on/off high contrast display mode.

Definition at line 191 of file render_settings.h.

191{ m_hiContrastEnabled = aEnabled; }

References KIGFX::RENDER_SETTINGS::m_hiContrastEnabled.

Referenced by GERBVIEW_FRAME::ApplyDisplaySettingsToGAL().

◆ SetHighlight() [1/2]

void KIGFX::RENDER_SETTINGS::SetHighlight ( bool  aEnabled,
int  aNetcode = -1,
bool  aMulti = false 
)
inlineinherited

Turns on/off highlighting.

It may be done for the active layer or the specified net(s)..

Parameters
aEnabledtells if highlighting should be enabled.
aNetcodeis optional and if specified, turns on highlighting only for the net with number given as the parameter.

Definition at line 158 of file render_settings.h.

159 {
160 m_highlightEnabled = aEnabled;
161
162 if( aEnabled )
163 {
164 if( !aMulti )
165 m_highlightNetcodes.clear();
166
167 m_highlightNetcodes.insert( aNetcode );
168 }
169 else
170 m_highlightNetcodes.clear();
171 }

References KIGFX::RENDER_SETTINGS::m_highlightEnabled, and KIGFX::RENDER_SETTINGS::m_highlightNetcodes.

Referenced by DIALOG_NET_INSPECTOR::buildNetsList(), BOARD_INSPECTION_TOOL::ClearHighlight(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), BOARD_INSPECTION_TOOL::highlightNet(), PNS::TOOL_BASE::highlightNets(), APPEARANCE_CONTROLS::onNetclassContextMenu(), DIALOG_NET_INSPECTOR::onSelChanged(), DIALOG_NET_INSPECTOR::onSortingChanged(), EE_SELECTION_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PCB_SELECTION_TOOL::Reset(), and NETS_SEARCH_HANDLER::SelectItems().

◆ SetHighlight() [2/2]

void KIGFX::RENDER_SETTINGS::SetHighlight ( std::set< int > &  aHighlight,
bool  aEnabled = true 
)
inlineinherited

Turns on highlighting and highlights multiple nets.

Parameters
aHighlightis a set of netcodes to highlight
aEnabledtells if highlighting should be enabled.

Definition at line 178 of file render_settings.h.

179 {
180 m_highlightEnabled = aEnabled;
181
182 if( aEnabled )
183 m_highlightNetcodes = aHighlight;
184 else
185 m_highlightNetcodes.clear();
186 }

References KIGFX::RENDER_SETTINGS::m_highlightEnabled, and KIGFX::RENDER_SETTINGS::m_highlightNetcodes.

◆ SetHighlightFactor()

void KIGFX::RENDER_SETTINGS::SetHighlightFactor ( float  aFactor)
inlineinherited

Definition at line 291 of file render_settings.h.

291{ m_highlightFactor = aFactor; }

References KIGFX::RENDER_SETTINGS::m_highlightFactor.

Referenced by PCB_BASE_FRAME::LoadSettings().

◆ SetIsPrinting()

void KIGFX::RENDER_SETTINGS::SetIsPrinting ( bool  isPrinting)
inlineinherited

Definition at line 227 of file render_settings.h.

227{ m_isPrinting = isPrinting; }

References KIGFX::RENDER_SETTINGS::m_isPrinting.

Referenced by BOARD_PRINTOUT::DrawPage(), and SCH_PRINTOUT::PrintPage().

◆ SetLayerColor()

void KIGFX::RENDER_SETTINGS::SetLayerColor ( int  aLayer,
const COLOR4D aColor 
)
inlineinherited

Change the color used to draw a layer.

Parameters
aLayeris the layer number.
aColoris the new color.

Definition at line 269 of file render_settings.h.

270 {
271 m_layerColors[aLayer] = aColor;
272
273 update(); // recompute other shades of the color
274 }
virtual void update()
Precalculates extra colors for layers (e.g.

References KIGFX::RENDER_SETTINGS::m_layerColors, and KIGFX::RENDER_SETTINGS::update().

Referenced by SCH_EDIT_FRAME::DrawCurrentSheetToClipboard(), BOARD_PRINTOUT::DrawPage(), PLEDITOR_PRINTOUT::PrintPage(), SCH_PRINTOUT::PrintPage(), DIALOG_PAD_PROPERTIES::redraw(), PCBNEW_PRINTOUT::setupPainter(), PCBNEW_PRINTOUT::setupViewLayers(), and DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample().

◆ SetLayerIsHighContrast()

void KIGFX::RENDER_SETTINGS::SetLayerIsHighContrast ( int  aLayerId,
bool  aEnabled = true 
)
inlineinherited

Set the specified layer as high-contrast.

Parameters
aLayerIdis a layer number that should be displayed in a specific mode.
aEnabledis the new layer state ( true = active or false = not active).

Definition at line 69 of file render_settings.h.

70 {
71 if( aEnabled )
72 m_highContrastLayers.insert( aLayerId );
73 else
74 m_highContrastLayers.erase( aLayerId );
75 }

References KIGFX::RENDER_SETTINGS::m_highContrastLayers.

Referenced by EDA_DRAW_PANEL_GAL::SetHighContrastLayer(), GERBVIEW_DRAW_PANEL_GAL::SetHighContrastLayer(), and PCB_DRAW_PANEL_GAL::SetHighContrastLayer().

◆ SetLayerName()

void KIGFX::RENDER_SETTINGS::SetLayerName ( const wxString &  aLayerName)
inlineinherited

Definition at line 116 of file render_settings.h.

116{ m_layerName = aLayerName; }

References KIGFX::RENDER_SETTINGS::m_layerName.

Referenced by BOARD_PRINTOUT::DrawPage(), and StartPlotBoard().

◆ SetMinPenWidth()

void KIGFX::RENDER_SETTINGS::SetMinPenWidth ( int  aWidth)
inlineinherited

Definition at line 213 of file render_settings.h.

213{ m_minPenWidth = aWidth; }

References KIGFX::RENDER_SETTINGS::m_minPenWidth.

Referenced by DIALOG_PLOT_SCHEMATIC::getPlotOptions().

◆ SetOutlineWidth()

void KIGFX::RENDER_SETTINGS::SetOutlineWidth ( float  aWidth)
inlineinherited

Set line width used for drawing outlines.

Parameters
aWidthis the new width.

Definition at line 286 of file render_settings.h.

287 {
288 m_outlineWidth = aWidth;
289 }

References KIGFX::RENDER_SETTINGS::m_outlineWidth.

◆ SetPrintDC()

◆ SetPrintLayers()

void KIGFX::RENDER_SETTINGS::SetPrintLayers ( LSET  aLayerSet)
inlineinherited

Definition at line 119 of file render_settings.h.

119{ m_printLayers = aLayerSet; }

References KIGFX::RENDER_SETTINGS::m_printLayers.

Referenced by BOARD_PRINTOUT::DrawPage().

◆ SetSelectFactor()

void KIGFX::RENDER_SETTINGS::SetSelectFactor ( float  aFactor)
inlineinherited

Definition at line 292 of file render_settings.h.

292{ m_selectFactor = aFactor; }

References KIGFX::RENDER_SETTINGS::m_selectFactor.

Referenced by PCB_BASE_FRAME::LoadSettings().

◆ update()

void RENDER_SETTINGS::update ( )
protectedvirtualinherited

Precalculates extra colors for layers (e.g.

highlighted, darkened and any needed version of base colors).

Definition at line 81 of file render_settings.cpp.

82{
83 // Calculate darkened/highlighted variants of layer colors
84 for( int i = 0; i < LAYER_ID_COUNT; i++ )
85 {
88
91
92 if( IsNetnameLayer( i ) || IsHoleLayer( i ) )
93 {
95 continue;
96 }
97
98 // Linear brightening doesn't work well for colors near white
99 double factor = ( m_selectFactor * 0.5 ) + pow( m_layerColors[i].GetBrightness(), 3 );
100 factor = std::min( 1.0, factor );
101
102 m_layerColorsSel[i] = m_layerColors[i].Brightened( factor );
103
104 // If we are maxed out on brightening as a highlight, fallback to darkening but keep
105 // the blue that acts as a "glowing" color
106 if( std::fabs( m_layerColorsSel[i].GetBrightness() - m_layerColors[i].GetBrightness() )
107 < 0.05 )
108 {
110 m_layerColorsSel[i].b = m_layerColors[i].b * ( 1.0 - factor ) + factor;
111 }
112
113 }
114}
COLOR4D Darkened(double aFactor) const
Return a color that is darker by a given factor, without modifying object.
Definition: color4d.h:298
COLOR4D Brightened(double aFactor) const
Return a color that is brighter by a given factor, without modifying object.
Definition: color4d.h:284
COLOR4D Mix(const COLOR4D &aColor, double aFactor) const
Return a color that is mixed with the input by a factor.
Definition: color4d.h:311
double b
Blue component.
Definition: color4d.h:392
COLOR4D m_hiContrastColor[LAYER_ID_COUNT]
COLOR4D m_layerColorsDark[LAYER_ID_COUNT]
COLOR4D m_layerColorsSel[LAYER_ID_COUNT]
COLOR4D m_layerColorsHi[LAYER_ID_COUNT]
#define LAYER_ID_COUNT
Must update this if you add any enums after GerbView!
Definition: layer_ids.h:449
@ LAYER_PCB_BACKGROUND
PCB background color.
Definition: layer_ids.h:220
bool IsNetnameLayer(int aLayer)
Test whether a layer is a netname layer.
Definition: layer_ids.h:989
bool IsHoleLayer(int aLayer)
Definition: layer_ids.h:864

References KIGFX::COLOR4D::b, KIGFX::COLOR4D::Brightened(), KIGFX::COLOR4D::Darkened(), IsHoleLayer(), IsNetnameLayer(), LAYER_ID_COUNT, LAYER_PCB_BACKGROUND, KIGFX::RENDER_SETTINGS::m_hiContrastColor, KIGFX::RENDER_SETTINGS::m_hiContrastFactor, KIGFX::RENDER_SETTINGS::m_highlightFactor, KIGFX::RENDER_SETTINGS::m_layerColors, KIGFX::RENDER_SETTINGS::m_layerColorsDark, KIGFX::RENDER_SETTINGS::m_layerColorsHi, KIGFX::RENDER_SETTINGS::m_layerColorsSel, KIGFX::RENDER_SETTINGS::m_selectFactor, and KIGFX::COLOR4D::Mix().

Referenced by KIGFX::DS_RENDER_SETTINGS::DS_RENDER_SETTINGS(), KIGFX::GERBVIEW_RENDER_SETTINGS::GERBVIEW_RENDER_SETTINGS(), KIGFX::GERBVIEW_RENDER_SETTINGS::LoadColors(), KIGFX::PCB_RENDER_SETTINGS::LoadColors(), KIGFX::PCB_RENDER_SETTINGS::PCB_RENDER_SETTINGS(), KIGFX::GERBVIEW_RENDER_SETTINGS::SetLayerColor(), and KIGFX::RENDER_SETTINGS::SetLayerColor().

Friends And Related Function Documentation

◆ SCH_PAINTER

friend class SCH_PAINTER
friend

Definition at line 73 of file sch_painter.h.

Member Data Documentation

◆ m_activeLayer

PCB_LAYER_ID KIGFX::RENDER_SETTINGS::m_activeLayer
protectedinherited

◆ m_backgroundColor

◆ m_dashLengthRatio

double KIGFX::RENDER_SETTINGS::m_dashLengthRatio
protectedinherited

◆ m_defaultFont

wxString KIGFX::RENDER_SETTINGS::m_defaultFont
protectedinherited

◆ m_defaultPenWidth

int KIGFX::RENDER_SETTINGS::m_defaultPenWidth
protectedinherited

◆ m_drawBoundingBoxes

bool KIGFX::RENDER_SETTINGS::m_drawBoundingBoxes
protectedinherited

◆ m_drawingSheetLineWidth

float KIGFX::RENDER_SETTINGS::m_drawingSheetLineWidth
protectedinherited

◆ m_gapLengthRatio

double KIGFX::RENDER_SETTINGS::m_gapLengthRatio
protectedinherited

◆ m_hiContrastColor

COLOR4D KIGFX::RENDER_SETTINGS::m_hiContrastColor[LAYER_ID_COUNT]
protectedinherited

◆ m_hiContrastEnabled

◆ m_hiContrastFactor

float KIGFX::RENDER_SETTINGS::m_hiContrastFactor
protectedinherited

◆ m_highContrastLayers

◆ m_highlightEnabled

◆ m_highlightFactor

float KIGFX::RENDER_SETTINGS::m_highlightFactor
protectedinherited

◆ m_highlightNetcodes

std::set<int> KIGFX::RENDER_SETTINGS::m_highlightNetcodes
protectedinherited

◆ m_isPrinting

◆ m_IsSymbolEditor

bool KIGFX::SCH_RENDER_SETTINGS::m_IsSymbolEditor

Definition at line 111 of file sch_painter.h.

Referenced by PANEL_EESCHEMA_COLOR_SETTINGS::createSwatches().

◆ m_LabelSizeRatio

double KIGFX::SCH_RENDER_SETTINGS::m_LabelSizeRatio

◆ m_layerColors

◆ m_layerColorsDark

◆ m_layerColorsHi

◆ m_layerColorsSel

◆ m_layerName

wxString KIGFX::RENDER_SETTINGS::m_layerName
protectedinherited

◆ m_minPenWidth

int KIGFX::RENDER_SETTINGS::m_minPenWidth
protectedinherited

◆ m_outlineWidth

◆ m_OverrideItemColors

bool KIGFX::SCH_RENDER_SETTINGS::m_OverrideItemColors

◆ m_PinSymbolSize

◆ m_printDC

wxDC* KIGFX::RENDER_SETTINGS::m_printDC
protectedinherited

◆ m_printLayers

LSET KIGFX::RENDER_SETTINGS::m_printLayers
protectedinherited

◆ m_selectFactor

float KIGFX::RENDER_SETTINGS::m_selectFactor
protectedinherited

◆ m_ShowConvert

◆ m_ShowDisabled

bool KIGFX::SCH_RENDER_SETTINGS::m_ShowDisabled

◆ m_ShowGraphicsDisabled

bool KIGFX::SCH_RENDER_SETTINGS::m_ShowGraphicsDisabled

◆ m_ShowPinNumbers

◆ m_ShowPinsElectricalType

◆ m_ShowUnit

◆ m_TextOffsetRatio


The documentation for this class was generated from the following files: