diff options
Diffstat (limited to 'src/libjin/Graphics')
-rw-r--r-- | src/libjin/Graphics/animations/je_animation.h | 7 | ||||
-rw-r--r-- | src/libjin/Graphics/je_bitmap.h | 7 | ||||
-rw-r--r-- | src/libjin/Graphics/je_mesh.h | 2 | ||||
-rw-r--r-- | src/libjin/Graphics/je_sprite.cpp | 20 | ||||
-rw-r--r-- | src/libjin/Graphics/je_sprite.h | 13 | ||||
-rw-r--r-- | src/libjin/Graphics/je_sprite_batch.cpp | 11 | ||||
-rw-r--r-- | src/libjin/Graphics/je_sprite_batch.h | 7 |
7 files changed, 58 insertions, 9 deletions
diff --git a/src/libjin/Graphics/animations/je_animation.h b/src/libjin/Graphics/animations/je_animation.h index 05e1d4f..9926cf9 100644 --- a/src/libjin/Graphics/animations/je_animation.h +++ b/src/libjin/Graphics/animations/je_animation.h @@ -30,7 +30,12 @@ namespace JinEngine /// /// Get current frame index. /// - uint getCurrentFrame(); + uint getCurrentFrameIndex(); + + /// + /// + /// + Sprite* getCurrentFrame(); /// /// Set current frame index. diff --git a/src/libjin/Graphics/je_bitmap.h b/src/libjin/Graphics/je_bitmap.h index b0b7dad..c3041f8 100644 --- a/src/libjin/Graphics/je_bitmap.h +++ b/src/libjin/Graphics/je_bitmap.h @@ -3,6 +3,8 @@ #include "../core/je_configuration.h" #if defined(jin_graphics) +#include <functional> + #include "GLee/GLee.h" #include "../common/je_types.h" @@ -62,6 +64,11 @@ namespace JinEngine /// static Bitmap* createBitmap(int width, int height, Color color = Color::BLACK); + /// + /// Create bitmap and set bitmap pixels with given drawer. + /// + static Bitmap* createBitmap(int width, int height, std::function<Color(int, int)> drawer); + /// /// Create bitmap with another one. /// diff --git a/src/libjin/Graphics/je_mesh.h b/src/libjin/Graphics/je_mesh.h index f5680ee..dbb2881 100644 --- a/src/libjin/Graphics/je_mesh.h +++ b/src/libjin/Graphics/je_mesh.h @@ -7,7 +7,7 @@ namespace JinEngine { /// - /// + /// A 2D mesh. /// class Mesh { diff --git a/src/libjin/Graphics/je_sprite.cpp b/src/libjin/Graphics/je_sprite.cpp index 176447c..810cb0e 100644 --- a/src/libjin/Graphics/je_sprite.cpp +++ b/src/libjin/Graphics/je_sprite.cpp @@ -93,7 +93,7 @@ namespace JinEngine mIsOriginEnum = false; } - void Sprite::setPosition(int x, int y) + void Sprite::setPosition(float x, float y) { mPosition.set(x, y); } @@ -121,6 +121,24 @@ namespace JinEngine setQuad(0, 0, w, h); } + + void Sprite::move(float x, float y) + { + mPosition.x += x; + mPosition.y += y; + } + + void Sprite::rotate(float r) + { + mRotation += r; + } + + void Sprite::scale(float sx, float sy) + { + mScale.x += sx; + mScale.y += sy; + } + void Sprite::render() { Shader* shader = Shader::getCurrentShader(); diff --git a/src/libjin/Graphics/je_sprite.h b/src/libjin/Graphics/je_sprite.h index ad95aa4..d48fbbc 100644 --- a/src/libjin/Graphics/je_sprite.h +++ b/src/libjin/Graphics/je_sprite.h @@ -38,12 +38,16 @@ namespace JinEngine 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); + void setPosition(float x, float y); + void setScale(float sx, float sy); void setColor(Color color); void setShader(Shaders::Shader* shader); void setGraphic(const Graphic* graphic); + void move(float x, float y); + void rotate(float r); + void scale(float sx, float sy); + float getRotation() { return mRotation; } Math::Vector2<int> getSize() { return Math::Vector2<int>(mQuad.w, mQuad.h); } const Math::Quad& getQuad() { return mQuad; } @@ -64,13 +68,14 @@ namespace JinEngine Math::Vector2<float> mPosition; Math::Vector2<int> mOrigin; Math::Vector2<float> mScale; + float mRotation; + Color mColor; + Math::Quad mQuad; bool mIsOriginEnum; Origin mOriginEnum; - float mRotation; - Color mColor; Shaders::Shader* mShader; const Graphic* mGraphic; diff --git a/src/libjin/Graphics/je_sprite_batch.cpp b/src/libjin/Graphics/je_sprite_batch.cpp index e69de29..f339715 100644 --- a/src/libjin/Graphics/je_sprite_batch.cpp +++ b/src/libjin/Graphics/je_sprite_batch.cpp @@ -0,0 +1,11 @@ +#include "je_sprite_batch.h" + +namespace JinEngine +{ + namespace Graphics + { + + + + } +}
\ No newline at end of file diff --git a/src/libjin/Graphics/je_sprite_batch.h b/src/libjin/Graphics/je_sprite_batch.h index 7c1098b..64f9805 100644 --- a/src/libjin/Graphics/je_sprite_batch.h +++ b/src/libjin/Graphics/je_sprite_batch.h @@ -8,10 +8,13 @@ namespace JinEngine class SpriteBatch { + public: + + private: }; - } -} + } // namespace Graphics +} // namespace JinEngine #endif
\ No newline at end of file |