Adjusted project organization

This commit is contained in:
Sara Gerretsen 2025-09-03 19:48:42 +02:00
parent d1a015dd13
commit 3acec91cdf
2 changed files with 44 additions and 20 deletions

View file

@ -1,41 +1,52 @@
#include "imgui.h"
#include "imgui-SFML.h"
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
int main() {
sf::RenderWindow window;
static sf::RenderWindow window{};
static sf::Clock deltaClock{};
void initialize_window() {
window.create(sf::VideoMode({ 1280, 720 }), "My window");
window.setFramerateLimit(60);
window.setVerticalSyncEnabled(true);
}
void initialize_imgui() {
if (!ImGui::SFML::Init(window))
return -1;
exit(-1);
}
sf::Clock deltaClock;
while (window.isOpen())
void poll_events() {
while (const std::optional event = window.pollEvent())
{
ImGui::SFML::ProcessEvent(window, *event);
// "close requested" event: we close the window
if (event->is<sf::Event::Closed>())
window.close();
}
}
extern void setup();
extern void loop();
extern void draw_gui();
int main() {
initialize_window();
initialize_imgui();
setup();
while (window.isOpen()) {
// Event Polling
while (const std::optional event = window.pollEvent())
{
ImGui::SFML::ProcessEvent(window, *event);
// "close requested" event: we close the window
if (event->is<sf::Event::Closed>())
window.close();
}
poll_events();
// Update
loop();
ImGui::SFML::Update(window, deltaClock.restart());
// ImGui::ShowDemoWindow();
draw_gui();
// Render
window.clear();
ImGui::SFML::Render(window);
window.display();
}
return 0;
return 0;
}

13
src/project.cpp Normal file
View file

@ -0,0 +1,13 @@
#include <imgui.h>
#include <imgui-SFML.h>
void setup() {
}
void loop() {
}
void draw_gui() {
// draw your GUI
ImGui::ShowDemoWindow();
}