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.cpp95
1 files changed, 0 insertions, 95 deletions
diff --git a/src/libjin/graphics/je_sprite.cpp b/src/libjin/graphics/je_sprite.cpp
deleted file mode 100644
index bddb353..0000000
--- a/src/libjin/graphics/je_sprite.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-#include "je_graphic.h"
-#include "je_sprite.h"
-
-using namespace JinEngine::Math;
-using namespace JinEngine::Graphics;
-
-namespace JinEngine
-{
- namespace Graphics
- {
-
- Sprite::Sprite(const Graphic* graphic, const Math::Quad& quad, Origin origin)
- : mGraphic(graphic)
- , mQuad(quad)
- {
- setOrigin(origin);
- }
-
- Sprite::Sprite(const Graphic* graphic, const Math::Quad& quad, float ox, float oy)
- : mGraphic(graphic)
- , mQuad(quad)
- , mOrigin(ox, oy)
- {
- }
-
- Sprite::Sprite(const Graphic* graphic, Origin origin)
- : mGraphic(graphic)
- , mQuad(0, 0, graphic->getWidth(), graphic->getHeight())
- {
- setOrigin(origin);
- }
-
- Sprite::Sprite(const Graphic* graphic, float ox, float oy)
- : mGraphic(graphic)
- , mQuad(0, 0, graphic->getWidth(), graphic->getHeight())
- , mOrigin(ox, oy)
- {
- }
-
- Sprite::~Sprite()
- {
- }
-
- Math::Vector2<int> Sprite::getSize()
- {
- return Math::Vector2<int>(mQuad.w, mQuad.h);
- }
-
- void Sprite::render(float x, float y, float sx, float sy, float r) const
- {
- if (mGraphic != nullptr)
- mGraphic->render(mQuad, x, y, sx, sy, r, mOrigin.x(), mOrigin.y());
- }
-
- void Sprite::setOrigin(Origin origin)
- {
- int l = 0, r = 0, t = 0, b = 0;
- Vector2<int> size = getSize();
- r = size.w();
- b = size.h();
- Vector2<float>* org = const_cast<Vector2<float>*>(&mOrigin);
- switch (origin)
- {
- case Origin::TOPLEFT:
- org->set(l, t);
- break;
- case Origin::TOPCENTER:
- org->set(r / 2.f, t);
- break;
- case Origin::TOPRIGHT:
- org->set(r, t);
- break;
- case Origin::MIDDLELEFT:
- org->set(l, b / 2.f);
- break;
- case Origin::MIDDLECENTER:
- org->set(r / 2.f, b / 2.f);
- break;
- case Origin::MIDDLERIGHT:
- org->set(r, b / 2.f);
- break;
- case Origin::BOTTOMLEFT:
- org->set(l, b);
- break;
- case Origin::BOTTOMCENTER:
- org->set(r / 2.f, b);
- break;
- case Origin::BOTTOMRIGHT:
- org->set(r, b);
- break;
- }
- }
-
- } // namespace Graphics
-} // namespace JinEngine \ No newline at end of file