1// qsurface.sip generated by MetaSIP
2//
3// This file is part of the QtGui Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QSurface /Abstract/
24{
25%TypeHeaderCode
26#include <qsurface.h>
27%End
28
29public:
30    enum SurfaceClass
31    {
32        Window,
33%If (Qt_5_1_0 -)
34        Offscreen,
35%End
36    };
37
38    enum SurfaceType
39    {
40        RasterSurface,
41        OpenGLSurface,
42%If (Qt_5_3_0 -)
43        RasterGLSurface,
44%End
45%If (Qt_5_9_0 -)
46        OpenVGSurface,
47%End
48%If (Qt_5_10_0 -)
49        VulkanSurface,
50%End
51%If (Qt_5_12_0 -)
52        MetalSurface,
53%End
54    };
55
56    virtual ~QSurface();
57    QSurface::SurfaceClass surfaceClass() const;
58    virtual QSurfaceFormat format() const = 0;
59    virtual QSurface::SurfaceType surfaceType() const = 0;
60    virtual QSize size() const = 0;
61%If (Qt_5_3_0 -)
62    bool supportsOpenGL() const;
63%End
64
65protected:
66    explicit QSurface(QSurface::SurfaceClass type);
67};
68