/* Copyright (c) 2012 Patrick Ruoff * * 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. */ #ifndef VIDEOWIDGET_H #define VIDEOWIDGET_H #include #include #include #include #include #include #include #include // ---------------------------------------------------------------------------- class VideoWidget : public QWidget { Q_OBJECT public: VideoWidget(QWidget *parent) : QWidget(parent), mtx() { } void update_image(unsigned char* frame, int width, int height); protected slots: void paintEvent( QPaintEvent* e ) { QMutexLocker((QMutex*)&mtx); QPainter painter(this); painter.drawPixmap(e->rect(), pixmap); } private: QMutex mtx; QPixmap pixmap; }; #endif // VIDEOWIDGET_H