14#ifndef IGRAPHIC2_MODULE_HPP
15#define IGRAPHIC2_MODULE_HPP
41 static constexpr const char *
entry =
"getGraphic2Module";
45 static constexpr const char *
contract =
"graphic2";
59 static constexpr const char *
accepts[] = {
"graphic2",
"graphic3",
nullptr};
A vendor's 2D factory : window, input, loaded resources and the objects that reference them....
Definition IGraphic2Module.hpp:37
virtual void deleteKeyboard(graphic::IKeyboard *keyboard)=0
virtual graphic::IKeyboard * createKeyboard(graphic::IWindow *window)=0
virtual graphic::IWindow2 * window()=0
La fenetre ouverte de ce vendor, nullptr s'il n'y en a pas.
virtual graphic::IWindow2 * createWindow(int32_t screenWidth, int32_t screenHeight, std::string title)=0
virtual ~IGraphic2Module()=default
static constexpr const char * contract
Definition IGraphic2Module.hpp:45
virtual graphic::IFont * createFont(std::string path)=0
virtual void deleteTexture(graphic::ITexture *texture)=0
virtual void deleteSprite(graphic::ISprite *sprite)=0
virtual void deleteFont(graphic::IFont *font)=0
static constexpr const char * accepts[]
Les contrats qui me satisfont, du plus general au plus precis.
Definition IGraphic2Module.hpp:59
virtual graphic::IText * createText(std::string text, graphic::IFont *font)=0
virtual void deleteWindow(graphic::IWindow2 *)=0
static constexpr const char * entry
Symbol the loader looks up : present = this vendor can draw 2D.
Definition IGraphic2Module.hpp:41
virtual void deleteGamepad(graphic::IGamepad *gamepad)=0
virtual void deleteText(graphic::IText *text)=0
virtual graphic::IMouse * createMouse(graphic::IWindow *window)=0
virtual graphic::ISprite * createSprite(graphic::ITexture *texture)=0
virtual graphic::IPolygon * createPolygon(std::vector< Vector2f > points)=0
virtual void deletePolygon(graphic::IPolygon *polygon)=0
virtual graphic::IGamepad * createGamepad(graphic::IWindow *window)=0
virtual void deleteMouse(graphic::IMouse *mouse)=0
virtual graphic::ITexture * createTexture(std::string path)=0
Loaded font data, independent of any IText that references it. Deleting every IText built with a font...
Definition IFont.hpp:22
Gamepad interface. Not every window can hand one out (a terminal backend has no controller) - IWindow...
Definition IGamepad.hpp:26
Keyboard interface.
Definition IKeyboard.hpp:78
Mouse interface.
Definition IMouse.hpp:30
Polygon interface.
Definition IPolygon.hpp:34
Sprite interface.
Definition ISprite.hpp:22
Text interface.
Definition IText.hpp:26
Loaded pixel data, independent of any ISprite that references it. Deleting every ISprite built from a...
Definition ITexture.hpp:23
A window that can draw 2D. Adds only the 2D drawing surface on top of IWindow's lifecycle/input.
Definition IWindow2.hpp:25
Window lifecycle. No drawing here : every window, 2D-capable or not, has to open, close and pump its ...
Definition IWindow.hpp:27