diff options
Diffstat (limited to 'src/libjin/graphics/je_sprite.cpp')
-rw-r--r-- | src/libjin/graphics/je_sprite.cpp | 95 |
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 |