70 lines · 2.1 KB · C
RawDownload
////  AbstractControllerScriptingInterface.h//  hifi////  Created by Brad Hefta-Gaub on 12/17/13//  Copyright (c) 2013 HighFidelity, Inc. All rights reserved.// #ifndef __hifi__AbstractControllerScriptingInterface__#define __hifi__AbstractControllerScriptingInterface__ #include <QtCore/QObject> #include <glm/glm.hpp> #include "EventTypes.h"  /// handles scripting of input controller commands from JSclass AbstractControllerScriptingInterface : public QObject {    Q_OBJECT public slots:    virtual bool isPrimaryButtonPressed() const = 0;    virtual glm::vec2 getPrimaryJoystickPosition() const = 0;     virtual int getNumberOfButtons() const = 0;    virtual bool isButtonPressed(int buttonIndex) const = 0;     virtual int getNumberOfTriggers() const = 0;    virtual float getTriggerValue(int triggerIndex) const = 0;     virtual int getNumberOfJoysticks() const = 0;    virtual glm::vec2 getJoystickPosition(int joystickIndex) const = 0;     virtual int getNumberOfSpatialControls() const = 0;    virtual glm::vec3 getSpatialControlPosition(int controlIndex) const = 0;    virtual glm::vec3 getSpatialControlVelocity(int controlIndex) const = 0;    virtual glm::vec3 getSpatialControlNormal(int controlIndex) const = 0;     virtual void captureKeyEvents(const KeyEvent& event) = 0;    virtual void releaseKeyEvents(const KeyEvent& event) = 0;     virtual void captureMouseEvents() = 0;    virtual void releaseMouseEvents() = 0;     virtual void captureTouchEvents() = 0;    virtual void releaseTouchEvents() = 0;     virtual void captureWheelEvents() = 0;    virtual void releaseWheelEvents() = 0;  signals:    void keyPressEvent(const KeyEvent& event);    void keyReleaseEvent(const KeyEvent& event);     void mouseMoveEvent(const MouseEvent& event);    void mousePressEvent(const MouseEvent& event);    void mouseReleaseEvent(const MouseEvent& event);     void touchBeginEvent(const TouchEvent& event);    void touchEndEvent(const TouchEvent& event);    void touchUpdateEvent(const TouchEvent& event);        void wheelEvent(const WheelEvent& event); }; #endif /* defined(__hifi__AbstractControllerScriptingInterface__) */