Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ SFML + WIN32 + IMGUI

Ostatnio zmodyfikowano 2020-08-05 17:27
Autor Wiadomość
Grzegorz92
Temat założony przez niniejszego użytkownika
C++ SFML + WIN32 + IMGUI
» 2020-08-04 23:06:53
Witam,

Chciałbym się dowiedzieć czy ktoś juz może rozwiązał, czy w ogóle jest taka możliwość żeby połączyć SFML+IMGUI obsługując ja za pomocą głównej pętli z Win32 (komunikatami)(obsługuje SFML za pomocą WIN32 https://www.sfml-dev.org/tutorials/1.6/graphics-win32.php)

przedstawiam kod który wyświetla okna IMGUI ale nie można nimi w ogóle poruszać tak jak by ProcessEvent nie był wykonywany w ogóle:
C/C++
while( true )
{
    if( PeekMessage( & msg, NULL, 0, 0, PM_NOREMOVE ) )
    {
        if( !GetMessage( & msg, NULL, 0, 0 ) )
             return;
       
        TranslateMessage( & msg );
        DispatchMessage( & msg );
    }
    else
    {
        sf::Event event;
        while( m_window.pollEvent( event ) )
        {
            ImGui::SFML::ProcessEvent( event );
        }
        ImGui::SFML::Update( m_window, deltaClock.restart() );
        ImGui::ShowDemoWindow();
        ImGui::Begin( "Hello, world!" );
        ImGui::Button( "Look at this pretty button" );
        ImGui::End();
        ImGui::SFML::Render( m_window );
       
        m_window.display();
    }
}
ImGui::SFML::Shutdown();

Jeśli natomiast utworze aplikacje czystą bez obsługi win32 z IMGUI wszystko chodzi jak nalezy.
P-177414
pekfos
» 2020-08-05 17:27:33
Obsługą zdarzeń w tym wypadku zajmuje się WinAPI i Twoja procedura okna, nie SFML. Najprostszym wyjściem byłoby użycie sf::Window::getSystemHandle() by załatwiać sprawy z WinAPI, a całą resztę zostawić SFML, chyba że z jakiegoś powodu musisz tworzyć okno samemu, albo działasz z już istniejącym - wtedy raczej musisz integrować ImGUI ze zdarzeniami WinAPI, nie SFML.
P-177423
« 1 »
  Strona 1 z 1