From 32b7aa90a55859d6215610a2708f7317fd19fe15 Mon Sep 17 00:00:00 2001 From: charras Date: Fri, 29 Jan 2010 20:47:03 +0000 Subject: [PATCH] forgotten file --- common/class_colors_design_settings.cpp | 130 ++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 common/class_colors_design_settings.cpp diff --git a/common/class_colors_design_settings.cpp b/common/class_colors_design_settings.cpp new file mode 100644 index 0000000000..77bf26d5f5 --- /dev/null +++ b/common/class_colors_design_settings.cpp @@ -0,0 +1,130 @@ +/****************************************************/ +/* class_colors_design_settings.cpp */ +/* handle colors used to draw all items or layers */ +/****************************************************/ +#include "fctsys.h" +#include "colors.h" + +#include "class_colors_design_settings.h" + +/* Class for handle list of color settings for designs + * in Eeschema, Pcbnew and gerbview + */ + +/* Initial colors values: optimized for pcbnew, but are also Ok for eeschema + * these values are superseded by config reading + */ +static const int default_layer_color[LAYERSCOLORSBUFFERSIZE] = +{ + GREEN, BLUE, LIGHTGRAY, BROWN, + RED, MAGENTA, LIGHTGRAY, MAGENTA, + DARKGRAY, BLUE, GREEN, CYAN, + LIGHTRED, LIGHTMAGENTA, YELLOW, RED, + BLUE, MAGENTA, + LIGHTCYAN, RED, + MAGENTA, CYAN, + BROWN, MAGENTA, + LIGHTGRAY, + BLUE, + GREEN, YELLOW, + YELLOW, + LIGHTMAGENTA, + YELLOW, + DARKGRAY +}; + +static const int default_items_color[LAYERSCOLORSBUFFERSIZE] = +{ + LIGHTGRAY, // unused + CYAN, // VIA_MICROVIA_VISIBLE + BROWN, // VIA_BBLIND_VISIBLE + LIGHTGRAY, // VIA_THROUGH_VISIBLE + LIGHTGRAY, // MOD_TEXT_FR_VISIBLE + BLUE, // MOD_TEXT_BK_VISIBLE + DARKGRAY, // MOD_TEXT_INVISIBLE + BLUE, // ANCHOR_VISIBLE + RED, // PAD_FR_VISIBLE + GREEN, // PAD_BK_VISIBLE + LIGHTGRAY, // RATSNEST_VISIBLE + DARKGRAY, //GRID_VISIBLE + LIGHTRED, LIGHTGRAY, LIGHTGRAY, LIGHTGRAY, + LIGHTGRAY, LIGHTGRAY, + LIGHTGRAY, LIGHTGRAY, + LIGHTGRAY, LIGHTGRAY, + LIGHTGRAY, LIGHTGRAY, + LIGHTGRAY, + LIGHTGRAY, + LIGHTGRAY, + LIGHTGRAY, + LIGHTGRAY, + LIGHTGRAY, + LIGHTGRAY, + LIGHTGRAY +}; + +COLORS_DESIGN_SETTINGS:: COLORS_DESIGN_SETTINGS() +{ + for( unsigned ii = 0; ii < LAYERSCOLORSBUFFERSIZE; ii++ ) + m_LayersColors[ii] = default_layer_color[ii]; + + for( unsigned ii = 0; ii < ITEMSCOLORSBUFFERSIZE; ii++ ) + m_ItemsColors[ii] = default_items_color[ii]; +} + + +/** + * Function GetLayerColor + * @return the color for aLayer which is one of the layer indices given + * in pcbstruct.h or in schematic + */ +int COLORS_DESIGN_SETTINGS::GetLayerColor( int aLayer ) +{ + if( (unsigned) aLayer < LAYERSCOLORSBUFFERSIZE ) + { + return m_LayersColors[aLayer]; + } + return -1; +} + + +/** + * Function SetLayerColor + * sets the color for aLayer which is one of the layer indices given + * in pcbstruct.h or in schematic + */ +void COLORS_DESIGN_SETTINGS:: SetLayerColor( int aLayer, int aColor ) +{ + if( (unsigned) aLayer < LAYERSCOLORSBUFFERSIZE ) + { + m_LayersColors[aLayer] = aColor; + } +} + + +/** + * Function GetItemColor + * @return the color for an item which is one of the item indices given + * in pcbstruct.h, enum PCB_VISIBLE or in schematic + */ +int COLORS_DESIGN_SETTINGS:: GetItemColor( int aItemIdx ) +{ + if( (unsigned) aItemIdx < ITEMSCOLORSBUFFERSIZE ) + { + return m_ItemsColors[aItemIdx]; + } + return -1; +} + + +/** + * Function SetItemColor + * sets the color for an item which is one of the item indices given + * in pcbstruct.h, enum PCB_VISIBLE or in schematic + */ +void COLORS_DESIGN_SETTINGS:: SetItemColor( int aItemIdx, int aColor ) +{ + if( (unsigned) aItemIdx < ITEMSCOLORSBUFFERSIZE ) + { + m_ItemsColors[aItemIdx] = aColor; + } +}