13#ifndef SDLGRAPHIC_MODULE_HPP
14#define SDLGRAPHIC_MODULE_HPP
16#include "IGraphic2Module.hpp"
50 const char *
type()
const override {
return IGraphic2Module::contract; }
51 const char *
name()
const override {
return "sdl2"; }
54 graphic::IWindow2 *
createWindow(int32_t screenWidth, int32_t screenHeight, std::string title)
override {
62 return stop(),
nullptr;
90 graphic::IWindow2 *
window()
override {
return _window; }
98 void deleteKeyboard(graphic::IKeyboard *keyboard)
override {
delete keyboard; }
103 void deleteMouse(graphic::IMouse *mouse)
override {
delete mouse; }
116 void deleteFont(graphic::IFont *font)
override {
delete font; }
126 void deleteSprite(graphic::ISprite *sprite)
override {
delete sprite; }
129 graphic::IText *
createText(std::string text, graphic::IFont *font)
override {
132 void deleteText(graphic::IText *text)
override {
delete text; }
145 if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMECONTROLLER) != 0)
148 IMG_Init(IMG_INIT_PNG | IMG_INIT_JPG);
162 SDL_QuitSubSystem(SDL_INIT_VIDEO | SDL_INIT_GAMECONTROLLER);
167 graphic::IWindow2 *_window =
nullptr;
169 unsigned _opened = 0;
170 bool _started =
false;
Une police ouverte a une taille donnee.
Definition SdlFont.hpp:32
La manette numero _index, ouverte a la construction.
Definition SdlGamepad.hpp:31
SDL2 ne remplit que IGraphic2Module.
Definition SdlGraphicModule.hpp:44
void deleteWindow(graphic::IWindow2 *window) override
Definition SdlGraphicModule.hpp:73
const char * name() const override
Definition SdlGraphicModule.hpp:51
graphic::IWindow2 * createWindow(int32_t screenWidth, int32_t screenHeight, std::string title) override
Definition SdlGraphicModule.hpp:54
graphic::IGamepad * createGamepad(graphic::IWindow *window) override
Definition SdlGraphicModule.hpp:105
const char * type() const override
Definition SdlGraphicModule.hpp:50
void deletePolygon(graphic::IPolygon *polygon) override
Definition SdlGraphicModule.hpp:120
graphic::IKeyboard * createKeyboard(graphic::IWindow *window) override
Definition SdlGraphicModule.hpp:95
graphic::ISprite * createSprite(graphic::ITexture *texture) override
Definition SdlGraphicModule.hpp:123
void deleteGamepad(graphic::IGamepad *gamepad) override
Definition SdlGraphicModule.hpp:108
graphic::IMouse * createMouse(graphic::IWindow *window) override
Definition SdlGraphicModule.hpp:100
graphic::IFont * createFont(std::string path) override
Definition SdlGraphicModule.hpp:115
void deleteKeyboard(graphic::IKeyboard *keyboard) override
Definition SdlGraphicModule.hpp:98
void deleteFont(graphic::IFont *font) override
Definition SdlGraphicModule.hpp:116
SdlGraphicModule()=default
void deleteMouse(graphic::IMouse *mouse) override
Definition SdlGraphicModule.hpp:103
graphic::IWindow2 * window() override
Definition SdlGraphicModule.hpp:90
void deleteText(graphic::IText *text) override
Definition SdlGraphicModule.hpp:132
graphic::IText * createText(std::string text, graphic::IFont *font) override
Definition SdlGraphicModule.hpp:129
void deleteSprite(graphic::ISprite *sprite) override
Definition SdlGraphicModule.hpp:126
~SdlGraphicModule()=default
graphic::ITexture * createTexture(std::string path) override
Definition SdlGraphicModule.hpp:111
graphic::IPolygon * createPolygon(std::vector< Vector2f > points) override
Definition SdlGraphicModule.hpp:119
void deleteTexture(graphic::ITexture *texture) override
Definition SdlGraphicModule.hpp:112
Le clavier d'UNE fenetre.
Definition SdlKeyboard.hpp:33
Definition SdlMouse.hpp:24
Un contour quelconque, decoupe en triangles une fois pour toutes.
Definition SdlPolygon.hpp:35
Une vue sur une texture : decoupe, position, taille, rotation.
Definition SdlSprite.hpp:29
Une chaine rendue en texture, refaite quand elle change.
Definition SdlText.hpp:37
Une image en memoire vive, televersee a la demande.
Definition SdlTexture.hpp:38
Une fenetre SDL et son renderer, implemente IWindow2.
Definition SdlWindow.hpp:50
bool isOpen() override
Definition SdlWindow.hpp:93