diff options
Diffstat (limited to 'src/libjin/graphics/je_sprite.h')
-rw-r--r-- | src/libjin/graphics/je_sprite.h | 56 |
1 files changed, 21 insertions, 35 deletions
diff --git a/src/libjin/graphics/je_sprite.h b/src/libjin/graphics/je_sprite.h index faf16df..4050ed8 100644 --- a/src/libjin/graphics/je_sprite.h +++ b/src/libjin/graphics/je_sprite.h @@ -4,8 +4,8 @@ #include "../common/je_types.h" #include "../math/je_vector2.hpp" -#include "shaders/je_shader.h" #include "je_color.h" +#include "je_graphic.h" namespace JinEngine { @@ -18,8 +18,6 @@ namespace JinEngine class Sprite { public: - Sprite(); - virtual ~Sprite(); enum Origin { @@ -34,42 +32,30 @@ namespace JinEngine BottomRight }; - void setQuad(int x, int y, int w, int h); - void setRotation(float r); - void setOrigin(Origin origin); - void setOrigin(int x, int y); - void setPosition(float x, float y); - void setScale(float sx, float sy); - void setColor(Color color); - void setGraphic(const Graphic* graphic); - - void move(float x, float y); - void rotate(float r); - void scale(float sx, float sy); - - float getRotation() { return mTransform.getRotation(); } - Math::Vector2<int> getSize() { return Math::Vector2<int>(mQuad.w, mQuad.h); } - const Math::Quad& getQuad() { return mQuad; } - const Math::Vector2<float>& getPosition() { return mTransform.getPosition(); } - const Math::Vector2<float>& getOrigin() { return mTransform.getOrigin(); } - const Math::Vector2<float>& getScale() { return mTransform.getScale(); } - const Color& getColor() { return mColor; } - const Graphic* getGraphic() { return mGraphic; } - - void render(); + Sprite(const Graphic* graphic, const Math::Quad& quad, Origin origin); + + Sprite(const Graphic* graphic, const Math::Quad& quad, float ox, float oy); + + Sprite(const Graphic* graphic, Origin origin); + + Sprite(const Graphic* graphic, float ox, float oy); + + virtual ~Sprite(); + + Math::Vector2<int> getSize(); + + void render(float x, float y, float sx, float sy, float r) const; private: - /// - /// Origin must be 0~1 float value. - /// - Math::Transform mTransform; - - Color mColor; - Math::Quad mQuad; + void setOrigin(Origin origin); - bool mIsOriginEnum; - Origin mOriginEnum; + const Math::Vector2<float> mOrigin; + + /// + /// Quad of graphic. + /// + const Math::Quad mQuad; const Graphic* mGraphic; |