aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics')
-rw-r--r--src/libjin/Graphics/je_sprite.cpp8
-rw-r--r--src/libjin/Graphics/je_sprite.h12
2 files changed, 16 insertions, 4 deletions
diff --git a/src/libjin/Graphics/je_sprite.cpp b/src/libjin/Graphics/je_sprite.cpp
index 3ac976a..4d4fa12 100644
--- a/src/libjin/Graphics/je_sprite.cpp
+++ b/src/libjin/Graphics/je_sprite.cpp
@@ -5,7 +5,13 @@ namespace JinEngine
namespace Graphics
{
-
+ void Sprite::onRender()
+ {
+ if (mShader != nullptr)
+ mShader->use();
+
+ mShader->unuse();
+ }
} // namespace Graphics
} // namespace JinEngine \ No newline at end of file
diff --git a/src/libjin/Graphics/je_sprite.h b/src/libjin/Graphics/je_sprite.h
index 1d3c950..74f5d27 100644
--- a/src/libjin/Graphics/je_sprite.h
+++ b/src/libjin/Graphics/je_sprite.h
@@ -13,7 +13,7 @@ namespace JinEngine
{
///
- /// A sprite is unit of rendering
+ /// A sprite is unit of rendering.
///
class Sprite
{
@@ -23,14 +23,20 @@ namespace JinEngine
void setScale(float x, float y);
void setColor(Color color);
void setShader(const Shader* shader);
+ void setGraphic(const Graphic* graphic);
+
+ ///
+ /// Render callback.
+ ///
+ void onRender();
private:
Math::Vector2<int> mPosition;
Math::Vector2<float> mOrigin;
Math::Vector2<float> mScale;
Color mColor;
- const Shader* mShader;
- const Graphic* mGraphic;
+ Shader* mShader;
+ Graphic* mGraphic;
};