Horizon
preview_canvas.hpp
1 #pragma once
2 #include "util/uuid.hpp"
3 #include "util/placement.hpp"
4 #include <gtkmm.h>
5 
6 namespace horizon {
7 class PreviewCanvas : public Gtk::Overlay {
8 public:
9  PreviewCanvas(class IPool &pool, bool layered);
10  void load(ObjectType ty, const UUID &uu, const Placement &pl = Placement(), bool fit = true);
11  void load_symbol(const UUID &uu, const Placement &pl = Placement(), bool fit = true, const UUID &uu_part = UUID(),
12  const UUID &uu_gate = UUID());
13  void load(class Package &pkg, bool fit = true);
14  class CanvasGL &get_canvas();
15  void set_has_scale(bool has_scale);
16  void clear();
17 
18 private:
19  class IPool &pool;
20  class CanvasGL *canvas = nullptr;
21  Gtk::Label *scale_label = nullptr;
22  Gtk::Frame *frame = nullptr;
23  class ScaleBar *scale_bar = nullptr;
24  bool update_scale();
25  void update_scale_deferred();
26  sigc::connection timeout_connection;
27 };
28 } // namespace horizon
horizon::ScaleBar
Definition: preview_canvas.cpp:17
horizon::PreviewCanvas
Definition: preview_canvas.hpp:7
horizon::CanvasGL
Definition: canvas_gl.hpp:18
horizon::IPool
Definition: ipool.hpp:12
horizon::Package
Definition: package.hpp:29
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
horizon::Placement
Definition: placement.hpp:8