File indexing completed on 2024-05-19 04:45:39

0001 /*
0002  * SPDX-FileCopyrightText: 2023 George Florea Bănuș <georgefb899@gmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005  */
0006 
0007 #ifndef MPVRENDERER_H
0008 #define MPVRENDERER_H
0009 
0010 #include <QtQuick/QQuickFramebufferObject>
0011 
0012 class MpvAbstractItem;
0013 
0014 class MpvRenderer : public QQuickFramebufferObject::Renderer
0015 {
0016 public:
0017     explicit MpvRenderer(MpvAbstractItem *new_obj);
0018     ~MpvRenderer() = default;
0019 
0020     MpvAbstractItem *m_mpvAItem{nullptr};
0021 
0022     // This function is called when a new FBO is needed.
0023     // This happens on the initial frame.
0024     QOpenGLFramebufferObject *createFramebufferObject(const QSize &size) override;
0025 
0026     void render() override;
0027 };
0028 
0029 #endif // MPVRENDERER_H