BsFontImportOptionsRTTI.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. #include "BsRTTIType.h"
  4. #include "BsFontImportOptions.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_CORE_EXPORT FontImportOptionsRTTI : public RTTIType<FontImportOptions, ImportOptions, FontImportOptionsRTTI>
  8. {
  9. private:
  10. Vector<UINT32>& getFontSizes(FontImportOptions* obj) { return obj->mFontSizes; }
  11. void setFontSizes(FontImportOptions* obj, Vector<UINT32>& value) { obj->mFontSizes = value; }
  12. Vector<std::pair<UINT32, UINT32>>& getCharIndexRanges(FontImportOptions* obj) { return obj->mCharIndexRanges; }
  13. void setCharIndexRanges(FontImportOptions* obj, Vector<std::pair<UINT32, UINT32>>& value) { obj->mCharIndexRanges = value; }
  14. UINT32& getDPI(FontImportOptions* obj) { return obj->mDPI; }
  15. void setDPI(FontImportOptions* obj, UINT32& value) { obj->mDPI = value; }
  16. FontRenderMode& getRenderMode(FontImportOptions* obj) { return obj->mRenderMode; }
  17. void setRenderMode(FontImportOptions* obj, FontRenderMode& value) { obj->mRenderMode = value; }
  18. bool& getBold(FontImportOptions* obj) { return obj->mBold; }
  19. void setBold(FontImportOptions* obj, bool& value) { obj->mBold = value; }
  20. bool& getItalic(FontImportOptions* obj) { return obj->mItalic; }
  21. void setItalic(FontImportOptions* obj, bool& value) { obj->mItalic = value; }
  22. public:
  23. FontImportOptionsRTTI()
  24. {
  25. addPlainField("mFontSizes", 0, &FontImportOptionsRTTI::getFontSizes, &FontImportOptionsRTTI::setFontSizes);
  26. addPlainField("mCharIndexRanges", 1, &FontImportOptionsRTTI::getCharIndexRanges, &FontImportOptionsRTTI::setCharIndexRanges);
  27. addPlainField("mDPI", 2, &FontImportOptionsRTTI::getDPI, &FontImportOptionsRTTI::setDPI);
  28. addPlainField("mRenderMode", 3, &FontImportOptionsRTTI::getRenderMode, &FontImportOptionsRTTI::setRenderMode);
  29. addPlainField("mBold", 4, &FontImportOptionsRTTI::getBold, &FontImportOptionsRTTI::setBold);
  30. addPlainField("mItalic", 5, &FontImportOptionsRTTI::getItalic, &FontImportOptionsRTTI::setItalic);
  31. }
  32. virtual const String& getRTTIName() override
  33. {
  34. static String name = "FontImportOptions";
  35. return name;
  36. }
  37. virtual UINT32 getRTTIId() override
  38. {
  39. return TID_FontImportOptions;
  40. }
  41. virtual std::shared_ptr<IReflectable> newRTTIObject() override
  42. {
  43. return bs_shared_ptr_new<FontImportOptions>();
  44. }
  45. };
  46. }