use screen for sfml

This commit is contained in:
Mylloon 2023-11-24 20:13:20 +01:00
parent c52e644c7a
commit 9239c100d5
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
2 changed files with 45 additions and 0 deletions

19
includes/Ecran.hpp Normal file
View file

@ -0,0 +1,19 @@
#ifndef PROJECT_ECRAN_HPP
#define PROJECT_ECRAN_HPP 1
#include <SFML/Graphics.hpp>
#include <functional>
class Ecran {
// Fenêtre
sf::RenderWindow window;
public:
Ecran(const uint width = 800, const uint height = 800,
const std::string name = "Projet"); // constructor
~Ecran(); // destructor
void afficher(std::function<void()> f = {[]() {}});
};
#endif

26
src/Ecran.cpp Normal file
View file

@ -0,0 +1,26 @@
#include "../includes/Ecran.hpp"
Ecran::Ecran(const uint w, const uint h, const std::string n) {
// Création de la fenêtre SFML
window.create(sf::VideoMode(w, h), n);
}
Ecran::~Ecran() {}
void Ecran::afficher(std::function<void()> dessin) {
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed) {
window.close();
}
}
window.clear();
// Appel d'une fonction dessin
dessin();
window.display();
}
}