From aa3f64947404b22695246f4bf880b1ce890c3a72 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 23 Nov 2023 19:21:50 +0100 Subject: serialize: fix test failure due to color serializer --- serialize/magnum-color.cpp | 33 --------------------------------- serialize/magnum-color.hpp | 27 +++++++-------------------- serialize/wall-atlas.cpp | 1 - 3 files changed, 7 insertions(+), 54 deletions(-) delete mode 100644 serialize/magnum-color.cpp diff --git a/serialize/magnum-color.cpp b/serialize/magnum-color.cpp deleted file mode 100644 index 390ce1f3..00000000 --- a/serialize/magnum-color.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "magnum-color.hpp" -#include -#include -#include - -namespace floormat { - -namespace { - -using c3_proxy = std::array; -using c4_proxy = std::array; -using c3ub_proxy = std::array; -using c4ub_proxy = std::array; - -} // namespace - -} // namespace floormat - -namespace nlohmann { - -using namespace floormat; - -void adl_serializer::to_json(json& val, const Color3& p) { val = c3_proxy { p[0], p[1], p[2] }; } -void adl_serializer::to_json(json& val, const Color3ub& p) { val = c3ub_proxy{ p[0], p[1], p[2] }; } -void adl_serializer::to_json(json& val, const Color4& p) { val = c4_proxy { p[0], p[1], p[2], p[3] }; } -void adl_serializer::to_json(json& val, const Color4ub& p) { val = c4ub_proxy{ p[0], p[1], p[2], p[3] }; } - -void adl_serializer::from_json(const json& j, Color3& val) { auto p = c3_proxy{j}; val = { p[0], p[1], p[2] }; } -void adl_serializer::from_json(const json& j, Color3ub& val) { auto p = c3ub_proxy{j}; val = { p[0], p[1], p[2] }; } -void adl_serializer::from_json(const json& j, Color4& val) { auto p = c4_proxy{j}; val = { p[0], p[1], p[2], p[3] }; } -void adl_serializer::from_json(const json& j, Color4ub& val) { auto p = c4ub_proxy{j}; val = { p[0], p[1], p[2], p[3] }; } - -} // namespace nlohmann diff --git a/serialize/magnum-color.hpp b/serialize/magnum-color.hpp index 863eb711..0b94e421 100644 --- a/serialize/magnum-color.hpp +++ b/serialize/magnum-color.hpp @@ -1,27 +1,14 @@ #pragma once +#include "magnum-vector.hpp" #include #include -template<> -struct nlohmann::adl_serializer { - static void to_json(json& j, const Magnum::Color3& val); - static void from_json(const json& j, Magnum::Color3& val); -}; +namespace nlohmann { -template<> -struct nlohmann::adl_serializer { - static void to_json(json& j, const Magnum::Color4& val); - static void from_json(const json& j, Magnum::Color4& val); -}; +template<> struct adl_serializer : nlohmann::adl_serializer> {}; +template<> struct adl_serializer : nlohmann::adl_serializer> {}; -template<> -struct nlohmann::adl_serializer { - static void to_json(json& j, const Magnum::Color3ub& val); - static void from_json(const json& j, Magnum::Color3ub& val); -}; +template<> struct adl_serializer : nlohmann::adl_serializer> {}; +template<> struct adl_serializer : nlohmann::adl_serializer> {}; -template<> -struct nlohmann::adl_serializer { - static void to_json(json& j, const Magnum::Color4ub& val); - static void from_json(const json& j, Magnum::Color4ub& val); -}; +} // namespace nlohmann diff --git a/serialize/wall-atlas.cpp b/serialize/wall-atlas.cpp index df656057..65a76126 100644 --- a/serialize/wall-atlas.cpp +++ b/serialize/wall-atlas.cpp @@ -6,7 +6,6 @@ #include "loader/loader.hpp" #include "pass-mode.hpp" #include "json-helper.hpp" -#include "magnum-color.hpp" #include #include #include -- cgit v1.2.3