49 lines
967 B
C++
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_ */
|