FTXUI  5.0.0
C++ functional terminal UI.
mouse.hpp
Go to the documentation of this file.
1 // Copyright 2020 Arthur Sonzogni. All rights reserved.
2 // Use of this source code is governed by the MIT license that can be found in
3 // the LICENSE file.
4 #ifndef FTXUI_COMPONENT_MOUSE_HPP
5 #define FTXUI_COMPONENT_MOUSE_HPP
6 namespace ftxui {
7 
8 /// @brief A mouse event. It contains the coordinate of the mouse, the button
9 /// pressed and the modifier (shift, ctrl, meta).
10 /// @ingroup component
11 struct Mouse {
12  enum Button {
13  Left = 0,
14  Middle = 1,
15  Right = 2,
16  None = 3,
17  WheelUp = 4,
18  WheelDown = 5,
19  };
20 
21  enum Motion {
22  Released = 0,
23  Pressed = 1,
24  Moved = 2,
25  };
26 
27  // Button
28  Button button = Button::None;
29 
30  // Motion
31  Motion motion = Motion::Pressed;
32 
33  // Modifiers:
34  bool shift = false;
35  bool meta = false;
36  bool control = false;
37 
38  // Coordinates:
39  int x = 0;
40  int y = 0;
41 };
42 
43 } // namespace ftxui
44 
45 #endif /* end of include guard: FTXUI_COMPONENT_MOUSE_HPP */
A mouse event. It contains the coordinate of the mouse, the button pressed and the modifier (shift,...
Definition: mouse.hpp:11
bool meta
Definition: mouse.hpp:35
Button button
Definition: mouse.hpp:28
bool shift
Definition: mouse.hpp:34
bool control
Definition: mouse.hpp:36
Motion motion
Definition: mouse.hpp:31