feat: slightly adjusted how handle_input_event and handle_window_event are called
This commit is contained in:
parent
561fdbbb6b
commit
d2cfedf993
54
src/main.cpp
54
src/main.cpp
|
|
@ -30,33 +30,41 @@ void initialize_imgui() {
|
|||
extern void handle_input_event(sf::Event const &evt);
|
||||
extern void handle_window_event(sf::Event const &evt);
|
||||
|
||||
void try_handle_input_event(sf::Event const &event) {
|
||||
bool const is_input_event{
|
||||
event.is<sf::Event::JoystickButtonPressed>() || event.is<sf::Event::JoystickButtonReleased>() ||
|
||||
event.is<sf::Event::JoystickMoved>() ||
|
||||
event.is<sf::Event::JoystickConnected>() || event.is<sf::Event::JoystickDisconnected>() ||
|
||||
event.is<sf::Event::KeyPressed>() || event.is<sf::Event::KeyReleased>() ||
|
||||
event.is<sf::Event::TouchBegan>() || event.is<sf::Event::TouchEnded>() ||
|
||||
event.is<sf::Event::TouchMoved>() ||
|
||||
event.is<sf::Event::MouseButtonPressed>() || event.is<sf::Event::MouseButtonReleased>() ||
|
||||
event.is<sf::Event::MouseMoved>() || event.is<sf::Event::MouseMovedRaw>()
|
||||
};
|
||||
if (is_input_event) {
|
||||
handle_input_event(event);
|
||||
}
|
||||
}
|
||||
|
||||
void try_handle_window_event(sf::Event const &event) {
|
||||
bool const is_window_event{
|
||||
event.is<sf::Event::FocusGained>() ||
|
||||
event.is<sf::Event::FocusLost>() ||
|
||||
event.is<sf::Event::Resized>()
|
||||
};
|
||||
if (is_window_event) {
|
||||
handle_window_event(event);
|
||||
}
|
||||
}
|
||||
|
||||
void poll_events() {
|
||||
while (std::optional const event{ window.pollEvent() })
|
||||
{
|
||||
ImGui::SFML::ProcessEvent(window, *event);
|
||||
if (event->is<sf::Event::Closed>()) {
|
||||
window.close();
|
||||
} else if (event->is<sf::Event::JoystickButtonPressed>() || event->is<sf::Event::JoystickButtonReleased>()) {
|
||||
handle_input_event(*event);
|
||||
} else if (event->is<sf::Event::JoystickMoved>()) {
|
||||
handle_input_event(*event);
|
||||
} else if (event->is<sf::Event::JoystickConnected>() || event->is<sf::Event::JoystickDisconnected>()) {
|
||||
handle_input_event(*event);
|
||||
} else if (event->is<sf::Event::KeyPressed>() || event->is<sf::Event::KeyReleased>()) {
|
||||
handle_input_event(*event);
|
||||
} else if (event->is<sf::Event::TouchBegan>() || event->is<sf::Event::TouchEnded>()) {
|
||||
handle_input_event(*event);
|
||||
} else if (event->is<sf::Event::TouchMoved>()) {
|
||||
handle_input_event(*event);
|
||||
} else if (event->is<sf::Event::MouseButtonPressed>() || event->is<sf::Event::MouseButtonReleased>()) {
|
||||
handle_input_event(*event);
|
||||
} else if (event->is<sf::Event::MouseMoved>() || event->is<sf::Event::MouseMovedRaw>()) {
|
||||
handle_input_event(*event);
|
||||
} else if (event->is<sf::Event::FocusGained>() || event->is<sf::Event::FocusLost>()) {
|
||||
handle_window_event(*event);
|
||||
} else if (event->is<sf::Event::Resized>()) {
|
||||
handle_window_event(*event);
|
||||
}
|
||||
try_handle_input_event(*event);
|
||||
try_handle_window_event(*event);
|
||||
|
||||
if (event->is<sf::Event::Closed>()) { window.close(); }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue