Horizon
src
core
tool_draw_arc.hpp
1
#pragma once
2
#include "core.hpp"
3
4
namespace
horizon
{
5
6
class
ToolDrawArc
:
public
ToolBase
{
7
public
:
8
ToolDrawArc
(
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
enum class
DrawArcState { FROM, TO, CENTER };
15
DrawArcState state;
16
Junction
*temp_junc = 0;
17
Junction
*from_junc = 0;
18
Junction
*to_junc = 0;
19
Arc
*temp_arc = 0;
20
Junction
*make_junction(
const
Coordi
&coords);
21
void
update_tip();
22
};
23
}
// namespace horizon
horizon::ToolDrawArc::can_begin
bool can_begin() override
Definition:
tool_draw_arc.cpp:11
horizon::ToolDrawArc::begin
ToolResponse begin(const ToolArgs &args) override
Gets called right after the constructor has finished.
Definition:
tool_draw_arc.cpp:25
horizon::ToolArgs
This is what a Tool receives when the user did something.
Definition:
core.hpp:108
horizon::ToolDrawArc::update
ToolResponse update(const ToolArgs &args) override
Gets called whenever the user generated some sort of input.
Definition:
tool_draw_arc.cpp:55
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::Junction
A Junction is a point in 2D-Space.
Definition:
junction.hpp:25
horizon::ToolDrawArc
Definition:
tool_draw_arc.hpp:6
horizon::Coord< int64_t >
horizon::Arc
Graphical arc.
Definition:
arc.hpp:20
Generated by
1.8.13