R-TYPE
InitSfml.hpp
Go to the documentation of this file.
1 /*
2 ** EPITECH PROJECT, 2022
3 ** r-type
4 ** File description:
5 ** InitSfml
6 */
7 
8 #ifndef INITSFML_HPP_
9 #define INITSFML_HPP_
10 
11 #include <SFML/Graphics.hpp>
12 #include <SFML/Audio.hpp>
13 #include <map>
14 #include <memory>
15 #include <string>
16 
17 class InitSfml {
18 public:
19  InitSfml(int widthWindow = 1920, int heightWindow = 1080, const std::string& nameWindow = "R-Type");
20  ~InitSfml() = default;
21  std::shared_ptr<sf::RenderWindow> getWindow();
22  sf::Event& getEvent();
23 
24  void setTexture(std::string idTexture, std::string namePath);
25  std::shared_ptr<sf::Texture> getTexture(std::string idTexture) const;
26  std::map<std::string, std::shared_ptr<sf::Texture>> getAllTexture();
27 
28  void setFont(std::string idFont, std::string namePath);
29  std::shared_ptr<sf::Font> getFont(std::string idFont) const;
30  std::map<std::string, std::shared_ptr<sf::Font>> getAllFont();
31 
32  int getWidthWindow();
33  int getHeightWindow();
34 
35  void clear();
36  void display();
37 
38 protected:
39 private:
40  sf::Event _event;
41  std::shared_ptr<sf::RenderWindow> _window;
42  std::map<std::string, std::shared_ptr<sf::Texture>> _textureList;
43  std::map<std::string, std::shared_ptr<sf::Font>> _fontList;
44  int _heightWindow;
45  int _widthWindow;
46 };
47 
48 #endif /* !INITSFML_HPP_ */
Definition: InitSfml.hpp:17
int getWidthWindow()
Definition: InitSfml.cpp:113
int getHeightWindow()
Definition: InitSfml.cpp:123
std::map< std::string, std::shared_ptr< sf::Font > > getAllFont()
Definition: InitSfml.cpp:103
void display()
Definition: InitSfml.cpp:139
std::shared_ptr< sf::Font > getFont(std::string idFont) const
Definition: InitSfml.cpp:98
std::shared_ptr< sf::RenderWindow > getWindow()
Definition: InitSfml.cpp:41
sf::Event & getEvent()
Definition: InitSfml.cpp:31
~InitSfml()=default
std::shared_ptr< sf::Texture > getTexture(std::string idTexture) const
Definition: InitSfml.cpp:68
InitSfml(int widthWindow=1920, int heightWindow=1080, const std::string &nameWindow="R-Type")
Definition: InitSfml.cpp:18
std::map< std::string, std::shared_ptr< sf::Texture > > getAllTexture()
Definition: InitSfml.cpp:81
void setFont(std::string idFont, std::string namePath)
Definition: InitSfml.cpp:91
void setTexture(std::string idTexture, std::string namePath)
Definition: InitSfml.cpp:53
void clear()
Definition: InitSfml.cpp:131