40 if (!eventCapsule.has_value()) {
41 PRETTY_WARNING <<
"There is no event to process, skipping code." << std::endl;
44 sf::Event
event = std::any_cast<sf::Event>(eventCapsule);
45 if (event.is<sf::Event::MouseButtonPressed>()) {
46 PRETTY_INFO <<
"MouseInfo, mouse button pressed." << std::endl;
47 const sf::Event::MouseButtonPressed *node =
event.getIf<sf::Event::MouseButtonPressed>();
48 if (node->button == sf::Mouse::Button::Left) {
49 PRETTY_SUCCESS <<
"MouseInfo: Left mouse button clicked." << std::endl;
50 _leftButtonClicked =
true;
51 }
else if (node->button == sf::Mouse::Button::Right) {
52 PRETTY_SUCCESS <<
"MouseInfo: Right mouse button clicked." << std::endl;
53 _rightButtonClicked =
true;
54 }
else if (node->button == sf::Mouse::Button::Middle) {
55 PRETTY_SUCCESS <<
"MouseInfo: Middle mouse button clicked." << std::endl;
56 _middleButtonClicked =
true;
57 }
else if (node->button == sf::Mouse::Button::Extra1) {
58 PRETTY_SUCCESS <<
"MouseInfo: Extra1 mouse button clicked." << std::endl;
59 _extra1ButtonClicked =
true;
60 }
else if (node->button == sf::Mouse::Button::Extra2) {
61 PRETTY_SUCCESS <<
"MouseInfo: Extra2 mouse button clicked." << std::endl;
62 _extra2ButtonClicked =
true;
64 PRETTY_WARNING <<
"MouseInfo: Unknown mouse button clicked." << std::endl;
66 PRETTY_INFO <<
"MouseInfo, out of the button being pressed." << std::endl;
67 }
else if (event.is<sf::Event::MouseButtonReleased>()) {
68 PRETTY_INFO <<
"MouseInfo, mouse button released." << std::endl;
69 const sf::Event::MouseButtonPressed *node =
event.getIf<sf::Event::MouseButtonPressed>();
70 if (node->button == sf::Mouse::Button::Left) {
71 PRETTY_SUCCESS <<
"MouseInfo: Left mouse button released." << std::endl;
72 _leftButtonClicked =
false;
73 }
else if (node->button == sf::Mouse::Button::Right) {
74 PRETTY_SUCCESS <<
"MouseInfo: Right mouse button released." << std::endl;
75 _rightButtonClicked =
false;
76 }
else if (node->button == sf::Mouse::Button::Middle) {
77 PRETTY_SUCCESS <<
"MouseInfo: Middle mouse button released." << std::endl;
78 _middleButtonClicked =
false;
79 }
else if (node->button == sf::Mouse::Button::Extra1) {
80 PRETTY_SUCCESS <<
"MouseInfo: Extra1 mouse button released." << std::endl;
81 _extra1ButtonClicked =
false;
82 }
else if (node->button == sf::Mouse::Button::Extra2) {
83 PRETTY_SUCCESS <<
"MouseInfo: Extra2 mouse button released." << std::endl;
84 _extra2ButtonClicked =
false;
86 PRETTY_WARNING <<
"MouseInfo: Unknown mouse button released." << std::endl;
88 PRETTY_INFO <<
"MouseInfo, out of the button being released." << std::endl;
89 }
else if (event.is<sf::Event::MouseEntered>()) {
90 PRETTY_INFO <<
"MouseInfo: the mouse is in focus" << std::endl;
92 }
else if (event.is<sf::Event::MouseLeft>()) {
93 PRETTY_INFO <<
"MouseInfo: the mouse is not in focus" << std::endl;
94 _mouseInFocus =
false;
95 }
else if (event.is<sf::Event::MouseMoved>()) {
96 const sf::Event::MouseMoved *data =
event.getIf<sf::Event::MouseMoved>();
97 int posx = data->position.x;
98 int posy = data->position.y;
99 PRETTY_INFO <<
"MouseInfo: The mouse was moved, it's position is ("
100 << posx <<
", " << posy <<
")" << std::endl;
101 _mousePosition.first = posx;
102 _mousePosition.second = posy;
103 }
else if (event.is<sf::Event::MouseWheelScrolled>()) {
104 const sf::Event::MouseWheelScrolled *data =
event.getIf<sf::Event::MouseWheelScrolled>();
105 PRETTY_INFO <<
"MouseInfo: Update the position of the wheel." << std::endl;
106 _mouseWheel.delta = data->delta;
107 _mouseWheel.wheel = data->wheel;
108 _mouseWheel.position = data->position;
109 }
else if (event.is<sf::Event::TouchMoved>()) {
110 const sf::Event::TouchMoved *data =
event.getIf<sf::Event::TouchMoved>();
111 int posx = data->position.x;
112 int posy = data->position.y;
113 PRETTY_INFO <<
"MouseInfo: Touch position (" << posx <<
", " << posy <<
")" << std::endl;
114 _mousePosition.first = posx;
115 _mousePosition.second = posy;
116 }
else if (event.is<sf::Event::TouchBegan>()) {
117 const sf::Event::TouchMoved *data =
event.getIf<sf::Event::TouchMoved>();
118 int posx = data->position.x;
119 int posy = data->position.y;
120 PRETTY_INFO <<
"MouseInfo: Touch (translated as a left click) began at ("
121 << posx <<
", " << posy <<
")" << std::endl;
122 _leftButtonClicked =
true;
123 _mousePosition.first = posx;
124 _mousePosition.second = posy;
125 }
else if (event.is<sf::Event::TouchEnded>()) {
126 const sf::Event::TouchMoved *data =
event.getIf<sf::Event::TouchMoved>();
127 int posx = data->position.x;
128 int posy = data->position.y;
129 PRETTY_INFO <<
"MouseInfo: Touch (translated as a left click) began at ("
130 << posx <<
", " << posy <<
")" << std::endl;
131 _leftButtonClicked =
false;
132 _mousePosition.first = posx;
133 _mousePosition.second = posy;