Horizon
tool_helper_move.hpp
1 #pragma once
2 #include "core/tool.hpp"
3 #include "tool_helper_restrict.hpp"
4 
5 namespace horizon {
6 class ToolHelperMove : public virtual ToolBase, public ToolHelperRestrict {
7 public:
8  using ToolBase::ToolBase;
9 
10  static Orientation transform_orientation(Orientation orientation, bool rotate, bool reverse = false);
11 
12 protected:
13  void move_init(const Coordi &c);
14  void move_do(const Coordi &delta);
15  void move_do_cursor(const Coordi &c);
16  void move_mirror_or_rotate(const Coordi &center, bool rotate);
17 
18  Coordi get_delta() const;
19 
20 private:
21  Coordi last;
22  Coordi origin;
23 };
24 } // namespace horizon
Common interface for all Tools.
Definition: tool.hpp:121
Definition: tool_helper_move.hpp:6
Definition: tool_helper_restrict.hpp:6