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