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 () 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...
 
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< unsigned 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)
 
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
 
float GetDrawingSheetLineWidth () const
 
int GetDefaultPenWidth () const
 
void SetDefaultPenWidth (int aWidth)
 
int GetMinPenWidth () const
 
void SetMinPenWidth (int aWidth)
 
bool GetShowPageLimits () const
 
void SetShowPageLimits (bool aDraw)
 
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 SetHighContrastFactor (float aFactor)
 
wxDC * GetPrintDC () const
 
void SetPrintDC (wxDC *aDC)
 

Public Attributes

int m_ShowUnit
 
int m_ShowConvert
 
bool m_ShowHiddenText
 
bool m_ShowHiddenPins
 
bool m_ShowPinsElectricalType
 
bool m_ShowDisabled
 
bool m_ShowGraphicsDisabled
 
bool m_ShowUmbilicals
 
bool m_OverrideItemColors
 
double m_LabelSizeRatio
 
double m_TextOffsetRatio
 
int m_DefaultWireThickness
 
int m_DefaultBusThickness
 
int m_PinSymbolSize
 
int m_JunctionSize
 

Protected Member Functions

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

Protected Attributes

PCB_LAYER_ID m_activeLayer
 
std::set< unsigned 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
 
float m_selectFactor
 
float m_outlineWidth
 
float m_drawingSheetLineWidth
 
int m_defaultPenWidth
 
int m_minPenWidth
 
bool m_showPageLimits
 
bool m_isPrinting
 
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 72 of file sch_painter.cpp.

72  :
73  m_ShowUnit( 0 ),
74  m_ShowConvert( 0 ),
75  m_ShowHiddenText( true ),
76  m_ShowHiddenPins( true ),
78  m_ShowDisabled( false ),
79  m_ShowGraphicsDisabled( false ),
80  m_ShowUmbilicals( true ),
81  m_OverrideItemColors( false ),
88 {
90 
92 }
#define DEFAULT_LABEL_SIZE_RATIO
The offset of the pin name string from the end of the pin in mils.
#define DEFAULT_WIRE_WIDTH_MILS
The default bus width in mils. (can be changed in preference menu)
#define DEFAULT_LINE_WIDTH_MILS
The default wire width in mils. (can be changed in preference menu)
static constexpr double IU_PER_MM
Mock up a conversion function.
#define DEFAULT_JUNCTION_DIAM
The default bus and wire entry size in mils.
double m_MinPlotPenWidth
Sets an absolute minimum pen width for plotting.
#define DEFAULT_BUS_WIDTH_MILS
The default noconnect size in mils.
#define IU_PER_MILS
Definition: plotter.cpp:136
#define DEFAULT_TEXT_SIZE
Ratio of the font height to the baseline of the text above the wire.
static const ADVANCED_CFG & GetCfg()
Get the singleton instance's config, which is shared by all consumers.
void SetDefaultPenWidth(int aWidth)
#define DEFAULT_TEXT_OFFSET_RATIO
Ratio of the font height to space around global labels.

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

Member Function Documentation

◆ ClearHighContrastLayers()

void KIGFX::RENDER_SETTINGS::ClearHighContrastLayers ( )
inlineinherited

Clear the list of active layers.

Definition at line 118 of file render_settings.h.

119  {
120  m_highContrastLayers.clear();
121  }
std::set< unsigned int > m_highContrastLayers

References KIGFX::RENDER_SETTINGS::m_highContrastLayers.

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

◆ 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 ( )
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]

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 111 of file sch_painter.cpp.

112 {
113  return m_layerColors[ aLayer ];
114 }
COLOR4D m_layerColors[LAYER_ID_COUNT]

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.

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

◆ GetDanglineSymbolThickness()

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

◆ GetDefaultPenWidth()

◆ GetDrawingSheetLineWidth()

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

◆ 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.

104 { return m_layerColors[ LAYER_SCHEMATIC_GRID ]; }
COLOR4D m_layerColors[LAYER_ID_COUNT]

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

◆ GetHighContrast()

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

◆ GetHighContrastLayers()

const std::set<unsigned 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  {
92  return m_highContrastLayers;
93  }
std::set< unsigned int > m_highContrastLayers

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

Return the netcode of currently highlighted net.

Returns
Netcode of currently highlighted net.

Definition at line 138 of file render_settings.h.

139  {
140  return m_highlightNetcodes;
141  }
std::set< int > m_highlightNetcodes

References KIGFX::RENDER_SETTINGS::m_highlightNetcodes.

Referenced by BOARD_INSPECTION_TOOL::HighlightNet(), PNS::TOOL_BASE::highlightNet(), and PCB_EDIT_FRAME::setupUIConditions().

◆ 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 237 of file render_settings.h.

238  {
239  return m_layerColors[aLayer];
240  }
COLOR4D m_layerColors[LAYER_ID_COUNT]

References KIGFX::RENDER_SETTINGS::m_layerColors.

Referenced by DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), KIGFX::SCH_PAINTER::draw(), KIGFX::PREVIEW::DRAW_CONTEXT::DrawCircle(), KIGFX::PREVIEW::DRAW_CONTEXT::DrawLine(), KIGFX::PREVIEW::DRAW_CONTEXT::DrawLineWithAngleHighlight(), BOARD_PRINTOUT::DrawPage(), KIGFX::PREVIEW::POLYGON_ITEM::drawPreviewShape(), KIGFX::PREVIEW::DrawTextNextToCursor(), KIGFX::SCH_PAINTER::getRenderColor(), PCB_GRID_HELPER::PCB_GRID_HELPER(), LIB_RECTANGLE::Plot(), LIB_CIRCLE::Plot(), LIB_ARC::Plot(), LIB_BEZIER::Plot(), LIB_POLYLINE::Plot(), LIB_TEXT::Plot(), SCH_NO_CONNECT::Plot(), SCH_BITMAP::Plot(), LIB_FIELD::Plot(), SCH_FIELD::Plot(), SCH_TEXT::Plot(), LIB_SYMBOL::Plot(), SCH_SHEET::Plot(), LIB_SYMBOL::PlotLibFields(), DIALOG_PLOT_SCHEMATIC::plotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPDF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetPS(), DIALOG_PLOT_SCHEMATIC::plotOneSheetSVG(), LIB_PIN::PlotPinTexts(), LIB_PIN::PlotSymbol(), SCH_JUNCTION::Print(), SCH_NO_CONNECT::Print(), SCH_BUS_ENTRY_BASE::Print(), LIB_BEZIER::print(), LIB_CIRCLE::print(), LIB_RECTANGLE::print(), LIB_POLYLINE::print(), LIB_ARC::print(), LIB_TEXT::print(), LIB_PIN::print(), SCH_FIELD::Print(), SCH_LINE::Print(), SCH_TEXT::Print(), LIB_FIELD::print(), SCH_SHEET::Print(), SCH_GLOBALLABEL::Print(), SCH_HIERLABEL::Print(), 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_PAGES_SETTINGS::UpdateDrawingSheetExample(), KIGFX::PREVIEW::RULER_ITEM::ViewDraw(), DS_PROXY_VIEW_ITEM::ViewDraw(), EDIT_POINTS::ViewDraw(), and FP_TEXT::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  }
std::set< unsigned int > m_highContrastLayers

References KIGFX::RENDER_SETTINGS::m_highContrastLayers.

◆ GetMinPenWidth()

int KIGFX::RENDER_SETTINGS::GetMinPenWidth ( ) const
inlineinherited

◆ 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  }
std::set< unsigned int > m_highContrastLayers
PCB_LAYER_ID
A quick note on layer IDs:
Definition: layer_ids.h:64

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

Referenced by KIGFX::PCB_RENDER_SETTINGS::GetColor(), and PNS_KICAD_IFACE::IsItemVisible().

◆ GetPrintDC()

◆ GetShowPageLimits()

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

◆ 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:330
COLOR4D m_layerColors[LAYER_ID_COUNT]

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 128 of file render_settings.h.

129  {
130  return m_highlightEnabled;
131  }

References KIGFX::RENDER_SETTINGS::m_highlightEnabled.

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

◆ IsPrinting()

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

Definition at line 209 of file render_settings.h.

209 { return m_isPrinting; }

References KIGFX::RENDER_SETTINGS::m_isPrinting.

◆ LoadColors()

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

Reimplemented from KIGFX::RENDER_SETTINGS.

Definition at line 95 of file sch_painter.cpp.

96 {
97  for( int layer = SCH_LAYER_ID_START; layer < SCH_LAYER_ID_END; layer ++)
98  m_layerColors[ layer ] = aSettings->GetColor( layer );
99 
100  for( int layer = GAL_LAYER_ID_START; layer < GAL_LAYER_ID_END; layer ++)
101  m_layerColors[ layer ] = aSettings->GetColor( layer );
102 
104 
106 
108 }
Auxiliary items (guides, rule, etc)
Definition: layer_ids.h:217
COLOR4D m_layerColors[LAYER_ID_COUNT]
COLOR4D GetColor(int aLayer) const
bool GetOverrideSchItemColors() const

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 SYMBOL_EDIT_FRAME::SVGPlotSymbol(), and SYMBOL_VIEWER_FRAME::SYMBOL_VIEWER_FRAME().

◆ 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  }
COLOR4D m_layerColors[LAYER_ID_COUNT]

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

◆ SetDefaultPenWidth()

◆ SetHighContrast()

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

Turns on/off high contrast display mode.

Definition at line 185 of file render_settings.h.

185 { m_hiContrastEnabled = aEnabled; }
bool m_hiContrastEnabled
Parameters for display modes.

References KIGFX::RENDER_SETTINGS::m_hiContrastEnabled.

Referenced by DIALOG_PAD_PROPERTIES::onChangePadMode().

◆ SetHighContrastFactor()

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

Definition at line 272 of file render_settings.h.

272 { m_hiContrastFactor = aFactor; }

References KIGFX::RENDER_SETTINGS::m_hiContrastFactor.

Referenced by PCB_BASE_FRAME::LoadSettings().

◆ 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 152 of file render_settings.h.

153  {
154  m_highlightEnabled = aEnabled;
155 
156  if( aEnabled )
157  {
158  if( !aMulti )
159  m_highlightNetcodes.clear();
160 
161  m_highlightNetcodes.insert( aNetcode );
162  }
163  else
164  m_highlightNetcodes.clear();
165  }
std::set< int > m_highlightNetcodes

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

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

◆ 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 172 of file render_settings.h.

173  {
174  m_highlightEnabled = aEnabled;
175 
176  if( aEnabled )
177  m_highlightNetcodes = aHighlight;
178  else
179  m_highlightNetcodes.clear();
180  }
std::set< int > m_highlightNetcodes

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

◆ SetHighlightFactor()

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

Definition at line 270 of file render_settings.h.

270 { 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 210 of file render_settings.h.

210 { m_isPrinting = isPrinting; }

References KIGFX::RENDER_SETTINGS::m_isPrinting.

Referenced by BOARD_PRINTOUT::DrawPage().

◆ 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 248 of file render_settings.h.

249  {
250  m_layerColors[aLayer] = aColor;
251 
252  update(); // recompute other shades of the color
253  }
COLOR4D m_layerColors[LAYER_ID_COUNT]
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(), 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  }
std::set< unsigned int > m_highContrastLayers

References KIGFX::RENDER_SETTINGS::m_highContrastLayers.

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

◆ SetMinPenWidth()

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

Definition at line 204 of file render_settings.h.

204 { m_minPenWidth = aWidth; }

References KIGFX::RENDER_SETTINGS::m_minPenWidth.

◆ SetOutlineWidth()

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

Set line width used for drawing outlines.

Parameters
aWidthis the new width.

Definition at line 265 of file render_settings.h.

266  {
267  m_outlineWidth = aWidth;
268  }

References KIGFX::RENDER_SETTINGS::m_outlineWidth.

◆ SetPrintDC()

◆ SetSelectFactor()

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

Definition at line 271 of file render_settings.h.

271 { m_selectFactor = aFactor; }

References KIGFX::RENDER_SETTINGS::m_selectFactor.

Referenced by PCB_BASE_FRAME::LoadSettings().

◆ SetShowPageLimits()

void KIGFX::RENDER_SETTINGS::SetShowPageLimits ( bool  aDraw)
inlineinherited

◆ 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 54 of file render_settings.cpp.

55 {
56  // Calculate darkened/highlighted variants of layer colors
57  for( int i = 0; i < LAYER_ID_COUNT; i++ )
58  {
61 
64 
65  // Linear brightening doesn't work well for colors near white
66  double factor = ( m_selectFactor * 0.6 ) + pow( m_layerColors[i].GetBrightness(), 3 );
67  m_layerColorsSel[i] = m_layerColors[i].Brightened( std::min( factor, 1.0 ) );
68  }
69 }
COLOR4D m_layerColorsHi[LAYER_ID_COUNT]
COLOR4D m_layerColors[LAYER_ID_COUNT]
COLOR4D Darkened(double aFactor) const
Return a color that is darker by a given factor, without modifying object.
Definition: color4d.h:279
COLOR4D m_hiContrastColor[LAYER_ID_COUNT]
COLOR4D Brightened(double aFactor) const
Return a color that is brighter by a given factor, without modifying object.
Definition: color4d.h:265
COLOR4D m_layerColorsDark[LAYER_ID_COUNT]
PCB background color.
Definition: layer_ids.h:215
COLOR4D Mix(const COLOR4D &aColor, double aFactor) const
Return a color that is mixed with the input by a factor.
Definition: color4d.h:292
#define LAYER_ID_COUNT
Must update this if you add any enums after GerbView!
Definition: layer_ids.h:422
COLOR4D m_layerColorsSel[LAYER_ID_COUNT]

References KIGFX::COLOR4D::Brightened(), KIGFX::COLOR4D::Darkened(), 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::GERBVIEW_RENDER_SETTINGS::LoadDisplayOptions(), 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_DefaultBusThickness

int KIGFX::SCH_RENDER_SETTINGS::m_DefaultBusThickness

Definition at line 125 of file sch_painter.h.

Referenced by SCH_EDIT_FRAME::LoadProjectSettings().

◆ m_defaultPenWidth

int KIGFX::RENDER_SETTINGS::m_defaultPenWidth
protectedinherited

◆ m_DefaultWireThickness

int KIGFX::SCH_RENDER_SETTINGS::m_DefaultWireThickness

◆ m_drawingSheetLineWidth

float KIGFX::RENDER_SETTINGS::m_drawingSheetLineWidth
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

bool KIGFX::RENDER_SETTINGS::m_isPrinting
protectedinherited

◆ m_JunctionSize

int KIGFX::SCH_RENDER_SETTINGS::m_JunctionSize

◆ m_LabelSizeRatio

double KIGFX::SCH_RENDER_SETTINGS::m_LabelSizeRatio

◆ m_layerColors

◆ m_layerColorsDark

◆ m_layerColorsHi

◆ m_layerColorsSel

◆ m_minPenWidth

int KIGFX::RENDER_SETTINGS::m_minPenWidth
protectedinherited

◆ m_outlineWidth

◆ m_OverrideItemColors

bool KIGFX::SCH_RENDER_SETTINGS::m_OverrideItemColors

Definition at line 118 of file sch_painter.h.

Referenced by KIGFX::SCH_PAINTER::getRenderColor(), and LoadColors().

◆ m_PinSymbolSize

◆ m_printDC

wxDC* KIGFX::RENDER_SETTINGS::m_printDC
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_ShowHiddenPins

◆ m_ShowHiddenText

◆ m_showPageLimits

◆ m_ShowPinsElectricalType

◆ m_ShowUmbilicals

bool KIGFX::SCH_RENDER_SETTINGS::m_ShowUmbilicals

◆ m_ShowUnit

◆ m_TextOffsetRatio

double KIGFX::SCH_RENDER_SETTINGS::m_TextOffsetRatio

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