qopenglcontext.sip 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // qopenglcontext.sip generated by MetaSIP
  2. //
  3. // This file is part of the QtGui Python extension module.
  4. //
  5. // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
  6. //
  7. // This file is part of PyQt6.
  8. //
  9. // This file may be used under the terms of the GNU General Public License
  10. // version 3.0 as published by the Free Software Foundation and appearing in
  11. // the file LICENSE included in the packaging of this file. Please review the
  12. // following information to ensure the GNU General Public License version 3.0
  13. // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
  14. //
  15. // If you do not wish to use this file under the terms of the GPL version 3.0
  16. // then you may purchase a commercial license. For more information contact
  17. // info@riverbankcomputing.com.
  18. //
  19. // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  20. // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  21. %If (PyQt_OpenGL)
  22. class QOpenGLContextGroup : public QObject
  23. {
  24. %TypeHeaderCode
  25. #include <qopenglcontext.h>
  26. %End
  27. public:
  28. virtual ~QOpenGLContextGroup();
  29. QList<QOpenGLContext *> shares() const;
  30. static QOpenGLContextGroup *currentContextGroup();
  31. private:
  32. QOpenGLContextGroup();
  33. };
  34. %End
  35. %If (PyQt_OpenGL)
  36. class QOpenGLContext : public QObject
  37. {
  38. %TypeHeaderCode
  39. #include <qopenglcontext.h>
  40. %End
  41. public:
  42. explicit QOpenGLContext(QObject *parent /TransferThis/ = 0);
  43. virtual ~QOpenGLContext();
  44. void setFormat(const QSurfaceFormat &format);
  45. void setShareContext(QOpenGLContext *shareContext);
  46. void setScreen(QScreen *screen);
  47. bool create();
  48. bool isValid() const;
  49. QSurfaceFormat format() const;
  50. QOpenGLContext *shareContext() const;
  51. QOpenGLContextGroup *shareGroup() const;
  52. QScreen *screen() const;
  53. GLuint defaultFramebufferObject() const;
  54. bool makeCurrent(QSurface *surface);
  55. void doneCurrent();
  56. void swapBuffers(QSurface *surface);
  57. QFunctionPointer getProcAddress(const QByteArray &procName) const;
  58. QSurface *surface() const;
  59. static QOpenGLContext *currentContext();
  60. static bool areSharing(QOpenGLContext *first, QOpenGLContext *second);
  61. QSet<QByteArray> extensions() const;
  62. bool hasExtension(const QByteArray &extension) const;
  63. signals:
  64. void aboutToBeDestroyed();
  65. public:
  66. enum OpenGLModuleType
  67. {
  68. LibGL,
  69. LibGLES,
  70. };
  71. static QOpenGLContext::OpenGLModuleType openGLModuleType();
  72. bool isOpenGLES() const;
  73. static bool supportsThreadedOpenGL();
  74. static QOpenGLContext *globalShareContext();
  75. };
  76. %End