summaryrefslogtreecommitdiffstats
path: root/src/multimedia/base/qpaintervideosurface_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/base/qpaintervideosurface_p.h')
-rw-r--r--src/multimedia/base/qpaintervideosurface_p.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/multimedia/base/qpaintervideosurface_p.h b/src/multimedia/base/qpaintervideosurface_p.h
index d4b6740..caba3ba 100644
--- a/src/multimedia/base/qpaintervideosurface_p.h
+++ b/src/multimedia/base/qpaintervideosurface_p.h
@@ -67,8 +67,28 @@ QT_BEGIN_NAMESPACE
class QGLContext;
+class QVideoSurfacePainter
+{
+public:
+ virtual ~QVideoSurfacePainter();
+
+ virtual QList<QVideoFrame::PixelFormat> supportedPixelFormats(
+ QAbstractVideoBuffer::HandleType handleType) const = 0;
+
+ virtual bool isFormatSupported(
+ const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const = 0;
+
+ virtual QAbstractVideoSurface::Error start(const QVideoSurfaceFormat &format) = 0;
+ virtual void stop() = 0;
+
+ virtual QAbstractVideoSurface::Error setCurrentFrame(const QVideoFrame &frame) = 0;
+
+ virtual QAbstractVideoSurface::Error paint(
+ const QRectF &target, QPainter *painter, const QRectF &source) = 0;
+
+ virtual void updateColors(int brightness, int contrast, int hue, int saturation) = 0;
+};
-class QVideoSurfacePainter;
class Q_MULTIMEDIA_EXPORT QPainterVideoSurface : public QAbstractVideoSurface
{
Q_OBJECT