diff options
Diffstat (limited to 'c/main.cpp')
-rw-r--r-- | c/main.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -12,6 +12,10 @@ #include "pl.h" #include "util.h" +/* main.cpp defines all global (non-template) variables used in the + * program. `extern' is used to access them from other files, when + * need be. */ + /* Looked-up constants. */ int g_dpi = 96; @@ -47,12 +51,19 @@ char g_limitScreenwriter[64]; BOOL (*IsThemeActive)(); BOOL (*SetWindowTheme)(HWND, LPCWSTR, LPCWSTR); +/* Initialize important global state on parent window creation. */ static LRESULT CALLBACK CBTProc(int, WPARAM, LPARAM); +/* Process parent window commands. */ static LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); +/* Process main menu commands. */ static void HandleMainMenu(HWND, unsigned short); +/* Process context menu commands. */ static void HandleContextMenu(HWND, unsigned short); +/* Call Prolog predicate in other thread, if available. */ static void WaitFor(const char*, const char*); +/* Handle messages to Help > About dialog. */ static INT_PTR CALLBACK AboutDlgProc(HWND, UINT, WPARAM, LPARAM); +/* Try to style application according to current Windows theme. */ static void UpdateTheme(); void OnTerminate() noexcept @@ -89,7 +100,7 @@ int WINAPI WinMain(const HINSTANCE hInstance, const HINSTANCE, char* const, cons std::set_terminate(OnTerminate); /* Initialize Prolog. */ - char* argv[] = { (char*)"EpisodeBrowser", NULL }; + char* argv[] = { const_cast<char*>("EpisodeBrowser"), NULL }; if (!PL_initialise(1, argv)) throw std::runtime_error("Could not initialize Prolog."); if (!Pl("track_episodes","attach") || !Pl("episode_data","attach")) @@ -367,7 +378,6 @@ LRESULT CALLBACK WndProc(const HWND hWnd, const UINT uMsg, const WPARAM wParam, return 0; } -/* Process main menu commands. */ void HandleMainMenu(const HWND hWnd, unsigned short command) { switch (command) { @@ -434,7 +444,6 @@ void HandleMainMenu(const HWND hWnd, unsigned short command) } } -/* Process context menu commands. */ void HandleContextMenu(const HWND, unsigned short command) { int cNotFound = 0; @@ -493,7 +502,6 @@ void HandleContextMenu(const HWND, unsigned short command) } } -/* Call Prolog predicate in other thread, if available. */ void WaitFor(const char* mod, const char* pred) { static atom_t aThread; @@ -540,7 +548,6 @@ void WaitFor(const char* mod, const char* pred) } } -/* Handle messages to Help > About dialog. */ INT_PTR CALLBACK AboutDlgProc(const HWND hWnd, const UINT uMsg, const WPARAM wParam, const LPARAM) { switch (uMsg) { @@ -561,7 +568,6 @@ INT_PTR CALLBACK AboutDlgProc(const HWND hWnd, const UINT uMsg, const WPARAM wPa return TRUE; } -/* Try to style application according to current Windows theme. */ void UpdateTheme() { if (!IsThemeActive) return; |