Horizon
Loading...
Searching...
No Matches
pdf_export_settings.hpp
1#pragma once
2#include "nlohmann/json_fwd.hpp"
3#include "common.hpp"
4#include <vector>
5
6namespace horizon {
7using json = nlohmann::json;
8
10public:
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 bool set_holes_size = false;
25 uint64_t holes_diameter = 0;
26
27 enum { HOLES_LAYER = 10000 };
28
29 class Layer {
30 public:
31 Layer(int l, const json &j);
32 Layer();
33 enum class Mode { FILL, OUTLINE };
34 Layer(int layer, const Color &color, Mode mode, bool enabled);
35 json serialize() const;
36
37 int layer;
38 Color color;
39
40 Mode mode = Mode::FILL;
41 bool enabled = true;
42 };
43
44 std::map<int, Layer> layers;
45};
46} // namespace horizon
Definition common.hpp:278
Definition pdf_export_settings.hpp:29
Definition pdf_export_settings.hpp:9
a class to store JSON values
Definition json.hpp:177
basic_json<> json
default JSON class
Definition json_fwd.hpp:62