Horizon
src
core
tool_draw_line_rectangle.hpp
1
#pragma once
2
#include "core.hpp"
3
4
namespace
horizon
{
5
6
class
ToolDrawLineRectangle
:
public
ToolBase
{
7
public
:
8
ToolDrawLineRectangle
(
Core
*c, ToolID tid);
9
ToolResponse
begin
(
const
ToolArgs
&args)
override
;
10
ToolResponse
update
(
const
ToolArgs
&args)
override
;
11
bool
can_begin
()
override
;
12
13
private
:
14
std::set<class Line *> lines;
15
enum class
Mode { CENTER, CORNER };
16
17
Mode mode = Mode::CENTER;
18
Coordi
first_pos;
19
Coordi
second_pos;
20
int
step = 0;
21
22
std::array<class Junction *, 4> junctions;
23
24
void
update_junctions();
25
void
update_tip();
26
};
27
}
// namespace horizon
horizon::ToolDrawLineRectangle
Definition:
tool_draw_line_rectangle.hpp:6
horizon::ToolArgs
This is what a Tool receives when the user did something.
Definition:
core.hpp:108
horizon::ToolDrawLineRectangle::can_begin
bool can_begin() override
Definition:
tool_draw_line_rectangle.cpp:12
horizon::ToolDrawLineRectangle::begin
ToolResponse begin(const ToolArgs &args) override
Gets called right after the constructor has finished.
Definition:
tool_draw_line_rectangle.cpp:40
horizon::ToolDrawLineRectangle::update
ToolResponse update(const ToolArgs &args) override
Gets called whenever the user generated some sort of input.
Definition:
tool_draw_line_rectangle.cpp:97
horizon::Core
Where Tools and and documents meet.
Definition:
core.hpp:249
horizon::ToolResponse
To signal back to the core what the Tool did, a Tool returns a ToolResponse.
Definition:
core.hpp:126
horizon
Definition:
block.cpp:7
horizon::ToolBase
Common interface for all Tools.
Definition:
core.hpp:170
horizon::Coord< int64_t >
Generated by
1.8.13