diff --git a/interface/src/scripting/WindowScriptingInterface.cpp b/interface/src/scripting/WindowScriptingInterface.cpp index ea0eeb0dd9..c921d2b8b2 100644 --- a/interface/src/scripting/WindowScriptingInterface.cpp +++ b/interface/src/scripting/WindowScriptingInterface.cpp @@ -30,6 +30,24 @@ WindowScriptingInterface* WindowScriptingInterface::getInstance() { WindowScriptingInterface::WindowScriptingInterface() { } +QScriptValue WindowScriptingInterface::hasFocus() { + return Application::getInstance()->getGLWidget()->hasFocus(); +} + +void WindowScriptingInterface::setCursorPosition(int x, int y) { + QCursor::setPos(x, y); +} + +QScriptValue WindowScriptingInterface::getCursorPositionX() { + QPoint pos = QCursor::pos(); + return pos.x(); +} + +QScriptValue WindowScriptingInterface::getCursorPositionY() { + QPoint pos = QCursor::pos(); + return pos.y(); +} + QScriptValue WindowScriptingInterface::alert(const QString& message) { QScriptValue retVal; QMetaObject::invokeMethod(this, "showAlert", Qt::BlockingQueuedConnection, Q_RETURN_ARG(QScriptValue, retVal), Q_ARG(const QString&, message)); diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h index b04c927427..988caf57a9 100644 --- a/interface/src/scripting/WindowScriptingInterface.h +++ b/interface/src/scripting/WindowScriptingInterface.h @@ -26,6 +26,10 @@ public: int getInnerHeight(); public slots: + QScriptValue getCursorPositionX(); + QScriptValue getCursorPositionY(); + void setCursorPosition(int x, int y); + QScriptValue hasFocus(); QScriptValue alert(const QString& message = ""); QScriptValue confirm(const QString& message = ""); QScriptValue form(const QString& title, QScriptValue array);