Horizon
src
core
tools
tool_place_pad.hpp
1
#pragma once
2
#include "core/tool.hpp"
3
#include "package/pad.hpp"
4
5
namespace
horizon {
6
class
ToolPlacePad :
public
ToolBase {
7
public
:
8
ToolPlacePad(IDocument *c, ToolID tid);
9
ToolResponse
begin
(
const
ToolArgs
&args)
override
;
10
ToolResponse
update
(
const
ToolArgs
&args)
override
;
11
bool
can_begin
()
override
;
12
std::set<InToolActionID> get_actions()
const override
13
{
14
using
I = InToolActionID;
15
return
{
16
I::LMB, I::CANCEL, I::RMB, I::ROTATE, I::EDIT,
17
};
18
}
19
20
private
:
21
const
Padstack *padstack =
nullptr
;
22
Pad *temp =
nullptr
;
23
void
create_pad(
const
Coordi &c);
24
};
25
}
// namespace horizon
horizon::ToolPlacePad::update
ToolResponse update(const ToolArgs &args) override
Gets called whenever the user generated some sort of input.
horizon::ToolPlacePad::can_begin
bool can_begin() override
horizon::ToolResponse
To signal back to the core what the Tool did, a Tool returns a ToolResponse.
Definition:
tool.hpp:42
horizon::ToolArgs
This is what a Tool receives when the user did something.
Definition:
tool.hpp:23
horizon::ToolPlacePad::begin
ToolResponse begin(const ToolArgs &args) override
Gets called right after the constructor has finished.
Generated by
1.8.20