1
SFML projects / Re: [Release][GUI] ImGui-SFML
« on: September 19, 2023, 09:26:10 pm »
I am doing it right now in my own game and yes, it's simple (for basic cases, maybe it'll break later and require more code):
static bool isMouseEvent(const sf::Event& eve)
{
switch(eve.type)
{
case sf::Event::MouseButtonPressed:
case sf::Event::MouseButtonReleased:
case sf::Event::MouseMoved:
return true;
default:
return false;
}
return false;
}
static bool isKeyboardEvent(const sf::Event& eve)
{
switch(eve.type)
{
case sf::Event::TextEntered:
case sf::Event::KeyPressed:
case sf::Event::KeyReleased:
return true;
default:
return false;
}
return false;
}
bool Game::handleEventGui(const sf::Event& eve)
{
ImGui::SFML::ProcessEvent(m_win, eve);
if(ImGui::GetIO().WantCaptureMouse && isMouseEvent(eve))
return true;
if(ImGui::GetIO().WantTextInput && isKeyboardEvent(eve))
return true;
return false;
}
{
switch(eve.type)
{
case sf::Event::MouseButtonPressed:
case sf::Event::MouseButtonReleased:
case sf::Event::MouseMoved:
return true;
default:
return false;
}
return false;
}
static bool isKeyboardEvent(const sf::Event& eve)
{
switch(eve.type)
{
case sf::Event::TextEntered:
case sf::Event::KeyPressed:
case sf::Event::KeyReleased:
return true;
default:
return false;
}
return false;
}
bool Game::handleEventGui(const sf::Event& eve)
{
ImGui::SFML::ProcessEvent(m_win, eve);
if(ImGui::GetIO().WantCaptureMouse && isMouseEvent(eve))
return true;
if(ImGui::GetIO().WantTextInput && isKeyboardEvent(eve))
return true;
return false;
}