diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2024-12-03 18:58:24 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-03 18:58:24 +0000 |
| commit | 320144ae7288fe23686935ebb235d9fe0c900862 (patch) | |
| tree | 351b04e228926f98c12c340284c25450bb1fed4f /src/config/ConfigDataValues.hpp | |
| parent | 92186898c0ca1b3f72922b72c4af1723f0d9b888 (diff) | |
core: move colorspace handling to oklab (#8635)
* Meson: add hyprgraphics
* Nix: add hyprgraphics
* CI/setup_base: get hyprgraphics-git
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
Diffstat (limited to 'src/config/ConfigDataValues.hpp')
| -rw-r--r-- | src/config/ConfigDataValues.hpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/config/ConfigDataValues.hpp b/src/config/ConfigDataValues.hpp index 37c9fc92..212f26fa 100644 --- a/src/config/ConfigDataValues.hpp +++ b/src/config/ConfigDataValues.hpp @@ -21,8 +21,9 @@ class ICustomConfigValueData { class CGradientValueData : public ICustomConfigValueData { public: CGradientValueData() {}; - CGradientValueData(CColor col) { + CGradientValueData(CHyprColor col) { m_vColors.push_back(col); + updateColorsOk(); }; virtual ~CGradientValueData() {}; @@ -30,14 +31,29 @@ class CGradientValueData : public ICustomConfigValueData { return CVD_TYPE_GRADIENT; } - void reset(CColor col) { + void reset(CHyprColor col) { m_vColors.clear(); m_vColors.emplace_back(col); m_fAngle = 0; + updateColorsOk(); + } + + void updateColorsOk() { + m_vColorsOkLabA.clear(); + for (auto& c : m_vColors) { + const auto OKLAB = c.asOkLab(); + m_vColorsOkLabA.emplace_back(OKLAB.l); + m_vColorsOkLabA.emplace_back(OKLAB.a); + m_vColorsOkLabA.emplace_back(OKLAB.b); + m_vColorsOkLabA.emplace_back(c.a); + } } /* Vector containing the colors */ - std::vector<CColor> m_vColors; + std::vector<CHyprColor> m_vColors; + + /* Vector containing pure colors for shoving into opengl */ + std::vector<float> m_vColorsOkLabA; /* Float corresponding to the angle (rad) */ float m_fAngle = 0; |
