diff --git a/src/include/Application.h b/src/include/Application.h index 84411fc..b2a45b1 100644 --- a/src/include/Application.h +++ b/src/include/Application.h @@ -59,6 +59,7 @@ class Application { // : public GApp { Tool * tool; void changeTool(Tool *); Mouse mouse; + bool viewportHasFocus(); private: bool mouseMoveState; RenderDevice* renderDevice; diff --git a/src/source/Application.cpp b/src/source/Application.cpp index 5426e73..c349d45 100644 --- a/src/source/Application.cpp +++ b/src/source/Application.cpp @@ -143,6 +143,11 @@ Application::Application(HWND parentWindow) : _propWindow(NULL) { //: GApp(setti } +bool Application::viewportHasFocus() +{ + return GetActiveWindow() == this->_hWndMain; +} + void Application::navigateToolbox(std::string path) { int len = path.size() + 1; diff --git a/src/source/CameraController.cpp b/src/source/CameraController.cpp index 30654e0..7338b24 100644 --- a/src/source/CameraController.cpp +++ b/src/source/CameraController.cpp @@ -193,6 +193,8 @@ void CameraController::update(Application* app) Vector3 cameraPos = g3dCamera.getCoordinateFrame().translation; CoordinateFrame frame = g3dCamera.getCoordinateFrame(); bool moving=false; + if(!app->viewportHasFocus()) + return; if(GetHoldKeyState('U')) { forwards = true; moving=true;