8#include <nlohmann/json.hpp>
30 this->
m_shape = std::move(e.m_shape);
37 this->
m_shape = std::move(e.m_shape);
49 nlohmann::json json =
"{}"_json;
51 json[
"fragments"] =
m_shape.fragments();
52 json[
"radii"][
"x"] =
m_shape.radii().x;
53 json[
"radii"][
"y"] =
m_shape.radii().y;
54 json[
"colour"][
"r"] =
m_shape.m_colour.r<std::uint8_t>();
55 json[
"colour"][
"g"] =
m_shape.m_colour.g<std::uint8_t>();
56 json[
"colour"][
"b"] =
m_shape.m_colour.b<std::uint8_t>();
57 json[
"colour"][
"a"] =
m_shape.m_colour.a<std::uint8_t>();
64 const auto& col = json.at(
"colour");
65 m_shape.m_colour.set_r(col.at(
"r").get<std::uint8_t>());
66 m_shape.m_colour.set_g(col.at(
"g").get<std::uint8_t>());
67 m_shape.m_colour.set_b(col.at(
"b").get<std::uint8_t>());
68 m_shape.m_colour.set_a(col.at(
"a").get<std::uint8_t>());
71 const auto& rad = json.at(
"radii");
72 radii.x = rad.at(
"x");
73 radii.y = rad.at(
"y");
75 m_shape.create(json.at(
"fragments"), radii);
graphics::Ellipse m_shape
Shape.
virtual ~Ellipse()
Destructor.
Ellipse & operator=(Ellipse &&)
Move assignment operator.
void deserialize(const nlohmann::json &json) override
Deserializes from object.
nlohmann::json serialize() override
Serializes object.