7436bf6e2e
C changes: - gstorage.c: encode continent into root key for --persist --restore survival - gholder.c: decode continent from root + lat/lng storage - commons.h: add lat/lng fields to GMetrics struct - geoip2.c/geoip1.h: extract coordinates from MMDB - json.c: output lat/lng in geolocation JSON JS changes: - Remove cityIndex guard for static HTML city dots - TopoJSON lat/lng fallback for city coordinates - updateMap fallback city collection - Dynamic orthographic center based on visitor count - Mercator stays at [0,15] for full world view Co-Authored-By: Claude <noreply@anthropic.com>
116 lines
3.4 KiB
C
116 lines
3.4 KiB
C
/**
|
|
* ______ ___
|
|
* / ____/___ / | _____________ __________
|
|
* / / __/ __ \/ /| |/ ___/ ___/ _ \/ ___/ ___/
|
|
* / /_/ / /_/ / ___ / /__/ /__/ __(__ |__ )
|
|
* \____/\____/_/ |_\___/\___/\___/____/____/
|
|
*
|
|
* The MIT License (MIT)
|
|
* Copyright (c) 2009-2026 Gerardo Orellana <hello @ goaccess.io>
|
|
*
|
|
* 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
|