Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qopenglvertexarrayobject_p.h
Go to the documentation of this file.
1// Copyright (C) 2020 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Sean Harmer <sean.harmer@kdab.com>
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QOPENGLVERTEXARRAYOBJECT_P_H
5#define QOPENGLVERTEXARRAYOBJECT_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of the Qt OpenGL classes. This header file may change from
13// version to version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtOpenGL/qtopenglglobal.h>
19
20#include <QtGui/qopengl.h>
21#include <QtCore/private/qglobal_p.h>
22
24
25class QOpenGLContext;
26
28{
29 Q_DISABLE_COPY(QOpenGLVertexArrayObjectHelper)
30
31private:
33 : GenVertexArrays(nullptr)
34 , DeleteVertexArrays(nullptr)
35 , BindVertexArray(nullptr)
36 , IsVertexArray(nullptr)
37 {
38 initializeFromContext(context);
39 }
40
41 void Q_OPENGL_EXPORT initializeFromContext(QOpenGLContext *context);
42
43public:
45
46 inline bool isValid() const
47 {
49 }
50
52 {
54 }
55
56 inline void glDeleteVertexArrays(GLsizei n, const GLuint *arrays) const
57 {
59 }
60
61 inline void glBindVertexArray(GLuint array) const
62 {
64 }
65
67 {
68 return IsVertexArray(array);
69 }
70
71 // Function signatures are equivalent between desktop core, ARB, APPLE, ES 3 and ES 2 extensions
72 typedef void (QOPENGLF_APIENTRYP qt_GenVertexArrays_t)(GLsizei n, GLuint *arrays);
73 typedef void (QOPENGLF_APIENTRYP qt_DeleteVertexArrays_t)(GLsizei n, const GLuint *arrays);
74 typedef void (QOPENGLF_APIENTRYP qt_BindVertexArray_t)(GLuint array);
75 typedef GLboolean (QOPENGLF_APIENTRYP qt_IsVertexArray_t)(GLuint array);
76
77 qt_GenVertexArrays_t GenVertexArrays;
78 qt_DeleteVertexArrays_t DeleteVertexArrays;
79 qt_BindVertexArray_t BindVertexArray;
80 qt_IsVertexArray_t IsVertexArray;
81};
82
84
85#endif // QOPENGLVERTEXARRAYOBJECT_P_H
\inmodule QtGui
static Q_OPENGL_EXPORT QOpenGLVertexArrayObjectHelper * vertexArrayObjectHelperForContext(QOpenGLContext *context)
typedef GLboolean(QOPENGLF_APIENTRYP qt_IsVertexArray_t)(GLuint array)
void glGenVertexArrays(GLsizei n, GLuint *arrays) const
void glDeleteVertexArrays(GLsizei n, const GLuint *arrays) const
GLboolean glIsVertexArray(GLuint array) const
typedef void(QOPENGLF_APIENTRYP qt_BindVertexArray_t)(GLuint array)
Combined button and popup list for selecting options.
static void * context
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
#define QOPENGLF_APIENTRYP
Definition qopengl.h:275
typedef GLsizei(GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC)(GLuint target)
GLfloat n
GLenum array
#define GLuint