| 12 | namespace obe::Animation |
| 13 | { |
| 14 | void Animator::applyTexture() const |
| 15 | { |
| 16 | const Graphics::Texture& texture = this->getTexture(); |
| 17 | m_target->setTexture(texture); |
| 18 | |
| 19 | if (m_targetScaleMode == AnimatorTargetScaleMode::Fit) |
| 20 | { |
| 21 | if (m_target->getSize().x >= m_target->getSize().y) |
| 22 | { |
| 23 | m_target->setSize(Transform::UnitVector(m_target->getSize().x, |
| 24 | static_cast<float>(texture.getSize().y) |
| 25 | / static_cast<float>(texture.getSize().x) |
| 26 | * m_target->getSize().x)); |
| 27 | } |
| 28 | else |
| 29 | { |
| 30 | m_target->setSize(Transform::UnitVector( |
| 31 | static_cast<float>(texture.getSize().x) |
| 32 | / static_cast<float>(texture.getSize().y) * m_target->getSize().y, |
| 33 | m_target->getSize().y)); |
| 34 | } |
| 35 | } |
| 36 | else if (m_targetScaleMode == AnimatorTargetScaleMode::FixedWidth) |
| 37 | { |
| 38 | m_target->setSize(Transform::UnitVector(m_target->getSize().x, |
| 39 | static_cast<float>(texture.getSize().y) |
| 40 | / static_cast<float>(texture.getSize().x) * m_target->getSize().x)); |
| 41 | } |
| 42 | else if (m_targetScaleMode == AnimatorTargetScaleMode::FixedHeight) |
| 43 | { |
| 44 | m_target->setSize( |
| 45 | Transform::UnitVector(static_cast<float>(texture.getSize().x) |
| 46 | / static_cast<float>(texture.getSize().y) * m_target->getSize().y, |
| 47 | m_target->getSize().y)); |
| 48 | } |
| 49 | else if (m_targetScaleMode == AnimatorTargetScaleMode::TextureSize) |
| 50 | m_target->useTextureSize(); |
| 51 | } |
| 52 | |
| 53 | void Animator::clear() noexcept |
| 54 | { |
no test coverage detected