diff options
Diffstat (limited to 'cv/video-widget.hpp')
-rw-r--r-- | cv/video-widget.hpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/cv/video-widget.hpp b/cv/video-widget.hpp new file mode 100644 index 00000000..2d5d673f --- /dev/null +++ b/cv/video-widget.hpp @@ -0,0 +1,39 @@ +/* Copyright (c) 2012 Patrick Ruoff + * Copyright (c) 2014-2016 Stanislaw Halik <sthalik@misaki.pl> + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + */ + +#pragma once + +#include "opentrack-compat/timer.hpp" +#include <opencv2/core/core.hpp> +#include <memory> +#include <QObject> +#include <QWidget> +#include <QPainter> +#include <QPaintEvent> +#include <QTimer> +#include <QMutex> +#include <QMutexLocker> +#include <QDebug> + +class cv_video_widget final : public QWidget +{ + Q_OBJECT +public: + cv_video_widget(QWidget *parent); + void update_image(const cv::Mat &frame); +protected slots: + void paintEvent(QPaintEvent*) override; + void update_and_repaint(); +private: + QMutex mtx; + QImage texture; + QTimer timer; + Timer window_check_timer; + cv::Mat _frame, _frame2, _frame3; + bool freshp, visible; +}; |