KiCad PCB EDA Suite
Loading...
Searching...
No Matches
RENDER_SETTINGS Class Referenceabstract

Container for all the knowledge about how graphical objects are drawn on any output surface/device. More...

#include <render_settings.h>

Inheritance diagram for RENDER_SETTINGS:
KIGFX::DS_RENDER_SETTINGS KIGFX::GERBVIEW_RENDER_SETTINGS KIGFX::PCB_RENDER_SETTINGS SCH_RENDER_SETTINGS SIMPLE_RENDER_SETTINGS

Public Member Functions

 RENDER_SETTINGS ()
 
virtual ~RENDER_SETTINGS ()
 
virtual void LoadColors (const COLOR_SETTINGS *aSettings)
 
void SetLayerIsHighContrast (int aLayerId, bool aEnabled=true)
 Set the specified layer as high-contrast.
 
bool GetLayerIsHighContrast (int aLayerId) const
 Return information whether the queried layer is marked as high-contrast.
 
const std::set< int > GetHighContrastLayers () const
 Returns the set of currently high-contrast layers.
 
PCB_LAYER_ID GetPrimaryHighContrastLayer () const
 Return the board layer which is in high-contrast mode.
 
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 (const LSET &aLayerSet)
 
void ClearHighContrastLayers ()
 Clear the list of active layers.
 
bool IsHighlightEnabled () const
 Return current highlight setting.
 
const std::set< int > & GetHighlightNetCodes () const
 Return the netcode of currently highlighted net.
 
void SetHighlight (bool aEnabled, int aNetcode=-1, bool aMulti=false)
 Turns on/off highlighting.
 
void SetHighlight (std::set< int > &aHighlight, bool aEnabled=true)
 Turns on highlighting and highlights multiple nets.
 
void SetHighContrast (bool aEnabled)
 Turns on/off high contrast display mode.
 
bool GetHighContrast () const
 
void SetDrawBoundingBoxes (bool aEnabled)
 
bool GetDrawBoundingBoxes () const
 
virtual COLOR4D GetColor (const VIEW_ITEM *aItem, int aLayer) const=0
 Returns the color that should be used to draw the specific VIEW_ITEM on the specific layer using currently used render settings.
 
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
 
virtual bool GetShowPageLimits () const
 
bool IsPrinting () const
 
void SetIsPrinting (bool isPrinting)
 
bool IsPrintBlackAndWhite () const
 
void SetPrintBlackAndWhite (bool aPrintBlackAndWhite)
 
bool PrintBlackAndWhiteReq () const
 
virtual const COLOR4DGetBackgroundColor () const=0
 Return current background color settings.
 
virtual void SetBackgroundColor (const COLOR4D &aColor)=0
 Set the background color.
 
virtual const COLOR4DGetGridColor ()=0
 Return current grid color settings.
 
virtual const COLOR4DGetCursorColor ()=0
 Return current cursor color settings.
 
const COLOR4DGetLayerColor (int aLayer) const
 Return the color used to draw a layer.
 
void SetLayerColor (int aLayer, const COLOR4D &aColor)
 Change the color used to draw a layer.
 
virtual bool IsBackgroundDark () const
 
void SetOutlineWidth (float aWidth)
 Set line width used for drawing outlines.
 
float GetOutlineWidth () const
 
void SetHighlightFactor (float aFactor)
 
void SetSelectFactor (float aFactor)
 
void SetDefaultFont (const wxString &aFont)
 
const wxString & GetDefaultFont () const
 
wxDC * GetPrintDC () const
 
void SetPrintDC (wxDC *aDC)
 

Protected Member Functions

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

Protected Attributes

PCB_LAYER_ID m_activeLayer
 
wxString m_layerName
 
std::set< int > m_highContrastLayers
 
std::map< int, COLOR4Dm_layerColors
 
std::map< int, COLOR4Dm_layerColorsHi
 
std::map< int, COLOR4Dm_layerColorsSel
 
std::map< int, COLOR4Dm_hiContrastColor
 
std::map< int, COLOR4Dm_layerColorsDark
 
COLOR4D m_backgroundColor
 
bool m_hiContrastEnabled
 Parameters for display modes.
 
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
 
bool m_printBlackAndWite
 
LSET m_printLayers
 
wxDC * m_printDC
 

Detailed Description

Container for all the knowledge about how graphical objects are drawn on any output surface/device.

This includes:

  • color/transparency settings
  • highlighting and high contrast mode control
  • drawing quality control (sketch/outline mode)
  • text processing flags

The class acts as an interface between the PAINTER object and the GUI (i.e. Layers/Items widget or display options dialog).

Definition at line 56 of file render_settings.h.

Constructor & Destructor Documentation

◆ RENDER_SETTINGS()

RENDER_SETTINGS::RENDER_SETTINGS ( )

Definition at line 29 of file render_settings.cpp.

◆ ~RENDER_SETTINGS()

RENDER_SETTINGS::~RENDER_SETTINGS ( )
virtual

Definition at line 52 of file render_settings.cpp.

Member Function Documentation

◆ ClearHighContrastLayers()

void KIGFX::RENDER_SETTINGS::ClearHighContrastLayers ( )
inline

Clear the list of active layers.

Definition at line 125 of file render_settings.h.

◆ GetActiveLayer()

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

Definition at line 113 of file render_settings.h.

◆ GetBackgroundColor()

virtual const COLOR4D & KIGFX::RENDER_SETTINGS::GetBackgroundColor ( ) const
pure virtual

Return current background color settings.

◆ GetColor()

virtual COLOR4D KIGFX::RENDER_SETTINGS::GetColor ( const VIEW_ITEM * aItem,
int aLayer ) const
pure virtual

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.

◆ GetCursorColor()

virtual const COLOR4D & KIGFX::RENDER_SETTINGS::GetCursorColor ( )
pure virtual

Return current cursor color settings.

◆ GetDashLength()

double RENDER_SETTINGS::GetDashLength ( int aLineWidth) const

Definition at line 67 of file render_settings.cpp.

◆ GetDashLengthRatio()

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

Definition at line 216 of file render_settings.h.

◆ GetDefaultFont()

const wxString & KIGFX::RENDER_SETTINGS::GetDefaultFont ( ) const
inline

Definition at line 305 of file render_settings.h.

◆ GetDefaultPenWidth()

int KIGFX::RENDER_SETTINGS::GetDefaultPenWidth ( ) const
inline

Definition at line 210 of file render_settings.h.

◆ GetDotLength()

double RENDER_SETTINGS::GetDotLength ( int aLineWidth) const

Definition at line 73 of file render_settings.cpp.

◆ GetDrawBoundingBoxes()

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

Definition at line 196 of file render_settings.h.

◆ GetDrawingSheetLineWidth()

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

Definition at line 208 of file render_settings.h.

◆ GetGapLength()

double RENDER_SETTINGS::GetGapLength ( int aLineWidth) const

Definition at line 81 of file render_settings.cpp.

◆ GetGapLengthRatio()

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

Definition at line 221 of file render_settings.h.

◆ GetGridColor()

virtual const COLOR4D & KIGFX::RENDER_SETTINGS::GetGridColor ( )
pure virtual

Return current grid color settings.

◆ GetHighContrast()

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

Definition at line 193 of file render_settings.h.

◆ GetHighContrastLayers()

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

Returns the set of currently high-contrast layers.

Definition at line 91 of file render_settings.h.

◆ GetHighlightNetCodes()

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

Return the netcode of currently highlighted net.

Returns
Netcode of currently highlighted net.

Definition at line 145 of file render_settings.h.

◆ GetLayerColor()

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

Return the color used to draw a layer.

Parameters
aLayeris the layer number.

Definition at line 266 of file render_settings.h.

◆ GetLayerIsHighContrast()

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

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

Returns
True if the queried layer is marked as active.

Definition at line 83 of file render_settings.h.

◆ GetLayerName()

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

Definition at line 116 of file render_settings.h.

◆ GetMinPenWidth()

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

Definition at line 213 of file render_settings.h.

◆ GetOutlineWidth()

float KIGFX::RENDER_SETTINGS::GetOutlineWidth ( ) const
inline

Definition at line 299 of file render_settings.h.

◆ GetPrimaryHighContrastLayer()

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

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

◆ GetPrintDC()

wxDC * KIGFX::RENDER_SETTINGS::GetPrintDC ( ) const
inline

Definition at line 308 of file render_settings.h.

◆ GetPrintLayers()

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

Definition at line 119 of file render_settings.h.

◆ GetShowPageLimits()

virtual bool KIGFX::RENDER_SETTINGS::GetShowPageLimits ( ) const
inlinevirtual

Definition at line 225 of file render_settings.h.

◆ IsBackgroundDark()

virtual bool KIGFX::RENDER_SETTINGS::IsBackgroundDark ( ) const
inlinevirtual

Definition at line 288 of file render_settings.h.

◆ IsHighlightEnabled()

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

Return current highlight setting.

Returns
True if highlight is enabled, false otherwise.

Definition at line 135 of file render_settings.h.

◆ IsPrintBlackAndWhite()

bool KIGFX::RENDER_SETTINGS::IsPrintBlackAndWhite ( ) const
inline

Definition at line 230 of file render_settings.h.

◆ IsPrinting()

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

Definition at line 227 of file render_settings.h.

◆ LoadColors()

virtual void KIGFX::RENDER_SETTINGS::LoadColors ( const COLOR_SETTINGS * aSettings)
inlinevirtual

Definition at line 62 of file render_settings.h.

◆ PrintBlackAndWhiteReq()

bool KIGFX::RENDER_SETTINGS::PrintBlackAndWhiteReq ( ) const
inline

Definition at line 236 of file render_settings.h.

◆ SetActiveLayer()

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

Definition at line 114 of file render_settings.h.

◆ SetBackgroundColor()

virtual void KIGFX::RENDER_SETTINGS::SetBackgroundColor ( const COLOR4D & aColor)
pure virtual

Set the background color.

◆ SetDashLengthRatio()

void KIGFX::RENDER_SETTINGS::SetDashLengthRatio ( double aRatio)
inline

Definition at line 217 of file render_settings.h.

◆ SetDefaultFont()

void KIGFX::RENDER_SETTINGS::SetDefaultFont ( const wxString & aFont)
inline

Definition at line 304 of file render_settings.h.

◆ SetDefaultPenWidth()

void KIGFX::RENDER_SETTINGS::SetDefaultPenWidth ( int aWidth)
inline

Definition at line 211 of file render_settings.h.

◆ SetDrawBoundingBoxes()

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

Definition at line 195 of file render_settings.h.

◆ SetGapLengthRatio()

void KIGFX::RENDER_SETTINGS::SetGapLengthRatio ( double aRatio)
inline

Definition at line 222 of file render_settings.h.

◆ SetHighContrast()

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

Turns on/off high contrast display mode.

Definition at line 192 of file render_settings.h.

◆ SetHighlight() [1/2]

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

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

◆ SetHighlight() [2/2]

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

Turns on highlighting and highlights multiple nets.

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

Definition at line 179 of file render_settings.h.

◆ SetHighlightFactor()

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

Definition at line 301 of file render_settings.h.

◆ SetIsPrinting()

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

Definition at line 228 of file render_settings.h.

◆ SetLayerColor()

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

Change the color used to draw a layer.

Parameters
aLayeris the layer number.
aColoris the new color.

Definition at line 281 of file render_settings.h.

◆ SetLayerIsHighContrast()

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

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

◆ SetLayerName()

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

Definition at line 117 of file render_settings.h.

◆ SetMinPenWidth()

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

Definition at line 214 of file render_settings.h.

◆ SetOutlineWidth()

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

Set line width used for drawing outlines.

Parameters
aWidthis the new width.

Definition at line 298 of file render_settings.h.

◆ SetPrintBlackAndWhite()

void KIGFX::RENDER_SETTINGS::SetPrintBlackAndWhite ( bool aPrintBlackAndWhite)
inline

Definition at line 231 of file render_settings.h.

◆ SetPrintDC()

void KIGFX::RENDER_SETTINGS::SetPrintDC ( wxDC * aDC)
inline

Definition at line 309 of file render_settings.h.

◆ SetPrintLayers()

void KIGFX::RENDER_SETTINGS::SetPrintLayers ( const LSET & aLayerSet)
inline

Definition at line 120 of file render_settings.h.

◆ SetSelectFactor()

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

Definition at line 302 of file render_settings.h.

◆ update()

void RENDER_SETTINGS::update ( )
protectedvirtual

Precalculates extra colors for layers (e.g.

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

Definition at line 87 of file render_settings.cpp.

Member Data Documentation

◆ m_activeLayer

PCB_LAYER_ID KIGFX::RENDER_SETTINGS::m_activeLayer
protected

Definition at line 318 of file render_settings.h.

◆ m_backgroundColor

COLOR4D KIGFX::RENDER_SETTINGS::m_backgroundColor
protected

Definition at line 328 of file render_settings.h.

◆ m_dashLengthRatio

double KIGFX::RENDER_SETTINGS::m_dashLengthRatio
protected

Definition at line 347 of file render_settings.h.

◆ m_defaultFont

wxString KIGFX::RENDER_SETTINGS::m_defaultFont
protected

Definition at line 350 of file render_settings.h.

◆ m_defaultPenWidth

int KIGFX::RENDER_SETTINGS::m_defaultPenWidth
protected

Definition at line 344 of file render_settings.h.

◆ m_drawBoundingBoxes

bool KIGFX::RENDER_SETTINGS::m_drawBoundingBoxes
protected

Definition at line 338 of file render_settings.h.

◆ m_drawingSheetLineWidth

float KIGFX::RENDER_SETTINGS::m_drawingSheetLineWidth
protected

Definition at line 342 of file render_settings.h.

◆ m_gapLengthRatio

double KIGFX::RENDER_SETTINGS::m_gapLengthRatio
protected

Definition at line 348 of file render_settings.h.

◆ m_hiContrastColor

std::map<int, COLOR4D> KIGFX::RENDER_SETTINGS::m_hiContrastColor
protected

Definition at line 325 of file render_settings.h.

◆ m_hiContrastEnabled

bool KIGFX::RENDER_SETTINGS::m_hiContrastEnabled
protected

Parameters for display modes.

Definition at line 331 of file render_settings.h.

◆ m_hiContrastFactor

float KIGFX::RENDER_SETTINGS::m_hiContrastFactor
protected

Definition at line 332 of file render_settings.h.

◆ m_highContrastLayers

std::set<int> KIGFX::RENDER_SETTINGS::m_highContrastLayers
protected

Definition at line 320 of file render_settings.h.

◆ m_highlightEnabled

bool KIGFX::RENDER_SETTINGS::m_highlightEnabled
protected

Definition at line 334 of file render_settings.h.

◆ m_highlightFactor

float KIGFX::RENDER_SETTINGS::m_highlightFactor
protected

Definition at line 336 of file render_settings.h.

◆ m_highlightNetcodes

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

Definition at line 335 of file render_settings.h.

◆ m_isPrinting

bool KIGFX::RENDER_SETTINGS::m_isPrinting
protected

Definition at line 352 of file render_settings.h.

◆ m_layerColors

std::map<int, COLOR4D> KIGFX::RENDER_SETTINGS::m_layerColors
protected

Definition at line 322 of file render_settings.h.

◆ m_layerColorsDark

std::map<int, COLOR4D> KIGFX::RENDER_SETTINGS::m_layerColorsDark
protected

Definition at line 326 of file render_settings.h.

◆ m_layerColorsHi

std::map<int, COLOR4D> KIGFX::RENDER_SETTINGS::m_layerColorsHi
protected

Definition at line 323 of file render_settings.h.

◆ m_layerColorsSel

std::map<int, COLOR4D> KIGFX::RENDER_SETTINGS::m_layerColorsSel
protected

Definition at line 324 of file render_settings.h.

◆ m_layerName

wxString KIGFX::RENDER_SETTINGS::m_layerName
protected

Definition at line 319 of file render_settings.h.

◆ m_minPenWidth

int KIGFX::RENDER_SETTINGS::m_minPenWidth
protected

Definition at line 345 of file render_settings.h.

◆ m_outlineWidth

float KIGFX::RENDER_SETTINGS::m_outlineWidth
protected

Definition at line 341 of file render_settings.h.

◆ m_printBlackAndWite

bool KIGFX::RENDER_SETTINGS::m_printBlackAndWite
protected

Definition at line 353 of file render_settings.h.

◆ m_printDC

wxDC* KIGFX::RENDER_SETTINGS::m_printDC
protected

Definition at line 357 of file render_settings.h.

◆ m_printLayers

LSET KIGFX::RENDER_SETTINGS::m_printLayers
protected

Definition at line 355 of file render_settings.h.

◆ m_selectFactor

float KIGFX::RENDER_SETTINGS::m_selectFactor
protected

Definition at line 340 of file render_settings.h.


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