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