1 // This is the definition of the QPyQuickFramebufferObject classes. 2 // 3 // Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com> 4 // 5 // This file is part of PyQt5. 6 // 7 // This file may be used under the terms of the GNU General Public License 8 // version 3.0 as published by the Free Software Foundation and appearing in 9 // the file LICENSE included in the packaging of this file. Please review the 10 // following information to ensure the GNU General Public License version 3.0 11 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. 12 // 13 // If you do not wish to use this file under the terms of the GPL version 3.0 14 // then you may purchase a commercial license. For more information contact 15 // info@riverbankcomputing.com. 16 // 17 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 18 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 19 20 21 #ifndef _QPYQUICKFRAMEBUFFEROBJECT_H 22 #define _QPYQUICKFRAMEBUFFEROBJECT_H 23 24 25 #include <Python.h> 26 27 #include <qqmlprivate.h> 28 #include <QByteArray> 29 #include <QMetaObject> 30 #include <QQuickItem> 31 32 #include "sipAPIQtQuick.h" 33 34 35 #if QT_VERSION >= 0x050200 36 37 class QPyQuickFramebufferObject : public sipQQuickFramebufferObject 38 { 39 public: 40 QPyQuickFramebufferObject(QQuickItem *parent = 0); 41 42 virtual int typeNr() const = 0; 43 44 static QQmlPrivate::RegisterType *addType(PyTypeObject *type, 45 const QMetaObject *mo, const QByteArray &ptr_name, 46 const QByteArray &list_name); 47 void createPyObject(QQuickItem *parent); 48 49 private: 50 QPyQuickFramebufferObject(const QPyQuickFramebufferObject &); 51 }; 52 53 54 // The canned type declarations. 55 #define QPYQUICKFRAMEBUFFEROBJECT_DECL(n) \ 56 class QPyQuickFramebufferObject##n : public QPyQuickFramebufferObject \ 57 { \ 58 public: \ 59 QPyQuickFramebufferObject##n(QQuickItem *parent = 0); \ 60 static QMetaObject staticMetaObject; \ 61 virtual const QMetaObject *metaObject() const; \ 62 virtual int typeNr() const {return n##U;} \ 63 private: \ 64 QPyQuickFramebufferObject##n(const QPyQuickFramebufferObject##n &); \ 65 } 66 67 68 QPYQUICKFRAMEBUFFEROBJECT_DECL(0); 69 QPYQUICKFRAMEBUFFEROBJECT_DECL(1); 70 QPYQUICKFRAMEBUFFEROBJECT_DECL(2); 71 QPYQUICKFRAMEBUFFEROBJECT_DECL(3); 72 QPYQUICKFRAMEBUFFEROBJECT_DECL(4); 73 QPYQUICKFRAMEBUFFEROBJECT_DECL(5); 74 QPYQUICKFRAMEBUFFEROBJECT_DECL(6); 75 QPYQUICKFRAMEBUFFEROBJECT_DECL(7); 76 QPYQUICKFRAMEBUFFEROBJECT_DECL(8); 77 QPYQUICKFRAMEBUFFEROBJECT_DECL(9); 78 QPYQUICKFRAMEBUFFEROBJECT_DECL(10); 79 QPYQUICKFRAMEBUFFEROBJECT_DECL(11); 80 QPYQUICKFRAMEBUFFEROBJECT_DECL(12); 81 QPYQUICKFRAMEBUFFEROBJECT_DECL(13); 82 QPYQUICKFRAMEBUFFEROBJECT_DECL(14); 83 QPYQUICKFRAMEBUFFEROBJECT_DECL(15); 84 QPYQUICKFRAMEBUFFEROBJECT_DECL(16); 85 QPYQUICKFRAMEBUFFEROBJECT_DECL(17); 86 QPYQUICKFRAMEBUFFEROBJECT_DECL(18); 87 QPYQUICKFRAMEBUFFEROBJECT_DECL(19); 88 QPYQUICKFRAMEBUFFEROBJECT_DECL(20); 89 QPYQUICKFRAMEBUFFEROBJECT_DECL(21); 90 QPYQUICKFRAMEBUFFEROBJECT_DECL(22); 91 QPYQUICKFRAMEBUFFEROBJECT_DECL(23); 92 QPYQUICKFRAMEBUFFEROBJECT_DECL(24); 93 QPYQUICKFRAMEBUFFEROBJECT_DECL(25); 94 QPYQUICKFRAMEBUFFEROBJECT_DECL(26); 95 QPYQUICKFRAMEBUFFEROBJECT_DECL(27); 96 QPYQUICKFRAMEBUFFEROBJECT_DECL(28); 97 QPYQUICKFRAMEBUFFEROBJECT_DECL(29); 98 99 #endif 100 101 102 #endif 103