aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics')
-rw-r--r--src/libjin/Graphics/animations/je_animation.h7
-rw-r--r--src/libjin/Graphics/je_bitmap.h7
-rw-r--r--src/libjin/Graphics/je_mesh.h2
-rw-r--r--src/libjin/Graphics/je_sprite.cpp20
-rw-r--r--src/libjin/Graphics/je_sprite.h13
-rw-r--r--src/libjin/Graphics/je_sprite_batch.cpp11
-rw-r--r--src/libjin/Graphics/je_sprite_batch.h7
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