#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