C++ SFML + WIN32 + IMGUI
Ostatnio zmodyfikowano 2020-08-05 17:27
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: 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. |
|
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. |
|
« 1 » |