Horizon
src
core
tools
tool_paste.hpp
1
#pragma once
2
#include "core/tool.hpp"
3
#include "tool_helper_merge.hpp"
4
#include "tool_helper_move.hpp"
5
#include "nlohmann/json.hpp"
6
7
namespace
horizon {
8
9
class
ToolPaste
:
public
ToolHelperMove
,
public
ToolHelperMerge
{
10
public
:
11
ToolPaste
(
IDocument
*c, ToolID tid);
12
ToolResponse
begin
(
const
ToolArgs
&args)
override
;
13
ToolResponse
update
(
const
ToolArgs
&args)
override
;
14
bool
can_begin
()
override
;
15
bool
is_specific
()
override
;
16
17
private
:
18
void
fix_layer(
int
&la);
19
void
apply_shift(
Coordi
&c,
const
Coordi
&cursor_pos);
20
Coordi
shift;
21
json
paste_data;
22
ToolResponse
begin_paste(
const
json
&j,
const
Coordi
&cursor_pos);
23
void
update_tip();
24
};
25
}
// namespace horizon
horizon::ToolPaste::update
ToolResponse update(const ToolArgs &args) override
Gets called whenever the user generated some sort of input.
Definition:
tool_paste.cpp:477
horizon::IDocument
Definition:
idocument.hpp:5
horizon::ToolPaste::is_specific
bool is_specific() override
Definition:
tool_paste.cpp:32
horizon::ToolHelperMove
Definition:
tool_helper_move.hpp:6
horizon::ToolPaste::begin
ToolResponse begin(const ToolArgs &args) override
Gets called right after the constructor has finished.
Definition:
tool_paste.cpp:435
horizon::ToolPaste::can_begin
bool can_begin() override
Definition:
tool_paste.cpp:24
horizon::Coord< int64_t >
horizon::ToolPaste
Definition:
tool_paste.hpp:9
nlohmann::basic_json
a class to store JSON values
Definition:
json.hpp:165
horizon::ToolResponse
To signal back to the core what the Tool did, a Tool returns a ToolResponse.
Definition:
tool.hpp:48
horizon::ToolArgs
This is what a Tool receives when the user did something.
Definition:
tool.hpp:22
horizon::ToolHelperMerge
Definition:
tool_helper_merge.hpp:5
Generated by
1.8.17