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_input_event(sf::Event const &evt);
 | 
				
			||||||
extern void handle_window_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() {
 | 
					void poll_events() {
 | 
				
			||||||
    while (std::optional const event{ window.pollEvent() })
 | 
					    while (std::optional const event{ window.pollEvent() })
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        ImGui::SFML::ProcessEvent(window, *event);
 | 
					        ImGui::SFML::ProcessEvent(window, *event);
 | 
				
			||||||
        if (event->is<sf::Event::Closed>()) {
 | 
					        try_handle_input_event(*event);
 | 
				
			||||||
            window.close();
 | 
					        try_handle_window_event(*event);
 | 
				
			||||||
        } else if (event->is<sf::Event::JoystickButtonPressed>() || event->is<sf::Event::JoystickButtonReleased>()) {
 | 
					
 | 
				
			||||||
            handle_input_event(*event);
 | 
					        if (event->is<sf::Event::Closed>()) { window.close(); }
 | 
				
			||||||
        } 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);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue