16 #include <SDL2/SDL_image.h>
37 SlManager(
const std::string& name,
int width,
int height);
68 std::shared_ptr<SlSprite>
findSprite(
const std::string& name);
78 void insertInRenderQueueAfter(
const std::string& toAdd,
const std::string& afterThis,
unsigned int destToAdd = 0,
unsigned int destAfterThis = 0);
81 void insertInRenderQueueBefore(
const std::string& toAdd,
const std::string& beforeThis,
unsigned int destToAdd = 0,
unsigned int destBeforeThis = 0);
84 bool moveInRenderQueueBefore(
const std::string& toAdd,
const std::string& beforeThis,
unsigned int destToAdd = 0,
unsigned int destBeforeThis = 0);
87 bool moveInRenderQueueAfter(
const std::string& toAdd,
const std::string& afterThis,
unsigned int destToAdd = 0,
unsigned int destAfterThis = 0);
92 void manipulateRenderQueue(
const std::string& name,
unsigned int destination,
const std::string& whatToDo,
const std::vector<std::string>& parameters );
102 void parseIniFile(
const std::string& filename =
"SlApplication.ini");
123 inline void setSpriteColor(
const std::string& name, uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha = 0xFF,
unsigned int destination = 0);
132 inline void setSpriteRenderOptions(
const std::string& name, uint32_t renderOptions,
unsigned int destination = 0);
136 void swapInRenderQueue(
const std::string& toAdd,
const std::string& toRemove,
unsigned int destToAdd = 0,
unsigned int destToRemove = 0);
147 void toggleRender(
const std::string& toToggle,
unsigned int destination = 0,
int onOrOff = -1);
150 inline void toggleRenderOff(
const std::string& toToggle,
unsigned int destination = 0);
153 inline void toggleRenderOn(
const std::string& toToggle,
unsigned int destination = 0);
175 bool moveInRenderQueue(
const std::string& toMoveName,
const std::string& targetName,
unsigned int destToMove = 0,
unsigned int targetDest = 0,
int beforeOrAfter = 0);
183 std::unique_ptr<SlTextureManager>
tmngr_ =
nullptr;
186 std::shared_ptr<SlSpriteManager>
smngr_ =
nullptr;
209 #endif // SLMANAGER_H
void parseRenderQueueManipulation(std::ifstream &input)
Definition: SlManager.cc:477
void handleEvent(const SDL_Event &event)
Definition: SlManager.cc:171
Definition: SlManipulation.h:22
void insertInRenderQueueAfter(const std::string &toAdd, const std::string &afterThis, unsigned int destToAdd=0, unsigned int destAfterThis=0)
Definition: SlManager.cc:260
void deleteSprite(const std::string &name)
Definition: SlManager.cc:137
void swapInRenderQueueLastPosition(const std::string &toAdd, unsigned int destToAdd=0)
Definition: SlManager.cc:618
std::vector< SlRenderItem * > renderQueue_
Definition: SlManager.h:180
void swapInRenderQueueAtPosition(const std::string &toAdd, unsigned int destToAdd, unsigned int position)
Definition: SlManager.cc:600
Definition: SlRenderItem.h:21
void toggleRender(const std::string &toToggle, unsigned int destination=0, int onOrOff=-1)
Definition: SlManager.cc:627
std::shared_ptr< SlSprite > findSprite(const std::string &name)
Definition: SlManager.cc:155
bool appendToRenderQueue(const std::string &name, unsigned int destination=0)
Definition: SlManager.cc:61
SlValueParser helper object to translate file input into values.
void initializeWindow(const std::string &name, int width, int height)
Definition: SlManager.cc:201
SlValueParser valParser_
Definition: SlManager.h:198
std::unique_ptr< SlEventHandler > eventHandler_
Definition: SlManager.h:189
SDL_Renderer * renderer_
Definition: SlManager.h:161
void render()
Definition: SlManager.cc:521
int screen_width_
Definition: SlManager.h:192
int screenWidth()
Definition: SlManager.h:115
std::unique_ptr< SlTextureManager > tmngr_
Definition: SlManager.h:183
bool moveInRenderQueueAfter(const std::string &toAdd, const std::string &afterThis, unsigned int destToAdd=0, unsigned int destAfterThis=0)
Definition: SlManager.cc:362
Definition: SlValueParser.h:21
void clear()
Definition: SlManager.cc:80
Definition: SlSprite.h:59
void insertInRenderQueueBefore(const std::string &toAdd, const std::string &beforeThis, unsigned int destToAdd=0, unsigned int destBeforeThis=0)
Definition: SlManager.cc:281
SlTexture * findTexture(const std::string &name)
Definition: SlManager.cc:163
std::shared_ptr< SlSpriteManager > smngr_
Definition: SlManager.h:186
void setSpriteColor(const std::string &name, uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha=0xFF, unsigned int destination=0)
Definition: SlManager.cc:553
void swapInRenderQueue(const std::string &toAdd, const std::string &toRemove, unsigned int destToAdd=0, unsigned int destToRemove=0)
Definition: SlManager.cc:578
void deleteRenderItem(const std::string &name)
Definition: SlManager.cc:122
SDL_Window * window_
Definition: SlManager.h:158
void run()
Definition: SlManager.cc:542
void toggleRenderOff(const std::string &toToggle, unsigned int destination=0)
Definition: SlManager.cc:657
void manipulateRenderQueue(const std::string &name, unsigned int destination, const std::string &whatToDo, const std::vector< std::string > ¶meters)
Definition: SlManager.cc:303
int screen_height_
Definition: SlManager.h:195
SlRenderItem * createRenderItem(const std::string &name, unsigned int destination)
Definition: SlManager.cc:97
void toggleRenderOn(const std::string &toToggle, unsigned int destination=0)
Definition: SlManager.cc:665
std::map< std::string, SlManipulation * > renderManip_
Definition: SlManager.h:202
void deleteTexture(const std::string &name)
Definition: SlManager.cc:146
void initialize()
Definition: SlManager.cc:179
int screenHeight()
Definition: SlManager.h:118
SlManager & operator=(const SlManager &)=delete
void parseIniFile(const std::string &filename="SlApplication.ini")
Definition: SlManager.cc:431
void setSpriteRenderOptions(const std::string &name, uint32_t renderOptions, unsigned int destination=0)
Definition: SlManager.cc:570
SlSpriteManager class, has a vector of sprites and various methods to manipulate them.
Definition: SlManager.h:29
bool parseConfigurationFile(const std::string &filename="SlTextureConfig.ini")
Definition: SlManager.cc:380
Definition: SlTexture.h:27
SlManager()
Definition: SlManager.cc:29
SlTextureManager class creates and stores textures.
bool moveInRenderQueue(const std::string &toMoveName, const std::string &targetName, unsigned int destToMove=0, unsigned int targetDest=0, int beforeOrAfter=0)
Definition: SlManager.cc:315
bool moveInRenderQueueBefore(const std::string &toAdd, const std::string &beforeThis, unsigned int destToAdd=0, unsigned int destBeforeThis=0)
Definition: SlManager.cc:371
void setSpriteDestinationOrigin(const std::string &name, int x, int y, unsigned int destination=0)
Definition: SlManager.cc:562
SDL_Renderer * renderer()
Definition: SlManager.h:109