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