All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MouseEvent.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2014 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