OpenCPN Partial API docs
Loading...
Searching...
No Matches
config_vars.h
Go to the documentation of this file.
1/***************************************************************************
2 * Copyright (C) 2023 - 2025 Alec Leamas *
3 * *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
8 * *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, see <https://www.gnu.org/licenses/>. *
16 **************************************************************************/
17
24#ifndef CONFIG_VARS_H__
25#define CONFIG_VARS_H__
26
27#include <string>
28#include <vector>
29
30#include <wx/config.h>
31#include <wx/string.h>
32
33extern bool g_always_send_rmb_rmc; // See extended docs below
34extern bool g_bAISRolloverShowClass;
35extern bool g_bAISRolloverShowCOG;
36extern bool g_bAISRolloverShowCPA;
37extern bool g_bAllowShipToActive;
38extern bool g_bAutoAnchorMar;
39extern bool g_bAutoAnchorMark;
40extern bool g_bAutoHideToolbar;
41extern bool g_bBasicMenus;
42extern bool g_bConfirmObjectDelete;
43extern bool g_bCourseUp;
44extern bool g_bDebugCM93;
45extern bool g_bDebugGPSD;
46extern bool g_bDebugOGL;
47extern bool g_bDebugS57;
48extern bool g_bDisplayGrid;
49extern bool g_bEmailCrashReport;
50extern bool g_benable_rotate;
51extern bool g_benableUDPNullHeader;
52extern bool g_bEnableZoomToCursor;
53extern bool g_bfilter_cogsog;
54extern bool g_bframemax;
55extern bool g_bFullscreen;
56extern bool g_bFullScreenQuilt;
57extern bool g_bFullscreenToolbar;
58extern bool g_bGarminHostUpload;
59extern bool g_bGDAL_Debug;
60extern bool g_bGLexpert;
61extern bool g_bHighliteTracks;
62extern bool g_bInlandEcdis;
63extern bool g_bLookAhead;
64extern bool g_bMagneticAPB;
65extern bool g_bNavAidRadarRingsShown;
66extern bool g_bopengl;
67extern bool g_bOverruleScaMin;
68extern bool g_bPermanentMOBIcon;
69extern bool g_bPlayShipsBell;
70extern bool g_bPlayShipsBells;
71extern bool g_bPreserveScaleOnX;
72extern bool g_bQuiltEnable;
73extern bool g_bQuiltStart; // Not used
74extern bool g_bresponsive;
75extern bool g_bRollover;
76extern bool g_bShowActiveRouteHighway;
77extern bool g_bShowChartBar;
78extern bool g_bShowCompassWin;
79extern bool g_bShowCurrent;
80extern bool g_bShowDepthUnits;
81extern bool g_bShowDetailSlider;
82extern bool g_bShowLayers;
83extern bool g_bShowLiveETA;
84extern bool g_bShowMag;
85extern bool g_bShowMenuBar;
86extern bool g_bShowMuiZoomButtons;
87extern bool g_bShowOutlines;
88extern bool g_bShowRouteTotal;
89extern bool g_bShowShipToActive;
90extern bool g_bShowStatusBar;
91extern bool g_bShowTide;
92extern bool g_bShowTrackPointTime;
93extern bool g_bShowTrue;
94extern bool g_bShowWptName;
95extern bool g_bsimplifiedScalebar;
96extern bool g_bskew_comp;
97extern bool g_bsmoothpanzoom;
98extern bool g_bsmoothpanzoom; // see extended docs below
99extern bool g_bSoftwareGL;
100extern bool g_bSpaceDropMark;
101extern bool g_btenhertz;
102extern bool g_btouch;
103extern bool g_btrackContinuous;
104extern bool g_bTrackDaily;
105extern bool g_bTransparentToolbar;
106extern bool g_bUIexpert;
107extern bool g_bUseGLL;
108extern bool g_bUseGreenShip;
109extern bool g_bUseOnlyConfirmedAISName;
110extern bool g_bUserIconsFirst;
111extern bool g_bUseWptScaMin;
112extern bool g_bWayPointPreventDragging;
113extern bool g_bWplUsePosition;
114extern bool g_config_display_size_manual;
115extern bool g_declutter_anchorage;
116extern bool g_enable_root_menu_debug;
117extern bool g_fog_overzoom;
118extern bool g_own_ship_sog_cog_calc;
119extern bool g_oz_vector_scale;
120extern bool g_persist_active_route;
121extern bool g_useMUI;
122extern bool s_bSetSystemTime;
123
124extern double g_COGAvg;
125extern double g_defaultBoatSpeed;
126extern double g_display_size_mm;
127extern double g_mouse_zoom_sensitivity;
128extern double g_n_arrival_circle_radius;
129extern double g_n_gps_antenna_offset_x;
130extern double g_n_gps_antenna_offset_y;
131extern double g_n_ownship_beam_meters;
132extern double g_n_ownship_length_meters;
133extern double g_overzoom_emphasis_base;
134extern double g_ownship_HDTpredictor_miles;
135extern double g_ownship_predictor_minutes;
136extern double g_PlanSpeed;
137extern double g_plus_minus_zoom_factor;
138extern double g_TrackDeltaDistance;
139extern double g_TrackIntervalSeconds;
140extern double g_UserVar;
141
142extern float g_fNavAidRadarRingsStep;
143extern float g_fNavAidRadarRingsStep;
144extern float g_fWaypointRangeRingsStep;
145extern float g_GLMinSymbolLineWidth;
146extern float g_MarkScaleFactorExp;
147extern float g_selection_radius_mm;
148extern float g_selection_radius_touch_mm;
149extern float g_ShipScaleFactorExp;
150
151extern int g_ais_cog_predictor_width;
152extern int g_AndroidVersionCode;
153extern int g_BSBImgDebug;
154extern int g_ChartScaleFactor;
155extern int g_chart_zoom_modifier_raster;
156extern int g_chart_zoom_modifier_vector;
157extern int g_cm93_zoom_factor;
158extern int g_COGAvgSec;
159extern int g_COGFilterSec;
160extern int g_cog_predictor_endmarker;
161extern int g_cog_predictor_style;
162extern int g_cog_predictor_width;
163extern int g_default_font_size;
164extern int g_detailslider_dialog_x;
165extern int g_detailslider_dialog_y;
166extern int g_ENCSoundingScaleFactor;
167extern int g_ENCTextScaleFactor;
168extern int g_GUIScaleFactor;
173extern int g_iDistanceFormat;
174extern int g_iENCToolbarPosX;
175extern int g_iENCToolbarPosY;
181extern int g_iHeightFormat;
182extern int g_iNavAidRadarRingsNumberVisible;
183extern int g_iSDMMFormat;
184extern int g_iSoundDeviceIndex;
190extern int g_iSpeedFormat;
196extern int g_iTempFormat;
197extern int g_iWaypointRangeRingsNumber;
198extern int g_iWaypointRangeRingsStepUnits;
199extern int g_iWindSpeedFormat;
200extern int g_iWpt_ScaMin;
201extern int g_lastClientRecth;
202extern int g_lastClientRectw;
203extern int g_lastClientRectx;
204extern int g_lastClientRecty;
205extern int g_maintoolbar_x;
206extern int g_maintoolbar_y;
207extern int g_maxWPNameLength;
208extern int g_maxzoomin;
209extern int g_mbtilesMaxLayers;
210extern int g_memCacheLimit;
211extern int g_MemFootMB;
212extern int g_mouse_zoom_sensitivity_ui;
213extern int g_nAutoHideToolbar;
214extern int g_navobjbackups;
215extern int g_nAWDefault;
216extern int g_nAWMax;
217extern int g_nbrightness;
218extern int g_nCacheLimit;
219extern int g_nCOMPortCheck;
220extern int g_nCPUCount;
226extern int g_nDepthUnitDisplay;
227extern int g_netmask_bits;
228extern int g_nframewin_posx;
229extern int g_nframewin_posy;
230extern int g_nframewin_x;
231extern int g_nframewin_y;
232extern int g_NMEAAPBPrecision;
233extern int g_nNMEADebug;
234extern int n_NavMessageShown;
235extern int g_n_ownship_min_mm;
236extern int g_nTrackPrecision;
237extern int g_ownship_HDTpredictor_endmarker;
238extern int g_ownship_HDTpredictor_style;
239extern int g_ownship_HDTpredictor_width;
240extern int g_OwnShipIconType;
241extern int g_own_ship_sog_cog_calc_damp_sec;
242extern int g_pNavAidRadarRingsStepUnits;
243extern int gps_watchdog_timeout_ticks;
244extern int g_restore_dbindex;
245extern int g_restore_stackindex;
246extern int g_route_line_width;
247extern int g_route_prop_sx;
248extern int g_route_prop_sy;
249extern int g_route_prop_x;
250extern int g_route_prop_y;
251extern int g_S57_dialog_sx;
252extern int g_S57_dialog_sy;
253extern int g_S57_extradialog_sx;
254extern int g_S57_extradialog_sy;
255extern int g_SENC_LOD_pixels;
256extern int g_ShipScaleFactor;
257extern int g_shipToActiveColor;
258extern int g_shipToActiveStyle;
259extern int g_SkewCompUpdatePeriod;
260extern int g_SOGFilterSec;
261extern int g_tcwin_scale;
262extern int g_trackFilterMax;
263extern int g_track_line_width;
264extern int g_WplAction;
265extern int n_NavMessageShown;
266extern int sat_watchdog_timeout_ticks;
267
268extern long g_maintoolbar_orient;
269
270extern std::vector<std::string> TideCurrentDataSet;
271extern unsigned g_canvasConfig;
272
273extern wxString gWorldMapLocation;
274extern wxString gWorldShapefileLocation;
275extern wxString g_AW1GUID;
276extern wxString g_AW2GUID;
277extern wxString g_CmdSoundString;
278extern wxString g_GPS_Ident;
279extern wxString g_InVisiNameinLayers;
280extern wxString g_InvisibleLayer;
281extern wxString g_InvisibleLayers;
282extern wxString g_ObjQFileExt;
283extern wxString g_SART_sound_file;
284extern wxString g_TCData_Dir;
285extern wxString g_TalkerIdText;
286extern wxString g_UserPresLibData;
287extern wxString g_VisiNameinLayers;
288extern wxString g_VisibleLayers;
289extern wxString g_active_route;
290extern wxString g_android_Device_Model;
291extern wxString g_catalog_channel;
292extern wxString g_catalog_custom_url;
293extern wxString g_cog_predictor_color;
294extern wxString g_compatOS;
295extern wxString g_compatOsVersion;
296extern wxString g_config_version_string;
297extern wxString g_datetime_format;
298extern wxString g_datetime_format; // See extended docs below
299extern wxString g_default_font_facename; // See extended docs below
300extern wxString g_default_routepoint_icon;
301extern wxString g_default_wp_icon;
302extern wxString g_gpx_path;
303extern wxString g_hostname;
304extern wxString g_InvisibleLayer;
305extern wxString g_InvisibleLayers;
306extern wxString g_InVisiNameinLayers;
307extern wxString g_lastAppliedTemplateGUID;
308extern wxString g_locale;
309extern wxString g_localeOverride;
310extern wxString g_ownship_HDTpredictor_color;
311extern wxString g_toolbarConfig;
312extern wxString g_uiStyle; // Not used
313extern wxString g_uploadConnection;
314extern wxString g_UserPresLibData;
315extern wxString g_VisibleLayers;
316extern wxString g_VisiNameinLayers;
317extern wxString g_winPluginDir; // Base plugin directory on Windows.
318extern wxString g_winPluginDir;
319
321extern std::vector<size_t> g_config_display_size_mm;
322
323wxConfigBase* TheBaseConfig();
324void InitBaseConfig(wxConfigBase* cfg);
325
405#endif // CONFIG_VARS_H__
int g_iTempFormat
User-selected temperature unit format for display and input.
bool g_bsmoothpanzoom
Controls how the chart panning and zooming smoothing is done during user interactions.
Definition config_vars.h:98
int g_iHeightFormat
User-selected height (vertical, above reference datum) unit format for display and input.
bool g_always_send_rmb_rmc
Always send RMB and RMC n0183 messages even if there is no active route.
int g_nDepthUnitDisplay
User-selected depth (below surface) unit format for display and input.
wxString g_winPluginDir
Base plugin directory on Windows.
bool g_bRollover
Enable/disable mouse rollover GUI effects.
bool g_bShowTide
not used
int g_iSpeedFormat
User-selected speed unit format for display and input.
double g_COGAvg
Debug only usage.
int g_COGAvgSec
COG average period for Course Up Mode (sec)
wxString g_default_font_facename
Default font size for user interface elements such as menus, dialogs, etc.
int g_iDistanceFormat
User-selected distance (horizontal) unit format for display and input.
wxString g_datetime_format
Date/time format to use when formatting date/time strings.
std::vector< size_t > g_config_display_size_mm
Size of pysical screen in millimeters.
bool g_bDisplayGrid
Should lat/lon grid be displayed ?
double g_display_size_mm
Physical display width (mm)