CObject.h 808 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include <string>
  3. #include "WallpaperEngine/Render/Helpers/ContextAware.h"
  4. #include "WallpaperEngine/Render/Wallpapers/CScene.h"
  5. namespace WallpaperEngine::Render::Wallpapers {
  6. class CScene;
  7. }
  8. namespace WallpaperEngine::Render {
  9. class CObject : public Helpers::ContextAware, public TypeCaster {
  10. public:
  11. CObject (Wallpapers::CScene& scene, const Object& object);
  12. virtual ~CObject () override = default;
  13. virtual void setup ();
  14. virtual void render ();
  15. [[nodiscard]] Wallpapers::CScene& getScene () const;
  16. [[nodiscard]] const AssetLocator& getAssetLocator () const;
  17. [[nodiscard]] int getId () const;
  18. [[nodiscard]] const Object& getObject () const;
  19. private:
  20. Wallpapers::CScene& m_scene;
  21. const Object& m_object;
  22. };
  23. } // namespace WallpaperEngine::Render