26 #ifndef BASEPLATFORM_H
27 #define BASEPLATFORM_H
32 #include <wx/wxprec.h>
38 #include <wx/gdicmn.h>
40 #include <wx/stdpaths.h>
41 #include <wx/clrpicker.h>
42 #include <wx/colourdata.h>
43 #include <wx/colordlg.h>
46 #define PLATFORM_CAP_PLUGINS 1
47 #define PLATFORM_CAP_FASTPAN 2
60 void appendOSDirSlash(wxString* path);
67 std::string osd_version;
68 std::vector<std::string> osd_names_like;
85 wxString* GetPluginDirPtr();
86 wxString* GetSharedDataDirPtr();
94 wxStandardPaths& GetStdPaths();
102 wxString& GetSharedDataDir();
103 wxString& GetExePath();
104 wxString& GetHomeDir();
105 wxString GetWritableDocumentsDir();
117 wxString& GetConfigFileName();
118 wxString& GetLogFileName() {
return mlog_file; }
120 bool isFlatpacked() {
return m_isFlatpacked; }
122 bool isPlatformCapable(
int flag);
125 void CloseLogFile(
void);
126 virtual bool InitializeLogFile(
void) = 0;
127 wxString& GetLargeLogMessage(
void) {
return large_log_message; }
128 FILE* GetLogFilePtr() {
return flog; }
130 wxString NormalizePath(
const wxString& full_path);
132 virtual wxSize getDisplaySize() {
return wxSize(); }
133 virtual double GetDisplaySizeMM() {
return 1.0; }
134 virtual double GetDisplayDPmm() {
return 1.0; }
135 virtual unsigned int GetSelectRadiusPix();
136 double GetDisplayDIPMult(wxWindow *win);
138 static void ShowBusySpinner();
139 static void HideBusySpinner();
144 wxString m_default_private_datadir;
145 wxString m_PrivateDataDir;
146 wxString m_PluginsDir;
150 wxString m_SData_Dir;
151 wxString m_config_file_name;
152 wxString m_pluginDataPath;
159 wxString large_log_message;
161 std::vector<int> m_displaySizeMMOverride;
165 bool GetWindowsMonitorSize(
int *width,
int *height);
167 int m_monitorWidth, m_monitorHeight;
168 bool m_bdisableWindowsDisplayEnum;
169 static bool m_isBusy;
177 bool InitializeLogFile()
override;
179 wxSize getDisplaySize()
override;
180 double GetDisplaySizeMM()
override;
181 double GetDisplayDPmm()
override;