Horizon
tool_helper_line_width_setting.hpp
1 #pragma once
2 #include "core.hpp"
3 
4 namespace horizon {
5 
7 public:
8  ToolHelperLineWidthSetting(Core *c, ToolID tid);
9  class Settings : public ToolSettings {
10  public:
11  json serialize() const override;
12  void load_from_json(const json &j) override;
13  uint64_t width = 0;
14  };
15 
16  const ToolSettings *get_settings_const() const override
17  {
18  return &settings;
19  }
20 
21  ToolID get_tool_id_for_settings() const override
22  {
23  return ToolID::DRAW_LINE;
24  }
25 
26 protected:
27  ToolSettings *get_settings() override
28  {
29  return &settings;
30  }
31  void ask_line_width();
32 
33  Settings settings;
34 };
35 } // namespace horizon
horizon::ToolSettings
Definition: core.hpp:104
libzip::uint64_t
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition: zip.hpp:108
horizon::ToolHelperLineWidthSetting::Settings
Definition: tool_helper_line_width_setting.hpp:9
horizon::ToolHelperLineWidthSetting
Definition: tool_helper_line_width_setting.hpp:6
horizon::Core
Where Tools and and documents meet.
Definition: core.hpp:240
nlohmann::basic_json
a class to store JSON values
Definition: json.hpp:161
horizon::ToolBase
Common interface for all Tools.
Definition: core.hpp:141