From 92bdde2bd16468e3d6debfbe5a435ffaf7fa5ee2 Mon Sep 17 00:00:00 2001 From: Alexis Maiquez Date: Wed, 1 Feb 2023 03:02:24 +0100 Subject: [PATCH] Renamed CUserSettingColor to CUserSettingVector3 as it makes more sense CUserSettingVector3 are initializable with just one float value Objects' origin and scale are now UserSettings too Signed-off-by: Alexis Maiquez --- CMakeLists.txt | 4 +-- src/WallpaperEngine/Core/CObject.cpp | 28 +++++++++---------- src/WallpaperEngine/Core/CObject.h | 16 +++++------ src/WallpaperEngine/Core/CScene.cpp | 8 +++--- src/WallpaperEngine/Core/CScene.h | 4 +-- src/WallpaperEngine/Core/Core.cpp | 4 +-- src/WallpaperEngine/Core/Objects/CImage.cpp | 16 +++++------ src/WallpaperEngine/Core/Objects/CImage.h | 14 +++++----- .../Core/Objects/CParticle.cpp | 8 +++--- src/WallpaperEngine/Core/Objects/CParticle.h | 8 +++--- src/WallpaperEngine/Core/Objects/CSound.cpp | 8 +++--- src/WallpaperEngine/Core/Objects/CSound.h | 8 +++--- .../Core/UserSettings/CUserSettingBoolean.cpp | 2 +- .../Core/UserSettings/CUserSettingFloat.cpp | 2 +- ...ttingColor.cpp => CUserSettingVector3.cpp} | 25 +++++++++++------ ...erSettingColor.h => CUserSettingVector3.h} | 8 +++--- 16 files changed, 85 insertions(+), 78 deletions(-) rename src/WallpaperEngine/Core/UserSettings/{CUserSettingColor.cpp => CUserSettingVector3.cpp} (70%) rename src/WallpaperEngine/Core/UserSettings/{CUserSettingColor.h => CUserSettingVector3.h} (62%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 62de9cf..0da294d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,8 +117,8 @@ add_executable( src/WallpaperEngine/Core/UserSettings/CUserSettingValue.h src/WallpaperEngine/Core/UserSettings/CUserSettingBoolean.cpp src/WallpaperEngine/Core/UserSettings/CUserSettingBoolean.h - src/WallpaperEngine/Core/UserSettings/CUserSettingColor.cpp - src/WallpaperEngine/Core/UserSettings/CUserSettingColor.h + src/WallpaperEngine/Core/UserSettings/CUserSettingVector3.cpp + src/WallpaperEngine/Core/UserSettings/CUserSettingVector3.h src/WallpaperEngine/Core/UserSettings/CUserSettingFloat.cpp src/WallpaperEngine/Core/UserSettings/CUserSettingFloat.h diff --git a/src/WallpaperEngine/Core/CObject.cpp b/src/WallpaperEngine/Core/CObject.cpp index 2202d4e..a6f4bbc 100644 --- a/src/WallpaperEngine/Core/CObject.cpp +++ b/src/WallpaperEngine/Core/CObject.cpp @@ -20,8 +20,8 @@ CObject::CObject ( uint32_t id, std::string name, std::string type, - const glm::vec3& origin, - const glm::vec3& scale, + CUserSettingVector3* origin, + CUserSettingVector3* scale, const glm::vec3& angles) : m_scene (scene), m_visible (visible), @@ -40,8 +40,8 @@ CObject* CObject::fromJSON (json data, CScene* scene, const CContainer* containe auto id_it = jsonFindRequired (data, "id", "Objects must have id"); auto visible = jsonFindUserConfig (data, "visible", true); - auto origin_val = jsonFindDefault (data, "origin", "0.0 0.0 0.0"); - auto scale_val = jsonFindDefault (data, "scale", "0.0 0.0 0.0"); + auto origin = jsonFindUserConfig (data, "origin", {0, 0, 0}); + auto scale = jsonFindUserConfig (data, "scale", {0, 0, 0}); auto angles_val = jsonFindDefault (data, "angles", "0.0 0.0 0.0"); auto name_it = jsonFindRequired (data, "name", "Objects must have name"); auto effects_it = data.find ("effects"); @@ -64,8 +64,8 @@ CObject* CObject::fromJSON (json data, CScene* scene, const CContainer* containe visible, *id_it, *name_it, - WallpaperEngine::Core::aToVector3 (origin_val), - WallpaperEngine::Core::aToVector3 (scale_val), + origin, + scale, WallpaperEngine::Core::aToVector3 (angles_val) ); } @@ -77,8 +77,8 @@ CObject* CObject::fromJSON (json data, CScene* scene, const CContainer* containe visible, *id_it, *name_it, - WallpaperEngine::Core::aToVector3 (origin_val), - WallpaperEngine::Core::aToVector3 (scale_val), + origin, + scale, WallpaperEngine::Core::aToVector3 (angles_val) ); } @@ -94,8 +94,8 @@ CObject* CObject::fromJSON (json data, CScene* scene, const CContainer* containe visible, *id_it, *name_it, - WallpaperEngine::Core::aToVector3 (origin_val), - WallpaperEngine::Core::aToVector3 (scale_val) + origin, + scale ); } catch (std::runtime_error ex) @@ -153,14 +153,14 @@ CObject* CObject::fromJSON (json data, CScene* scene, const CContainer* containe return object; } -const glm::vec3& CObject::getOrigin () const +glm::vec3 CObject::getOrigin () const { - return this->m_origin; + return this->m_origin->processValue (this->getScene ()->getProject ()->getProperties ()); } -const glm::vec3& CObject::getScale () const +glm::vec3 CObject::getScale () const { - return this->m_scale; + return this->m_scale->processValue (this->getScene ()->getProject ()->getProperties ()); } const glm::vec3& CObject::getAngles () const diff --git a/src/WallpaperEngine/Core/CObject.h b/src/WallpaperEngine/Core/CObject.h index 8526f3b..36b9b56 100644 --- a/src/WallpaperEngine/Core/CObject.h +++ b/src/WallpaperEngine/Core/CObject.h @@ -2,11 +2,11 @@ #include "Core.h" -#include "WallpaperEngine/Core/Objects/CEffect.h" #include "WallpaperEngine/Assets/CContainer.h" +#include "WallpaperEngine/Core/Objects/CEffect.h" #include "WallpaperEngine/Core/UserSettings/CUserSettingBoolean.h" #include "WallpaperEngine/Core/UserSettings/CUserSettingFloat.h" -#include "WallpaperEngine/Core/UserSettings/CUserSettingColor.h" +#include "WallpaperEngine/Core/UserSettings/CUserSettingVector3.h" namespace WallpaperEngine::Core { @@ -44,8 +44,8 @@ namespace WallpaperEngine::Core const std::vector& getDependencies () const; const int getId () const; - const glm::vec3& getOrigin () const; - const glm::vec3& getScale () const; + glm::vec3 getOrigin () const; + glm::vec3 getScale () const; const glm::vec3& getAngles () const; const std::string& getName () const; @@ -58,8 +58,8 @@ namespace WallpaperEngine::Core uint32_t id, std::string name, std::string type, - const glm::vec3& origin, - const glm::vec3& scale, + CUserSettingVector3* origin, + CUserSettingVector3* scale, const glm::vec3& angles ); @@ -71,8 +71,8 @@ namespace WallpaperEngine::Core CUserSettingBoolean* m_visible; uint32_t m_id; std::string m_name; - glm::vec3 m_origin; - glm::vec3 m_scale; + CUserSettingVector3* m_origin; + CUserSettingVector3* m_scale; glm::vec3 m_angles; std::vector m_effects; diff --git a/src/WallpaperEngine/Core/CScene.cpp b/src/WallpaperEngine/Core/CScene.cpp index d289959..b353b05 100644 --- a/src/WallpaperEngine/Core/CScene.cpp +++ b/src/WallpaperEngine/Core/CScene.cpp @@ -1,10 +1,10 @@ #include "CScene.h" #include "CProject.h" -#include "WallpaperEngine/FileSystem/FileSystem.h" #include "WallpaperEngine/Core/UserSettings/CUserSettingBoolean.h" #include "WallpaperEngine/Core/UserSettings/CUserSettingFloat.h" -#include "WallpaperEngine/Core/UserSettings/CUserSettingColor.h" +#include "WallpaperEngine/Core/UserSettings/CUserSettingVector3.h" +#include "WallpaperEngine/FileSystem/FileSystem.h" using namespace WallpaperEngine::Core; @@ -25,7 +25,7 @@ CScene::CScene ( double cameraShakeAmplitude, double cameraShakeRoughness, double cameraShakeSpeed, - CUserSettingColor* clearColor, + CUserSettingVector3* clearColor, Scenes::CProjection* orthogonalProjection, glm::vec3 skylightColor) : CWallpaper (Type), @@ -75,7 +75,7 @@ CScene* CScene::fromFile (const std::string& filename, CContainer* container) auto camerashakeamplitude = jsonFindDefault (*general_it, "camerashakeamplitude", 0.0f); auto camerashakeroughness = jsonFindDefault (*general_it, "camerashakeroughness", 0.0f); auto camerashakespeed = jsonFindDefault (*general_it, "camerashakespeed", 0.0f); - auto clearcolor = jsonFindUserConfig (*general_it, "clearcolor", {1, 1, 1}); + auto clearcolor = jsonFindUserConfig (*general_it, "clearcolor", {1, 1, 1}); auto orthogonalprojection_it = jsonFindRequired (*general_it, "orthogonalprojection", "General section must have orthogonal projection info"); auto skylightcolor = jsonFindDefault (*general_it, "skylightcolor", "0 0 0"); diff --git a/src/WallpaperEngine/Core/CScene.h b/src/WallpaperEngine/Core/CScene.h index 71e97eb..ec04cca 100644 --- a/src/WallpaperEngine/Core/CScene.h +++ b/src/WallpaperEngine/Core/CScene.h @@ -61,7 +61,7 @@ namespace WallpaperEngine::Core double cameraShakeAmplitude, double cameraShakeRoughness, double cameraShakeSpeed, - CUserSettingColor* clearColor, + CUserSettingVector3* clearColor, Scenes::CProjection* orthogonalProjection, glm::vec3 skylightColor ); @@ -90,7 +90,7 @@ namespace WallpaperEngine::Core double m_cameraShakeAmplitude; double m_cameraShakeRoughness; double m_cameraShakeSpeed; - CUserSettingColor* m_clearColor; + CUserSettingVector3* m_clearColor; Scenes::CProjection* m_orthogonalProjection; glm::vec3 m_skylightColor; diff --git a/src/WallpaperEngine/Core/Core.cpp b/src/WallpaperEngine/Core/Core.cpp index 592e0ab..2aaeef7 100644 --- a/src/WallpaperEngine/Core/Core.cpp +++ b/src/WallpaperEngine/Core/Core.cpp @@ -1,8 +1,8 @@ #include "Core.h" #include "WallpaperEngine/Core/UserSettings/CUserSettingBoolean.h" -#include "WallpaperEngine/Core/UserSettings/CUserSettingColor.h" #include "WallpaperEngine/Core/UserSettings/CUserSettingFloat.h" +#include "WallpaperEngine/Core/UserSettings/CUserSettingVector3.h" using namespace WallpaperEngine; using namespace WallpaperEngine::Core::UserSettings; @@ -157,5 +157,5 @@ template T* Core::jsonFindUserConfig (nlohmann::json& d } template CUserSettingBoolean* Core::jsonFindUserConfig (nlohmann::json& data, const char *key, bool defaultValue); -template CUserSettingColor* Core::jsonFindUserConfig (nlohmann::json& data, const char *key, glm::vec3 defaultValue); +template CUserSettingVector3* Core::jsonFindUserConfig (nlohmann::json& data, const char *key, glm::vec3 defaultValue); template CUserSettingFloat* Core::jsonFindUserConfig (nlohmann::json& data, const char *key, double defaultValue); \ No newline at end of file diff --git a/src/WallpaperEngine/Core/Objects/CImage.cpp b/src/WallpaperEngine/Core/Objects/CImage.cpp index cf5aa75..15386c1 100644 --- a/src/WallpaperEngine/Core/Objects/CImage.cpp +++ b/src/WallpaperEngine/Core/Objects/CImage.cpp @@ -1,11 +1,11 @@ #include "CImage.h" -#include #include "WallpaperEngine/Core/CScene.h" #include "WallpaperEngine/Core/Objects/Images/CMaterial.h" #include "WallpaperEngine/Core/UserSettings/CUserSettingBoolean.h" -#include "WallpaperEngine/Core/UserSettings/CUserSettingColor.h" #include "WallpaperEngine/Core/UserSettings/CUserSettingFloat.h" +#include "WallpaperEngine/Core/UserSettings/CUserSettingVector3.h" +#include #include "WallpaperEngine/FileSystem/FileSystem.h" @@ -18,12 +18,12 @@ CImage::CImage ( CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale, + CUserSettingVector3* origin, + CUserSettingVector3* scale, const glm::vec3& angles, const glm::vec2& size, std::string alignment, - CUserSettingColor* color, + CUserSettingVector3* color, CUserSettingFloat* alpha, float brightness, uint32_t colorBlendMode, @@ -48,15 +48,15 @@ WallpaperEngine::Core::CObject* CImage::fromJSON ( CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale, + CUserSettingVector3* origin, + CUserSettingVector3* scale, const glm::vec3& angles) { auto image_it = data.find ("image"); auto size_val = jsonFindDefault (data, "size", "0.0 0.0"); // this one might need some adjustment auto alignment = jsonFindDefault (data, "alignment", "center"); auto alpha = jsonFindUserConfig (data, "alpha", 1.0); - auto color = jsonFindUserConfig (data, "color", {1, 1, 1}); + auto color = jsonFindUserConfig (data, "color", {1, 1, 1}); auto brightness_val = jsonFindDefault (data, "brightness", 1.0); auto colorBlendMode_val = jsonFindDefault (data, "colorBlendMode", 0); auto parallaxDepth_val = jsonFindDefault (data, "parallaxDepth", "0 0"); diff --git a/src/WallpaperEngine/Core/Objects/CImage.h b/src/WallpaperEngine/Core/Objects/CImage.h index be2dbdc..7c0d1b1 100644 --- a/src/WallpaperEngine/Core/Objects/CImage.h +++ b/src/WallpaperEngine/Core/Objects/CImage.h @@ -8,8 +8,8 @@ #include "WallpaperEngine/Assets/CContainer.h" #include "WallpaperEngine/Core/UserSettings/CUserSettingBoolean.h" -#include "WallpaperEngine/Core/UserSettings/CUserSettingColor.h" #include "WallpaperEngine/Core/UserSettings/CUserSettingFloat.h" +#include "WallpaperEngine/Core/UserSettings/CUserSettingVector3.h" namespace WallpaperEngine::Core { @@ -33,8 +33,8 @@ namespace WallpaperEngine::Core::Objects CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale, + CUserSettingVector3* origin, + CUserSettingVector3* scale, const glm::vec3& angles ); @@ -54,12 +54,12 @@ namespace WallpaperEngine::Core::Objects CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale, + CUserSettingVector3* origin, + CUserSettingVector3* scale, const glm::vec3& angles, const glm::vec2& size, std::string alignment, - CUserSettingColor* color, + CUserSettingVector3* color, CUserSettingFloat* alpha, float brightness, uint32_t colorBlendMode, @@ -75,7 +75,7 @@ namespace WallpaperEngine::Core::Objects std::string m_alignment; CUserSettingFloat* m_alpha; float m_brightness; - CUserSettingColor* m_color; + CUserSettingVector3* m_color; uint32_t m_colorBlendMode; }; }; diff --git a/src/WallpaperEngine/Core/Objects/CParticle.cpp b/src/WallpaperEngine/Core/Objects/CParticle.cpp index 9738796..b4f175d 100644 --- a/src/WallpaperEngine/Core/Objects/CParticle.cpp +++ b/src/WallpaperEngine/Core/Objects/CParticle.cpp @@ -10,8 +10,8 @@ CParticle* CParticle::fromFile ( CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale) + CUserSettingVector3* origin, + CUserSettingVector3* scale) { json data = json::parse (WallpaperEngine::FileSystem::loadFullFile (filename, container)); auto controlpoint_it = data.find ("controlpoint"); @@ -74,8 +74,8 @@ CParticle::CParticle ( CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale): + CUserSettingVector3* origin, + CUserSettingVector3* scale): CObject (scene, visible, id, std::move(name), Type, origin, scale, glm::vec3 ()), m_starttime (starttime), m_maxcount (maxcount) diff --git a/src/WallpaperEngine/Core/Objects/CParticle.h b/src/WallpaperEngine/Core/Objects/CParticle.h index 15d54b6..b27fbfd 100644 --- a/src/WallpaperEngine/Core/Objects/CParticle.h +++ b/src/WallpaperEngine/Core/Objects/CParticle.h @@ -23,8 +23,8 @@ namespace WallpaperEngine::Core::Objects CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale + CUserSettingVector3* origin, + CUserSettingVector3* scale ); const std::vector& getEmitters () const; @@ -39,8 +39,8 @@ namespace WallpaperEngine::Core::Objects CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale + CUserSettingVector3* origin, + CUserSettingVector3* scale ); void insertControlPoint (Particles::CControlPoint* controlpoint); void insertEmitter (Particles::CEmitter* emitter); diff --git a/src/WallpaperEngine/Core/Objects/CSound.cpp b/src/WallpaperEngine/Core/Objects/CSound.cpp index c2fd1cb..8f66ace 100644 --- a/src/WallpaperEngine/Core/Objects/CSound.cpp +++ b/src/WallpaperEngine/Core/Objects/CSound.cpp @@ -8,8 +8,8 @@ CSound::CSound ( CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale, + CUserSettingVector3* origin, + CUserSettingVector3* scale, const glm::vec3& angles) : CObject (scene, visible, id, std::move(name), Type, origin, scale, angles) { @@ -21,8 +21,8 @@ WallpaperEngine::Core::CObject* CSound::fromJSON ( CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale, + CUserSettingVector3* origin, + CUserSettingVector3* scale, const glm::vec3& angles) { auto sound_it = jsonFindRequired (data, "sound", "Sound information not present"); diff --git a/src/WallpaperEngine/Core/Objects/CSound.h b/src/WallpaperEngine/Core/Objects/CSound.h index 812741a..a30b877 100644 --- a/src/WallpaperEngine/Core/Objects/CSound.h +++ b/src/WallpaperEngine/Core/Objects/CSound.h @@ -20,8 +20,8 @@ namespace WallpaperEngine::Core::Objects CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale, + CUserSettingVector3* origin, + CUserSettingVector3* scale, const glm::vec3& angles ); @@ -34,8 +34,8 @@ namespace WallpaperEngine::Core::Objects CUserSettingBoolean* visible, uint32_t id, std::string name, - const glm::vec3& origin, - const glm::vec3& scale, + CUserSettingVector3* origin, + CUserSettingVector3* scale, const glm::vec3& angles ); diff --git a/src/WallpaperEngine/Core/UserSettings/CUserSettingBoolean.cpp b/src/WallpaperEngine/Core/UserSettings/CUserSettingBoolean.cpp index 4f7d10e..70ea66d 100644 --- a/src/WallpaperEngine/Core/UserSettings/CUserSettingBoolean.cpp +++ b/src/WallpaperEngine/Core/UserSettings/CUserSettingBoolean.cpp @@ -50,7 +50,7 @@ CUserSettingBoolean* CUserSettingBoolean::fromJSON (nlohmann::json& data) } else { - fprintf (stderr, "Boolean property doesn't have user member, this could mean an scripted value"); + fprintf (stderr, "Boolean property doesn't have user member, this could mean an scripted value\n"); } } else diff --git a/src/WallpaperEngine/Core/UserSettings/CUserSettingFloat.cpp b/src/WallpaperEngine/Core/UserSettings/CUserSettingFloat.cpp index 5812761..1a25a94 100644 --- a/src/WallpaperEngine/Core/UserSettings/CUserSettingFloat.cpp +++ b/src/WallpaperEngine/Core/UserSettings/CUserSettingFloat.cpp @@ -47,7 +47,7 @@ CUserSettingFloat* CUserSettingFloat::fromJSON (nlohmann::json& data) } else { - fprintf (stderr, "Boolean property doesn't have user member, this could mean an scripted value"); + fprintf (stderr, "Boolean property doesn't have user member, this could mean an scripted value\n"); } } else diff --git a/src/WallpaperEngine/Core/UserSettings/CUserSettingColor.cpp b/src/WallpaperEngine/Core/UserSettings/CUserSettingVector3.cpp similarity index 70% rename from src/WallpaperEngine/Core/UserSettings/CUserSettingColor.cpp rename to src/WallpaperEngine/Core/UserSettings/CUserSettingVector3.cpp index 974503f..95fb98c 100644 --- a/src/WallpaperEngine/Core/UserSettings/CUserSettingColor.cpp +++ b/src/WallpaperEngine/Core/UserSettings/CUserSettingVector3.cpp @@ -1,14 +1,15 @@ -#include "CUserSettingColor.h" +#include "CUserSettingVector3.h" #include "WallpaperEngine/Core/Core.h" #include "WallpaperEngine/Core/Projects/CProperty.h" #include "WallpaperEngine/Core/Projects/CPropertyColor.h" +#include "WallpaperEngine/Core/Projects/CPropertySlider.h" using namespace WallpaperEngine::Core; using namespace WallpaperEngine::Core::Projects; using namespace WallpaperEngine::Core::UserSettings; -CUserSettingColor::CUserSettingColor (bool hasCondition, bool hasSource, glm::vec3 defaultValue, std::string source, std::string expectedValue) : +CUserSettingVector3::CUserSettingVector3 (bool hasCondition, bool hasSource, glm::vec3 defaultValue, std::string source, std::string expectedValue) : CUserSettingValue (Type), m_hasCondition (hasCondition), m_hasSource(hasSource), @@ -18,7 +19,7 @@ CUserSettingColor::CUserSettingColor (bool hasCondition, bool hasSource, glm::ve { } -CUserSettingColor* CUserSettingColor::fromJSON (nlohmann::json& data) +CUserSettingVector3* CUserSettingVector3::fromJSON (nlohmann::json& data) { bool hasCondition = false; bool hasSource = false; @@ -58,20 +59,20 @@ CUserSettingColor* CUserSettingColor::fromJSON (nlohmann::json& data) defaultValue = WallpaperEngine::Core::aToColorf (data.get ().c_str ()); } - return new CUserSettingColor (hasCondition, hasSource, defaultValue, source, expectedValue); + return new CUserSettingVector3 (hasCondition, hasSource, defaultValue, source, expectedValue); } -CUserSettingColor* CUserSettingColor::fromScalar (glm::vec3 value) +CUserSettingVector3* CUserSettingVector3::fromScalar (glm::vec3 value) { - return new CUserSettingColor (false, false, value, "", ""); + return new CUserSettingVector3 (false, false, value, "", ""); } -glm::vec3 CUserSettingColor::getDefaultValue () +glm::vec3 CUserSettingVector3::getDefaultValue () { return this->m_default; } -glm::vec3 CUserSettingColor::processValue (const std::vector& properties) +glm::vec3 CUserSettingVector3::processValue (const std::vector& properties) { if (this->m_hasSource == false && this->m_hasCondition == false) return this->getDefaultValue (); @@ -85,6 +86,12 @@ glm::vec3 CUserSettingColor::processValue (const std::vectoris ()) return cur->as ()->getValue (); + if (cur->is ()) + return { + cur->as ()->getValue (), + cur->as ()->getValue (), + cur->as ()->getValue () + }; throw std::runtime_error ("Property without condition must match type (color)"); } @@ -95,4 +102,4 @@ glm::vec3 CUserSettingColor::processValue (const std::vectorm_default; } -std::string CUserSettingColor::Type = "color"; \ No newline at end of file +std::string CUserSettingVector3::Type = "color"; \ No newline at end of file diff --git a/src/WallpaperEngine/Core/UserSettings/CUserSettingColor.h b/src/WallpaperEngine/Core/UserSettings/CUserSettingVector3.h similarity index 62% rename from src/WallpaperEngine/Core/UserSettings/CUserSettingColor.h rename to src/WallpaperEngine/Core/UserSettings/CUserSettingVector3.h index 929971c..4d4f49f 100644 --- a/src/WallpaperEngine/Core/UserSettings/CUserSettingColor.h +++ b/src/WallpaperEngine/Core/UserSettings/CUserSettingVector3.h @@ -11,18 +11,18 @@ namespace WallpaperEngine::Core::Projects namespace WallpaperEngine::Core::UserSettings { - class CUserSettingColor : public CUserSettingValue + class CUserSettingVector3 : public CUserSettingValue { public: - static CUserSettingColor* fromJSON (nlohmann::json& data); - static CUserSettingColor* fromScalar (glm::vec3 value); + static CUserSettingVector3* fromJSON (nlohmann::json& data); + static CUserSettingVector3* fromScalar (glm::vec3 value); static std::string Type; glm::vec3 processValue (const std::vector& properties); glm::vec3 getDefaultValue (); private: - CUserSettingColor (bool hasCondition, bool hasSource, glm::vec3 defaultValue, std::string source, std::string expectedValue); + CUserSettingVector3 (bool hasCondition, bool hasSource, glm::vec3 defaultValue, std::string source, std::string expectedValue); glm::vec3 m_default; bool m_hasCondition;