scene.h 868 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef WALLENGINE_SCENE_H
  2. #define WALLENGINE_SCENE_H
  3. #include <iostream>
  4. #include <irrlicht/irrlicht.h>
  5. #include <nlohmann/json.hpp>
  6. #include <wallpaperengine/object.h>
  7. #include <wallpaperengine/camera.h>
  8. #include <wallpaperengine/video/node.h>
  9. namespace wp
  10. {
  11. using json = nlohmann::json;
  12. class object;
  13. class scene : public wp::video::node
  14. {
  15. public:
  16. scene (irr::io::path& file);
  17. ~scene ();
  18. camera* getCamera ();
  19. bool isOrthogonal ();
  20. float getProjectionWidth ();
  21. float getProjectionHeight ();
  22. void render ();
  23. private:
  24. float m_width;
  25. float m_height;
  26. bool m_isOrthogonal;
  27. irr::io::path m_file;
  28. std::string m_content;
  29. camera* m_camera;
  30. std::vector<object*> m_objects;
  31. json m_json;
  32. };
  33. };
  34. #endif //WALLENGINE_SCENE_H