From 75792c15480d3d99b2ba7e79e143e4b569b22611 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 13 Nov 2018 08:27:26 +0800 Subject: =?UTF-8?q?*=E4=BF=AE=E6=94=B9lua=20ref?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/Graphics/je_sprite.h | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'src/libjin/Graphics/je_sprite.h') 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 mPosition; Math::Vector2 mOrigin; Math::Vector2 mScale; + float mRotation; Color mColor; Shaders::Shader* mShader; Graphic* mGraphic; -- cgit v1.1-26-g67d0