2 #include "common/polygon.hpp"
3 #include "core/tool.hpp"
4 #include "tool_helper_restrict.hpp"
8 class ToolDrawPolygon :
public ToolBase,
public ToolHelperRestrict {
10 ToolDrawPolygon(IDocument *c, ToolID tid);
14 std::set<InToolActionID> get_actions()
const override
16 using I = InToolActionID;
18 I::LMB, I::CANCEL, I::RMB, I::FLIP_ARC, I::TOGGLE_ARC, I::RESTRICT,
23 Polygon *temp =
nullptr;
24 Polygon::Vertex *vertex =
nullptr;
25 Polygon::Vertex *last_vertex =
nullptr;
26 enum class ArcMode { OFF, NEXT, CURRENT };
27 ArcMode arc_mode = ArcMode::OFF;
29 void update_vertex(
const Coordi &c);
30 void set_snap_filter();