MouseEvent.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2015 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef _MOUSEEVENT_HH_
18 #define _MOUSEEVENT_HH_
19 
20 #include "gazebo/math/Vector2i.hh"
21 #include "gazebo/util/system.hh"
22 
23 namespace gazebo
24 {
25  namespace common
26  {
29 
33  {
35  public: enum Buttons {NO_BUTTON = 0x0, LEFT = 0x1, MIDDLE = 0x2,
36  RIGHT = 0x4};
37 
39  public: enum EventType {NO_EVENT, MOVE, PRESS, RELEASE, SCROLL};
40 
41 
43  public: MouseEvent()
44  : pos(0, 0), prevPos(0, 0), pressPos(0, 0), scroll(0, 0),
45  moveScale(0.01), dragging(false), type(NO_EVENT), button(0),
46  buttons(NO_BUTTON), shift(false), alt(false), control(false)
47  {}
48 
49 
52 
55 
58 
61 
63  public: float moveScale;
64 
66  public: bool dragging;
67 
69  public: EventType type;
70 
72  public: unsigned int button;
73 
75  public: unsigned int buttons;
76 
78  public: bool shift;
79 
81  public: bool alt;
82 
84  public: bool control;
85  };
87  }
88 }
89 #endif
bool control
Control key press flag.
Definition: MouseEvent.hh:84
float moveScale
Scaling factor.
Definition: MouseEvent.hh:63
Generic description of a mouse event.
Definition: MouseEvent.hh:32
bool dragging
Flag for mouse drag motion.
Definition: MouseEvent.hh:66
Buttons
Standard mouse buttons enumeration.
Definition: MouseEvent.hh:35
unsigned int button
The button which caused the event.
Definition: MouseEvent.hh:72
math::Vector2i pos
Mouse pointer position on the screen.
Definition: MouseEvent.hh:51
Generic integer x, y vector.
Definition: Vector2i.hh:39
EventType type
Event type.
Definition: MouseEvent.hh:69
math::Vector2i scroll
Scroll position.
Definition: MouseEvent.hh:60
EventType
Mouse event types enumeration.
Definition: MouseEvent.hh:39
MouseEvent()
Constructor.
Definition: MouseEvent.hh:43
unsigned int buttons
State of the buttons when the event was generated.
Definition: MouseEvent.hh:75
math::Vector2i prevPos
Previous position.
Definition: MouseEvent.hh:54
bool shift
Shift key press flag.
Definition: MouseEvent.hh:78
bool alt
Alt key press flag.
Definition: MouseEvent.hh:81
math::Vector2i pressPos
Position of button press.
Definition: MouseEvent.hh:57
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48