Horizon
pdf_export_settings.hpp
1 #pragma once
2 #include "nlohmann/json_fwd.hpp"
3 #include "common.hpp"
4 #include <vector>
5 
6 namespace horizon {
7 using json = nlohmann::json;
8 
10 public:
11  PDFExportSettings(const json &);
13  json serialize_schematic() const;
14  json serialize_board() const;
15 
16  std::string output_filename;
17 
18  uint64_t min_line_width = 0;
19 
20  bool reverse_layers = false;
21  bool mirror = false;
22  bool include_text = true;
23 
24  class Layer {
25  public:
26  Layer(int l, const json &j);
27  Layer();
28  enum class Mode { FILL, OUTLINE };
29  Layer(int layer, const Color &color, Mode mode, bool enabled);
30  json serialize() const;
31 
32  int layer;
33  Color color;
34 
35  Mode mode = Mode::FILL;
36  bool enabled = true;
37  };
38 
39  std::map<int, Layer> layers;
40 };
41 } // namespace horizon
horizon::PDFExportSettings::Layer
Definition: pdf_export_settings.hpp:24
horizon::Color
Definition: common.hpp:220
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
horizon::PDFExportSettings
Definition: pdf_export_settings.hpp:9
libzip::uint64_t
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition: zip.hpp:108