Files
farmlands/src/graphics/SpriteRenderer.h

49 lines
967 B
C++

/*
* SpriteRenderer.h
*
* Created on: Nov 30, 2016
* Author: tibi
*/
#ifndef GRAPHICS_SPRITERENDERER_H_
#define GRAPHICS_SPRITERENDERER_H_
#include <base/Component.h>
#include <base/RenderContext.h>
#include <base/Sprite.h>
#include <base/Transform.h>
#include <SDL2/SDL.h>
namespace farmlands {
namespace graphics {
class SpriteRenderer: public base::Component
{
public:
SpriteRenderer();
virtual ~SpriteRenderer();
virtual base::Component* clone() override;
virtual void dump(unsigned level) override;
virtual void onInitialize() override;
virtual void onRender() override;
virtual void onPostRender() override;
// Public fields
base::Sprite* sprite;
private:
void getCell(SDL_Texture* texture, uint32_t cell, int* outX, int* outY);
// Private fields
base::Transform* m_transform;
base::RenderContext* m_context;
};
} /* namespace graphics */
} /* namespace farmlands */
#endif /* GRAPHICS_SPRITERENDERER_H_ */