/** * ______ ___ * / ____/___ / | _____________ __________ * / / __/ __ \/ /| |/ ___/ ___/ _ \/ ___/ ___/ * / /_/ / /_/ / ___ / /__/ /__/ __(__ |__ ) * \____/\____/_/ |_\___/\___/\___/____/____/ * * The MIT License (MIT) * Copyright (c) 2009-2026 Gerardo Orellana * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef COLOR_H_INCLUDED #define COLOR_H_INCLUDED #define COLOR_STR_LEN 9 /* Color Items/Fields */ typedef enum CSTM_COLORS { COLOR_NORMAL, COLOR_MTRC_HITS, COLOR_MTRC_VISITORS, COLOR_MTRC_DATA, COLOR_MTRC_BW, COLOR_MTRC_AVGTS, COLOR_MTRC_CUMTS, COLOR_MTRC_MAXTS, COLOR_MTRC_PROT, COLOR_MTRC_MTHD, COLOR_MTRC_HITS_PERC, COLOR_MTRC_HITS_PERC_MAX, COLOR_MTRC_VISITORS_PERC, COLOR_MTRC_VISITORS_PERC_MAX, COLOR_MTRC_BW_PERC, COLOR_MTRC_BW_PERC_MAX, COLOR_PANEL_COLS, COLOR_BARS, COLOR_SUBBARS, COLOR_CHART_AXIS, COLOR_CHART_VALUES, COLOR_ERROR, COLOR_SELECTED, COLOR_PANEL_ACTIVE, COLOR_PANEL_HEADER, COLOR_PANEL_DESC, COLOR_OVERALL_LBLS, COLOR_OVERALL_VALS, COLOR_OVERALL_PATH, COLOR_ACTIVE_LABEL, COLOR_BG, COLOR_DEFAULT, COLOR_PROGRESS, } GColorItem; /* Default Color Schemes */ typedef enum SCHEMES { NO_COLOR, MONOCHROME, STD_GREEN, MONOKAI, } GSchemes; #include "commons.h" /* Each color properties */ typedef struct GColorPair_ { short idx; /* color pair index identifier */ short fg; /* foreground color */ short bg; /* background color */ } GColorPair; /* Color */ typedef struct GColors_ { GColorItem item; /* screen item */ GColorPair *pair; /* color pair */ int attr; /* color attributes, e.g., bold */ short module; /* panel */ int pair_idx; } GColors; GColors *color_default (void); GColors *color_error (void); GColors *color_overall_lbls (void); GColors *color_overall_path (void); GColors *color_overall_vals (void); GColors *color_panel_active (void); GColors *color_panel_desc (void); GColors *color_panel_header (void); GColors *color_progress (void); GColors *color_selected (void); GColors *get_color_by_item_module (GColorItem item, GModule module); GColors *get_color (GColorItem item); GColors *get_color_normal (void); void free_color_lists (void); void set_colors (int force); void set_normal_color (void); #endif // for #ifndef COLOR_H