Adjusted project organization
This commit is contained in:
parent
d1a015dd13
commit
3acec91cdf
51
src/main.cpp
51
src/main.cpp
|
|
@ -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
13
src/project.cpp
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#include <imgui.h>
|
||||
#include <imgui-SFML.h>
|
||||
|
||||
void setup() {
|
||||
}
|
||||
|
||||
void loop() {
|
||||
}
|
||||
|
||||
void draw_gui() {
|
||||
// draw your GUI
|
||||
ImGui::ShowDemoWindow();
|
||||
}
|
||||
Loading…
Reference in a new issue