1 #pragma once
2 #include <epoxy/gl.h>
3 
4 namespace horizon {
5 class SelectablesRenderer {
6 public:
7     SelectablesRenderer(const class CanvasGL &ca, const class Selectables &sel);
8     void realize();
9     void render();
10     void push();
11 
12 private:
13     const CanvasGL &ca;
14     const Selectables &sel;
15 
16     GLuint program;
17     GLuint program_arc;
18     GLuint vao;
19     GLuint vbo;
20     GLuint ubo;
21     GLuint ebo;
22     unsigned int n_arc = 0;
23     unsigned int n_box = 0;
24 };
25 } // namespace horizon
26