| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #pragma once
- #include "WallpaperEngine/Core/Objects/Images/CMaterial.h"
- #include "WallpaperEngine/Core/Core.h"
- #include "WallpaperEngine/Core/CObject.h"
- #include "WallpaperEngine/Assets/CContainer.h"
- namespace WallpaperEngine::Core::Objects
- {
- using json = nlohmann::json;
- using namespace WallpaperEngine::Assets;
- class CImage : public CObject
- {
- friend class CObject;
- public:
- static CObject* fromJSON (
- json data,
- CContainer* container,
- bool visible,
- uint32_t id,
- std::string name,
- const glm::vec3& origin,
- const glm::vec3& scale,
- const glm::vec3& angles
- );
- const Images::CMaterial* getMaterial () const;
- const glm::vec2& getSize () const;
- const std::string& getAlignment () const;
- const float getAlpha () const;
- const glm::vec3& getColor () const;
- const float getBrightness () const;
- const uint32_t getColorBlendMode () const;
- const glm::vec2& getParallaxDepth () const;
- protected:
- CImage (
- Images::CMaterial* material,
- bool visible,
- uint32_t id,
- std::string name,
- const glm::vec3& origin,
- const glm::vec3& scale,
- const glm::vec3& angles,
- const glm::vec2& size,
- std::string alignment,
- const glm::vec3& color,
- float alpha,
- float brightness,
- uint32_t colorBlendMode,
- const glm::vec2& parallaxDepth
- );
- static const std::string Type;
- private:
- glm::vec2 m_size;
- const glm::vec2 m_parallaxDepth;
- Images::CMaterial* m_material;
- std::string m_alignment;
- float m_alpha;
- float m_brightness;
- glm::vec3 m_color;
- uint32_t m_colorBlendMode;
- };
- };
|