17 #ifndef hifi_PointerEvent_h
18 #define hifi_PointerEvent_h
23 #include <glm/glm.hpp>
25 #include "ScriptValue.h"
35 SecondaryButton = 0x2,
49 PointerEvent(EventType type, uint32_t
id,
const glm::vec2& pos2D, Button button, uint32_t buttons, Qt::KeyboardModifiers keyboardModifiers);
50 PointerEvent(
const glm::vec2& pos2D,
const glm::vec3& pos3D,
const glm::vec3& normal,
const glm::vec3& direction);
52 const glm::vec2& pos2D,
const glm::vec3& pos3D,
53 const glm::vec3& normal,
const glm::vec3& direction,
54 Button button = NoButtons, uint32_t buttons = NoButtons, Qt::KeyboardModifiers keyboardModifiers = Qt::NoModifier);
61 EventType getType()
const {
return _type; }
62 uint32_t getID()
const {
return _id; }
63 const glm::vec2& getPos2D()
const {
return _pos2D; }
64 const glm::vec3& getPos3D()
const {
return _pos3D; }
65 const glm::vec3& getNormal()
const {
return _normal; }
66 const glm::vec3& getDirection()
const {
return _direction; }
67 Button getButton()
const {
return _button; }
68 uint32_t getButtons()
const {
return _buttons; }
69 Qt::KeyboardModifiers getKeyboardModifiers()
const {
return _keyboardModifiers; }
70 bool shouldFocus()
const {
return _shouldFocus; }
71 bool sendMoveOnHoverLeave()
const {
return _moveOnHoverLeave; }
73 void setID(uint32_t
id) { _id = id; }
74 void setType(EventType type) { _type = type; }
75 void setButton(Button button);
76 void setPos2D(
const glm::vec2& pos2D) { _pos2D = pos2D; }
77 void setShouldFocus(
bool focus) { _shouldFocus = focus; }
78 void setMoveOnHoverLeave(
bool moveOnHoverLeave) { _moveOnHoverLeave = moveOnHoverLeave; }
80 static const unsigned int INVALID_POINTER_ID { 0 };
84 uint32_t _id { INVALID_POINTER_ID };
85 glm::vec2 _pos2D { glm::vec2(NAN) };
86 glm::vec3 _pos3D { glm::vec3(NAN) };
87 glm::vec3 _normal { glm::vec3(NAN) };
88 glm::vec3 _direction { glm::vec3(NAN) };
90 Button _button { NoButtons };
91 uint32_t _buttons { NoButtons };
92 Qt::KeyboardModifiers _keyboardModifiers { Qt::KeyboardModifier::NoModifier };
94 bool _shouldFocus {
true };
95 bool _moveOnHoverLeave {
true };
Represents a 2D or 3D pointer to the scripting engine. Exposed as PointerEvent
Definition: PointerEvent.h:30
Provides an engine-independent interface for a scripting engine.
Definition: ScriptEngine.h:93
[ScriptInterface] Provides an engine-independent interface for QScriptValue
Definition: ScriptValue.h:40