diff --git a/src/ProjectMSDLApplication.cpp b/src/ProjectMSDLApplication.cpp index cf2088f..0ca6174 100644 --- a/src/ProjectMSDLApplication.cpp +++ b/src/ProjectMSDLApplication.cpp @@ -159,6 +159,10 @@ void ProjectMSDLApplication::defineOptions(Poco::Util::OptionSet& options) options.addOption(Option("beatSensitivity", "", "Beat sensitivity. Between 0.0 and 5.0. Default 1.0.", false, "", true) .binding("projectM.beatSensitivity", _commandLineOverrides)); + options.addOption(Option("showCursor", "", "Shows cursor", + false, "true/false", true) + .binding("window.showCursor", _commandLineOverrides)); + } diff --git a/src/RenderLoop.cpp b/src/RenderLoop.cpp index 73e3390..313723f 100644 --- a/src/RenderLoop.cpp +++ b/src/RenderLoop.cpp @@ -71,6 +71,11 @@ void RenderLoop::PollEvents() break; } } + + if (!_sdlRenderingWindow.getConfig()->getBool("showCursor", true)) { + SDL_ShowCursor(SDL_DISABLE); + } + } void RenderLoop::CheckViewportSize() diff --git a/src/SDLRenderingWindow.cpp b/src/SDLRenderingWindow.cpp index d3fad39..8d2897a 100644 --- a/src/SDLRenderingWindow.cpp +++ b/src/SDLRenderingWindow.cpp @@ -19,6 +19,11 @@ void SDLRenderingWindow::initialize(Poco::Util::Application& app) } } +Poco::AutoPtr SDLRenderingWindow::getConfig() const +{ + return _config; +} + void SDLRenderingWindow::uninitialize() { if (_renderingWindow) diff --git a/src/SDLRenderingWindow.h b/src/SDLRenderingWindow.h index c2b7c74..74085c4 100644 --- a/src/SDLRenderingWindow.h +++ b/src/SDLRenderingWindow.h @@ -68,6 +68,12 @@ class SDLRenderingWindow : public Poco::Util::Subsystem */ void NextDisplay(); + /** + * @brief Retrieves the configuration view for the window. + * @return The configuration view for the window. + */ + Poco::AutoPtr getConfig() const; + protected: /**