From 5bd4477d4cf413e90a6b9ef5c8991798a687a0ec Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 20 Nov 2018 08:35:18 +0800 Subject: =?UTF-8?q?*=E6=9B=B4=E6=96=B0sprite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/graphics/je_sprite.h | 56 ++++++++++++++++------------------------- 1 file changed, 21 insertions(+), 35 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 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 getSize() { return Math::Vector2(mQuad.w, mQuad.h); } - const Math::Quad& getQuad() { return mQuad; } - const Math::Vector2& getPosition() { return mTransform.getPosition(); } - const Math::Vector2& getOrigin() { return mTransform.getOrigin(); } - const Math::Vector2& 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 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 mOrigin; + + /// + /// Quad of graphic. + /// + const Math::Quad mQuad; const Graphic* mGraphic; -- cgit v1.1-26-g67d0