OpenShot Library | libopenshot  1.0.0
VideoRenderer.h
Go to the documentation of this file.
1 
9 // Copyright (c) 2008-2019 OpenShot Studios, LLC
10 //
11 // SPDX-License-Identifier: LGPL-3.0-or-later
12 
13 #ifndef OPENSHOT_VIDEO_RENDERER_H
14 #define OPENSHOT_VIDEO_RENDERER_H
15 
16 #include "../RendererBase.h"
17 #include <cstdint>
18 #include <QtCore/QMetaObject>
19 #include <QtCore/QObject>
20 #include <QtGui/QImage>
21 #include <memory>
22 
23 
24 class QPainter;
25 class QWidget;
26 
27 class VideoRenderer : public QObject, public openshot::RendererBase
28 {
29  Q_OBJECT
30 
31 public:
32  VideoRenderer(QObject *parent = 0);
34 
36  void OverrideWidget(uintptr_t qwidget_address);
37 
38 signals:
39  void present(const QImage &image);
40 
41 protected:
42  //void render(openshot::OSPixelFormat format, int width, int height, int bytesPerLine, unsigned char *data);
43  void render(std::shared_ptr<QImage> image);
44 
45 private slots:
46 
47 private:
48  QWidget* override_widget;
49  QMetaObject::Connection override_present_connection;
50 };
51 
52 #endif //OPENSHOT_VIDEO_RENDERER_H
void present(const QImage &image)
void render(std::shared_ptr< QImage > image)
VideoRenderer(QObject *parent=0)
void OverrideWidget(uintptr_t qwidget_address)
Override QWidget which needs to be painted.
This is the base class of all Renderers in libopenshot.
Definition: RendererBase.h:32