CImage.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #pragma once
  2. #include <irrlicht/irrlicht.h>
  3. #include "WallpaperEngine/Core/Objects/Images/CMaterial.h"
  4. #include "WallpaperEngine/Core/Core.h"
  5. #include "WallpaperEngine/Core/CObject.h"
  6. namespace WallpaperEngine::Core::Objects
  7. {
  8. using json = nlohmann::json;
  9. class CImage : public CObject
  10. {
  11. friend class CObject;
  12. public:
  13. static CObject* fromJSON (
  14. json data,
  15. bool visible,
  16. irr::u32 id,
  17. std::string name,
  18. const irr::core::vector3df& origin,
  19. const irr::core::vector3df& scale,
  20. const irr::core::vector3df& angles
  21. );
  22. const Images::CMaterial* getMaterial () const;
  23. const irr::core::vector2df& getSize () const;
  24. protected:
  25. CImage (
  26. Images::CMaterial* material,
  27. bool visible,
  28. irr::u32 id,
  29. std::string name,
  30. const irr::core::vector3df& origin,
  31. const irr::core::vector3df& scale,
  32. const irr::core::vector3df& angles,
  33. const irr::core::vector2df& size
  34. );
  35. static const std::string Type;
  36. private:
  37. irr::core::vector2df m_size;
  38. Images::CMaterial* m_material;
  39. };
  40. };