23 // Note: We use the older QGLWidget instead of QOpenGLWidget as it is
24 // much faster (does not go through a separate offscreen rendering step).
26 // TODO: Consider if QOpenGLWindow could do what we want.
27 class GLWidget : public QGLWidget
32 GLWidget(QWidget *parent = 0);
35 void set_output(Mixer::Output output)
37 this->output = output;
43 void initializeGL() override;
44 void resizeGL(int width, int height) override;
45 void paintGL() override;
46 void mousePressEvent(QMouseEvent *event) override;
50 void transition_names_updated(std::vector<std::string> transition_names);
51 void name_updated(Mixer::Output output, const std::string &name);
52 void color_updated(Mixer::Output output, const std::string &color);
55 void show_context_menu(const QPoint &pos);
58 void show_live_context_menu(const QPoint &pos);
59 void show_preview_context_menu(unsigned signal_num, const QPoint &pos);
62 GLuint vao, program_num;
63 GLuint position_vbo, texcoord_vbo;
64 movit::ResourcePool *resource_pool = nullptr;
65 int current_width = 1, current_height = 1;