summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qoffscreensurface.h
blob: 410b6d2b613f2fb0295939c7b8e82dce71acf572 (plain)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
// Copyright (C) 2020 The Qt Company Ltd.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#ifndef QOFFSCREENSURFACE_H#define QOFFSCREENSURFACE_H#include <QtGui/qtguiglobal.h>#include <QtCore/QObject>#include <QtCore/qnativeinterface.h>#include <QtGui/qsurface.h>Q_MOC_INCLUDE(<QtGui/qscreen.h>) QT_BEGIN_NAMESPACE class QOffscreenSurfacePrivate;class QScreen;class QPlatformOffscreenSurface;class Q_GUI_EXPORT QOffscreenSurface :public QObject,public QSurface { Q_OBJECT Q_DECLARE_PRIVATE(QOffscreenSurface)public:explicitQOffscreenSurface(QScreen *screen =nullptr, QObject *parent =nullptr);~QOffscreenSurface(); SurfaceType surfaceType()const override;voidcreate();voiddestroy();boolisValid()const;voidsetFormat(const QSurfaceFormat &format); QSurfaceFormat format()const override; QSurfaceFormat requestedFormat()const; QSize size()const override; QScreen *screen()const;voidsetScreen(QScreen *screen); QPlatformOffscreenSurface *handle()const;QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QOffscreenSurface) Q_SIGNALS:voidscreenChanged(QScreen *screen);private Q_SLOTS:voidscreenDestroyed(QObject *screen);private: QPlatformSurface *surfaceHandle()const override;Q_DISABLE_COPY(QOffscreenSurface)}; QT_END_NAMESPACE #include <QtGui/qoffscreensurface_platform.h>#endif// QOFFSCREENSURFACE_H
close