Horizon
Loading...
Searching...
No Matches
tool_generate_silkscreen.hpp
1#pragma once
2#include "core/tool.hpp"
3#include "clipper/clipper.hpp"
4
5namespace horizon {
6
8public:
9 using ToolBase::ToolBase;
10 ToolResponse begin(const ToolArgs &args) override;
11 ToolResponse update(const ToolArgs &args) override;
12 bool can_begin() override;
13 bool is_specific() override
14 {
15 return false;
16 }
17
18 class Settings : public ToolSettings {
19 public:
20 json serialize() const override;
21 void load_from_json(const json &j) override;
22 void load_defaults();
23 int64_t expand_silk = .2_mm;
24 int64_t expand_pad = .2_mm;
25 int64_t line_width = .15_mm;
26 };
27
28 ToolSettings *get_settings() override
29 {
30 return &settings;
31 }
32
33 std::set<InToolActionID> get_actions() const override
34 {
35 using I = InToolActionID;
36 return {
37 I::LMB,
38 I::CANCEL,
39 };
40 }
41
42private:
43 bool select_polygon();
44 ToolResponse redraw_silkscreen();
45 void clear_silkscreen();
46 void restore_package_visibility();
47
48 class GenerateSilkscreenWindow *win = nullptr;
49 Settings settings;
50 const class Polygon *pp;
51 bool package_visible;
52 ClipperLib::Path path_pkg;
53 ClipperLib::Paths pads;
54};
55} // namespace horizon
This is what a Tool receives when the user did something.
Definition tool_pub.hpp:23
Common interface for all Tools.
Definition tool_pub.hpp:94
Definition tool_generate_silkscreen.hpp:18
Definition tool_generate_silkscreen.hpp:7
ToolResponse begin(const ToolArgs &args) override
Gets called right after the constructor has finished.
Definition tool_generate_silkscreen.cpp:149
ToolResponse update(const ToolArgs &args) override
Gets called whenever the user generated some sort of input.
Definition tool_generate_silkscreen.cpp:221
bool can_begin() override
Definition tool_generate_silkscreen.cpp:36
bool is_specific() override
Definition tool_generate_silkscreen.hpp:13
To signal back to the core what the Tool did, a Tool returns a ToolResponse.
Definition tool_pub.hpp:40
Definition tool_pub.hpp:82
a class to store JSON values
Definition json.hpp:177