public:
GLWidget(QWidget *parent = 0);
+ ~GLWidget();
void set_output(Mixer::Output output)
{
this->output = output;
}
- void clean_context();
+ void shutdown();
+
+ // NOTE: Will make the white balance flicker for a frame.
+ void grab_white_balance(unsigned channel, unsigned x, unsigned y);
protected:
void initializeGL() override;
void color_updated(Mixer::Output output, const std::string &color);
private slots:
+ void show_context_menu(const QPoint &pos);
+
+private:
void show_live_context_menu(const QPoint &pos);
void show_preview_context_menu(unsigned signal_num, const QPoint &pos);
-private:
Mixer::Output output;
GLuint vao, program_num;
GLuint position_vbo, texcoord_vbo;
movit::ResourcePool *resource_pool = nullptr;
+ int current_width = 1, current_height = 1;
+ bool should_grab = false;
+ unsigned grab_x, grab_y;
+ Mixer::Output grab_output; // Should nominally be the same as output.
};
#endif