CmFont.cpp 903 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "CmFont.h"
  2. #include "CmFontRTTI.h"
  3. #include "CmFontManager.h"
  4. namespace CamelotEngine
  5. {
  6. RTTITypeBase* FontData::getRTTIStatic()
  7. {
  8. return FontDataRTTI::instance();
  9. }
  10. RTTITypeBase* FontData::getRTTI() const
  11. {
  12. return FontData::getRTTIStatic();
  13. }
  14. Font::Font()
  15. :Resource(false)
  16. { }
  17. Font::~Font()
  18. { }
  19. void Font::initialize(vector<FontData>::type& fontData)
  20. {
  21. for(auto iter = fontData.begin(); iter != fontData.end(); ++iter)
  22. mFontDataPerSize[iter->size] = *iter;
  23. Resource::initialize();
  24. }
  25. FontHandle Font::create(vector<FontData>::type& fontData)
  26. {
  27. FontPtr newFont = FontManager::instance().create(fontData);
  28. return Resource::_createResourceHandle(newFont);
  29. }
  30. RTTITypeBase* Font::getRTTIStatic()
  31. {
  32. return FontRTTI::instance();
  33. }
  34. RTTITypeBase* Font::getRTTI() const
  35. {
  36. return Font::getRTTIStatic();
  37. }
  38. }