aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/je_sprite.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics/je_sprite.h')
-rw-r--r--src/libjin/Graphics/je_sprite.h34
1 files changed, 20 insertions, 14 deletions
diff --git a/src/libjin/Graphics/je_sprite.h b/src/libjin/Graphics/je_sprite.h
index 76ef30a..4fb7ebf 100644
--- a/src/libjin/Graphics/je_sprite.h
+++ b/src/libjin/Graphics/je_sprite.h
@@ -11,19 +11,6 @@ namespace JinEngine
{
namespace Graphics
{
- /** Determines position of the sprite in its bounds. */
- enum SpriteAnchor
- {
- SA_TopLeft,
- SA_TopCenter,
- SA_TopRight,
- SA_MiddleLeft,
- SA_MiddleCenter,
- SA_MiddleRight,
- SA_BottomLeft,
- SA_BottomCenter,
- SA_BottomRight
- };
///
/// A sprite is unit of rendering. Animation is based on sprite, but not texture or other graphic stuff.
@@ -31,6 +18,24 @@ namespace JinEngine
class Sprite
{
public:
+ Sprite();
+ virtual ~Sprite();
+
+ enum Origin
+ {
+ TopLeft,
+ TopCenter,
+ TopRight,
+ MiddleLeft,
+ MiddleCenter,
+ MiddleRight,
+ BottomLeft,
+ BottomCenter,
+ BottomRight
+ };
+
+ void setRotation(float r);
+ void setOrigin(Origin origin);
void setOrigin(int x, int y);
void setPosition(int x, int y);
void setScale(float x, float y);
@@ -41,7 +46,7 @@ namespace JinEngine
///
/// Render callback.
///
- virtual void onRender();
+ virtual void render();
private:
///
@@ -50,6 +55,7 @@ namespace JinEngine
Math::Vector2<float> mPosition;
Math::Vector2<int> mOrigin;
Math::Vector2<float> mScale;
+ float mRotation;
Color mColor;
Shaders::Shader* mShader;
Graphic* mGraphic;