UiFont.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #include "core/Logger.h"
  2. #include "core/UiFont.h"
  3. UiFont::UiFont( const Ogre::String& name, const Ogre::String& language ):
  4. m_Name(name),
  5. m_Language( language ),
  6. m_ImageName(""),
  7. m_ImageWidth(0),
  8. m_ImageHeight(0),
  9. m_Height(0)
  10. {
  11. // Insets special symbol of next row
  12. UiCharData data;
  13. data.char_code = 10;
  14. data.x = 0;
  15. data.y = 0;
  16. data.width = 0;
  17. data.height = 0;
  18. data.pre = 0;
  19. data.post = 0;
  20. m_CharData.push_back( data );
  21. }
  22. UiFont::~UiFont()
  23. {
  24. }
  25. const Ogre::String&
  26. UiFont::GetName() const
  27. {
  28. return m_Name;
  29. }
  30. const Ogre::String&
  31. UiFont::GetLanguage() const
  32. {
  33. return m_Language;
  34. }
  35. void
  36. UiFont::SetImage(const Ogre::String& image, const int width, const int height)
  37. {
  38. m_ImageName = image;
  39. m_ImageWidth = width;
  40. m_ImageHeight = height;
  41. }
  42. const Ogre::String&
  43. UiFont::GetImageName() const
  44. {
  45. return m_ImageName;
  46. }
  47. int
  48. UiFont::GetImageWidth() const
  49. {
  50. return m_ImageWidth;
  51. }
  52. int
  53. UiFont::GetImageHeight() const
  54. {
  55. return m_ImageHeight;
  56. }
  57. void
  58. UiFont::SetHeight(const int height)
  59. {
  60. m_Height = height;
  61. }
  62. int
  63. UiFont::GetHeight() const
  64. {
  65. return m_Height;
  66. }
  67. void
  68. UiFont::AddCharData(const UiCharData& data)
  69. {
  70. m_CharData.push_back(data);
  71. }
  72. UiCharData
  73. UiFont::GetCharData(const int char_code) const
  74. {
  75. for(size_t i = 0; i < m_CharData.size(); ++i)
  76. {
  77. if(m_CharData[i].char_code == char_code)
  78. {
  79. return m_CharData[i];
  80. }
  81. }
  82. LOG_ERROR("There is no char with char code " + Ogre::StringConverter::toString(char_code) + " in font " + m_Name + ".");
  83. UiCharData ret = {};
  84. return ret;
  85. }