BsSpriteTexture.cpp 776 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "BsSpriteTexture.h"
  2. #include "CmTexture.h"
  3. using namespace CamelotFramework;
  4. namespace BansheeEngine
  5. {
  6. SpriteTexture::SpriteTexture(const HTexture& baseTexture)
  7. :mBaseTexture(baseTexture), mUsingAtlas(false)
  8. {
  9. }
  10. const HTexture& SpriteTexture::getTexture() const
  11. {
  12. return mUsingAtlas ? mAtlasTexture : mBaseTexture;
  13. }
  14. Vector2 SpriteTexture::transformUV(const Vector2& uv) const
  15. {
  16. if(mUsingAtlas)
  17. return mUVOffset + uv * mUVScale;
  18. else
  19. return uv;
  20. }
  21. SpriteTexturePtr SpriteTexture::dummy()
  22. {
  23. static bool initialized = false;
  24. static SpriteTexturePtr dummyTex = nullptr;
  25. if(!initialized)
  26. {
  27. dummyTex = cm_shared_ptr<SpriteTexture, PoolAlloc>(Texture::dummy());
  28. }
  29. return dummyTex;
  30. }
  31. }