Horizon
Loading...
Searching...
No Matches
imp_layer.hpp
1#pragma once
2#include "imp.hpp"
3
4namespace horizon {
5class ImpLayer : public ImpBase {
6 friend class ImpInterface;
7
8public:
9 using ImpBase::ImpBase;
10
11 bool is_layered() const override
12 {
13 return true;
14 };
15
16protected:
17 void construct_layer_box(bool pack = true);
18 class LayerBox *layer_box;
19 Glib::RefPtr<Glib::Binding> work_layer_binding;
20 Glib::RefPtr<Glib::Binding> layer_opacity_binding;
21 void apply_preferences() override;
22 void get_save_meta(json &j) override;
23 virtual void load_default_layers();
24 void add_view_angle_actions();
25
26 const CanvasPreferences &get_canvas_preferences() override
27 {
28 return preferences.canvas_layer;
29 }
30
31 void handle_extra_button(const GdkEventButton *button_event) override;
32
33 ~ImpLayer()
34 {
35 }
36
37 std::vector<std::string> get_view_hints() override;
38
39 int view_angle = 1;
40 void set_view_angle(int angle);
41 Gtk::Label *view_angle_label = nullptr;
42 Gtk::Button *view_angle_button = nullptr;
43
44 class ViewAngleWindow *view_angle_window = nullptr;
45 sigc::connection view_angle_window_conn;
46};
47} // namespace horizon
Definition preferences.hpp:16
Definition imp.hpp:36
Definition imp_interface.hpp:12
Definition imp_layer.hpp:5
Definition layer_box.hpp:7
Definition view_angle_window.hpp:5
a class to store JSON values
Definition json.hpp:177