BsTextureImportOptionsRTTI.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. #include "BsRTTIType.h"
  4. #include "BsTextureImportOptions.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_CORE_EXPORT TextureImportOptionsRTTI : public RTTIType<TextureImportOptions, ImportOptions, TextureImportOptionsRTTI>
  8. {
  9. private:
  10. PixelFormat& getPixelFormat(TextureImportOptions* obj) { return obj->mFormat; }
  11. void setPixelFormat(TextureImportOptions* obj, PixelFormat& value) { obj->mFormat = value; }
  12. bool& getGenerateMips(TextureImportOptions* obj) { return obj->mGenerateMips; }
  13. void setGenerateMips(TextureImportOptions* obj, bool& value) { obj->mGenerateMips = value; }
  14. UINT32& getMaxMip(TextureImportOptions* obj) { return obj->mMaxMip; }
  15. void setMaxMip(TextureImportOptions* obj, UINT32& value) { obj->mMaxMip = value; }
  16. bool& getCPUReadable(TextureImportOptions* obj) { return obj->mCPUReadable; }
  17. void setCPUReadable(TextureImportOptions* obj, bool& value) { obj->mCPUReadable = value; }
  18. bool& getSRGB(TextureImportOptions* obj) { return obj->mSRGB; }
  19. void setSRGB(TextureImportOptions* obj, bool& value) { obj->mSRGB = value; }
  20. public:
  21. TextureImportOptionsRTTI()
  22. {
  23. addPlainField("mPixelFormat", 0, &TextureImportOptionsRTTI::getPixelFormat, &TextureImportOptionsRTTI::setPixelFormat);
  24. addPlainField("mGenerateMips", 1, &TextureImportOptionsRTTI::getGenerateMips, &TextureImportOptionsRTTI::setGenerateMips);
  25. addPlainField("mMaxMip", 2, &TextureImportOptionsRTTI::getMaxMip, &TextureImportOptionsRTTI::setMaxMip);
  26. addPlainField("mCPUReadable", 3, &TextureImportOptionsRTTI::getCPUReadable, &TextureImportOptionsRTTI::setCPUReadable);
  27. addPlainField("mSRGB", 4, &TextureImportOptionsRTTI::getSRGB, &TextureImportOptionsRTTI::setSRGB);
  28. }
  29. virtual const String& getRTTIName() override
  30. {
  31. static String name = "TextureImportOptions";
  32. return name;
  33. }
  34. virtual UINT32 getRTTIId() override
  35. {
  36. return TID_TextureImportOptions;
  37. }
  38. virtual std::shared_ptr<IReflectable> newRTTIObject() override
  39. {
  40. return bs_shared_ptr_new<TextureImportOptions>();
  41. }
  42. };
  43. }