14 #include <QtWidgets/QWidget>
16 #include "VulkanSwapChain.h"
20 class OffscreenContext;
34 friend struct vks::Context;
40 [[nodiscard]]
int getDeviceWidth()
const;
41 [[nodiscard]]
int getDeviceHeight()
const;
42 [[nodiscard]] QSize getDeviceSize()
const {
return QSize(getDeviceWidth(), getDeviceHeight()); }
43 [[nodiscard]] QPaintEngine* paintEngine()
const override;
44 void createContext(QOpenGLContext* shareContext =
nullptr);
48 gl::OffscreenContext* context() {
return _context; }
49 QOpenGLContext* qglContext();
50 [[nodiscard]] QVariant inputMethodQuery(Qt::InputMethodQuery query)
const override;
53 bool nativeEvent(
const QByteArray &eventType,
void *message,
long *result)
override;
54 bool event(QEvent* event)
override;
55 gl::OffscreenContext* _context {
nullptr };
58 QPaintEngine* _paintEngine {
nullptr };
60 bool _vsyncSupported {
false };
63 VKWindow *_mainWindow;