diff options
Diffstat (limited to 'src/gui/vulkan/qplatformvulkaninstance.h')
-rw-r--r-- | src/gui/vulkan/qplatformvulkaninstance.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/gui/vulkan/qplatformvulkaninstance.h b/src/gui/vulkan/qplatformvulkaninstance.h index 9470e2d0b4..9f34803f7b 100644 --- a/src/gui/vulkan/qplatformvulkaninstance.h +++ b/src/gui/vulkan/qplatformvulkaninstance.h @@ -88,4 +88,65 @@ QT_END_NAMESPACE #endif // QT_CONFIG(vulkan) +#if defined(Q_CLANG_QDOC) +/* + The following include file did not exist for clang-qdoc running + in macOS, but the classes are documented in qvulkanfunctions.cpp. + clang-qdoc must parse the class declarations in an include file, + or else it can't find a place to put the documentation for the + classes. Apparently these classes are created at build time if + Vulkan is present. + */ +#ifndef QVULKANFUNCTIONS_H +#define QVULKANFUNCTIONS_H + +#include <QtGui/qtguiglobal.h> + +#if QT_CONFIG(vulkan) || defined(Q_CLANG_QDOC) + +#ifndef VK_NO_PROTOTYPES +#define VK_NO_PROTOTYPES +#endif +#include <vulkan/vulkan.h> + +#include <QtCore/qscopedpointer.h> + +QT_BEGIN_NAMESPACE + +class QVulkanInstance; +class QVulkanFunctionsPrivate; +class QVulkanDeviceFunctionsPrivate; + +class Q_GUI_EXPORT QVulkanFunctions +{ +public: + ~QVulkanFunctions(); + +private: + Q_DISABLE_COPY(QVulkanFunctions) + QVulkanFunctions(QVulkanInstance *inst); + + QScopedPointer<QVulkanFunctionsPrivate> d_ptr; + friend class QVulkanInstance; +}; + +class Q_GUI_EXPORT QVulkanDeviceFunctions +{ +public: + ~QVulkanDeviceFunctions(); + +private: + Q_DISABLE_COPY(QVulkanDeviceFunctions) + QVulkanDeviceFunctions(QVulkanInstance *inst, VkDevice device); + + QScopedPointer<QVulkanDeviceFunctionsPrivate> d_ptr; + friend class QVulkanInstance; +}; + +QT_END_NAMESPACE + +#endif // QT_CONFIG(vulkan) || defined(Q_CLANG_QDOC) +#endif // QVULKANFUNCTIONS_H; +#endif // Q_CLANG_QDOC + #endif // QPLATFORMVULKANINSTANCE_H |