BsViewportRTTI.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsCorePrerequisites.h"
  5. #include "Reflection/BsRTTIType.h"
  6. #include "RenderAPI/BsViewport.h"
  7. namespace bs
  8. {
  9. /** @cond RTTI */
  10. /** @addtogroup RTTI-Impl-Core
  11. * @{
  12. */
  13. class BS_CORE_EXPORT ViewportRTTI : public RTTIType<Viewport, IReflectable, ViewportRTTI>
  14. {
  15. private:
  16. BS_BEGIN_RTTI_MEMBERS
  17. BS_RTTI_MEMBER_PLAIN(mNormArea, 0)
  18. BS_RTTI_MEMBER_PLAIN(mClearColorValue, 1)
  19. BS_RTTI_MEMBER_PLAIN(mClearDepthValue, 2)
  20. BS_RTTI_MEMBER_PLAIN(mClearStencilValue, 3)
  21. BS_RTTI_MEMBER_PLAIN(mClearFlags, 4)
  22. BS_END_RTTI_MEMBERS
  23. public:
  24. ViewportRTTI()
  25. :mInitMembers(this)
  26. { }
  27. void onDeserializationEnded(IReflectable* obj, const UnorderedMap<String, UINT64>& params) override
  28. {
  29. Viewport* viewport = static_cast<Viewport*>(obj);
  30. viewport->initialize();
  31. }
  32. const String& getRTTIName() override
  33. {
  34. static String name = "Viewport";
  35. return name;
  36. }
  37. UINT32 getRTTIId() override
  38. {
  39. return TID_Viewport;
  40. }
  41. SPtr<IReflectable> newRTTIObject() override
  42. {
  43. return Viewport::createEmpty();
  44. }
  45. };
  46. /** @} */
  47. /** @endcond */
  48. }