Horizon
board_decal.hpp
1 #pragma once
2 #include "nlohmann/json_fwd.hpp"
3 #include "pool/decal.hpp"
4 #include "util/placement.hpp"
5 #include "util/uuid.hpp"
6 #include "util/uuid_ptr.hpp"
7 
8 namespace horizon {
9 using json = nlohmann::json;
10 
11 class BoardDecal {
12 public:
13  BoardDecal(const UUID &uu, const json &, class IPool &pool);
14  BoardDecal(const UUID &uu);
15  UUID uuid;
16 
17  const Decal *pool_decal;
18  Decal decal;
19 
20  Placement placement;
21  bool flip = false;
22  double scale = 1;
23 
24  void apply_scale();
25 
26  UUID get_uuid() const;
27  json serialize() const;
28 };
29 } // namespace horizon
nlohmann::basic_json
a class to store JSON values
Definition: json.hpp:166
nlohmann::json
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61