aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/je_sprite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics/je_sprite.cpp')
-rw-r--r--src/libjin/Graphics/je_sprite.cpp63
1 files changed, 58 insertions, 5 deletions
diff --git a/src/libjin/Graphics/je_sprite.cpp b/src/libjin/Graphics/je_sprite.cpp
index 4d4fa12..4ef32a4 100644
--- a/src/libjin/Graphics/je_sprite.cpp
+++ b/src/libjin/Graphics/je_sprite.cpp
@@ -1,16 +1,69 @@
+#include "shaders/je_shader.h"
+
#include "je_sprite.h"
+using namespace JinEngine::Graphics::Shaders;
+
namespace JinEngine
{
namespace Graphics
{
- void Sprite::onRender()
+ Sprite::Sprite()
+ : mShader(nullptr)
+ , mGraphic(nullptr)
+ {
+ }
+
+ void Sprite::setRotation(float r)
+ {
+ mRotation = r;
+ }
+
+ void Sprite::setOrigin(Origin origin)
+ {
+
+ }
+
+ void Sprite::setOrigin(int x, int y)
+ {
+
+ }
+
+ void Sprite::setPosition(int x, int y)
+ {
+
+ }
+
+ void Sprite::setScale(float x, float y)
+ {
+
+ }
+
+ void Sprite::setColor(Color color)
+ {
+
+ }
+
+ void Sprite::setShader(const Shader* shader)
+ {
+
+ }
+
+ void Sprite::setGraphic(const Graphic* graphic)
+ {
+
+ }
+
+ void Sprite::render()
{
- if (mShader != nullptr)
- mShader->use();
-
- mShader->unuse();
+ Shader* shader = Shader::getCurrentShader();
+ Color c = gl.getColor();
+ gl.setColor(mColor);
+ mShader->use();
+ mGraphic->render(mPosition.x, mPosition.y, mScale.x, mScale.y, mRotation, mOrigin.x, mOrigin.y);
+ shader->use();
+ gl.setColor(c);
}
} // namespace Graphics