qt6windows7/tests/manual/rhi/multiwindow_threaded/window.h

41 lines
677 B
C
Raw Normal View History

2023-10-30 06:33:08 +08:00
// Copyright (C) 2018 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#ifndef WINDOW_H
#define WINDOW_H
#include <QWindow>
enum GraphicsApi
{
OpenGL,
Vulkan,
D3D11,
2023-11-02 05:23:55 +08:00
D3D12,
2023-10-30 06:33:08 +08:00
Metal
};
class Window : public QWindow
{
Q_OBJECT
public:
Window(const QString &title, GraphicsApi api);
~Window();
void exposeEvent(QExposeEvent *) override;
bool event(QEvent *) override;
signals:
void initRequested();
void renderRequested(bool newlyExposed);
void surfaceGoingAway();
void syncSurfaceSizeRequested();
protected:
bool m_running = false;
bool m_notExposed = true;
};
#endif