diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2019-02-11 20:07:41 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2019-02-11 20:21:36 +0100 |
commit | 85fc6ac25d350950be56ba47b06c247216f2e22a (patch) | |
tree | 6a4b4a65e9084c9595c28c4045824376a8c577d3 /video/video-widget.hpp | |
parent | 5d6cccb406e4aa4fe3e8430690296e5f59474e48 (diff) |
video/widget: externalize opencv code
Diffstat (limited to 'video/video-widget.hpp')
-rw-r--r-- | video/video-widget.hpp | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/video/video-widget.hpp b/video/video-widget.hpp index b610557d..563f468c 100644 --- a/video/video-widget.hpp +++ b/video/video-widget.hpp @@ -8,45 +8,38 @@ #pragma once #include "compat/math.hpp" +#include "export.hpp" #include <vector> -#ifdef OTR_VIDEO_HAS_OPENCV -# include <opencv2/core.hpp> -#endif - #include <QWidget> #include <QTimer> #include <QMutex> -class cv_video_widget final : public QWidget +class OTR_VIDEO_EXPORT video_widget : public QWidget { Q_OBJECT public: - cv_video_widget(QWidget *parent); + video_widget(QWidget* parent = nullptr); -#ifdef OTR_VIDEO_HAS_OPENCV - void update_image(const cv::Mat& frame); -#endif void update_image(const QImage& image); void get_preview_size(int& w, int& h); void resizeEvent(QResizeEvent*) override; -private slots: +protected slots: void paintEvent(QPaintEvent*) override; void update_and_repaint(); private: + QTimer timer; + +protected: QMutex mtx { QMutex::Recursive }; QImage texture; std::vector<unsigned char> vec; - QTimer timer; -#ifdef OTR_VIDEO_HAS_OPENCV - cv::Mat frame2, frame3; -#endif bool freshp = false; - int W = iround(QWidget::width() * devicePixelRatioF()); + int W = iround(QWidget::width() * devicePixelRatioF()); int H = iround(QWidget::height() * devicePixelRatioF()); void init_image_nolock(); |