Класс QSurface
Класс QSurface представляет собой абстракцию рендерных поверхностей в Qt. Подробнее...
| Заголовок: | #include <QSurface> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| С момента: | Qt 5.0 |
| Наследуется от: |
Типы публичного доступа
| перечисление | SurfaceClass { Окно, ЭкранБезОкна } |
| перечисление | SurfaceType { ПоверхностьРастровогоИзображения, ПоверхностьOpenGL, ПоверхностьРастровогоИзображенияOpenGL, ПоверхностьOpenVG, ПоверхностьVulkan, ..., ПоверхностьDirect3D } |
Функции публичного доступа
| виртуальный | ~QSurface() |
| виртуальный QSurfaceFormat | format() const = 0 |
| виртуальный QSize | size() const = 0 |
| bool | supportsOpenGL() const |
| QSurface::SurfaceClass | surfaceClass() const |
| виртуальный QPlatformSurface * | surfaceHandle() const = 0 |
| виртуальный QSurface::SurfaceType | surfaceType() const = 0 |
Защищенные функции
| QSurface(QSurface::SurfaceClass type) |
Подробное описание
Размер поверхности можно получить с помощью функции size(). Атрибуты, специфичные для рендеринга, доступны через функцию format().
Документация по типам членов
перечисление QSurface::SurfaceClass
Перечисление SurfaceClass описывает фактический подкласс поверхности.
| Константа | Значение | Описание |
|---|---|---|
QSurface::Window |
0 |
Поверхность является экземпляром QWindow. |
QSurface::Offscreen |
1 |
Поверхность является экземпляром QOffscreenSurface. |
перечисление QSurface::SurfaceType
Перечисление SurfaceType описывает тип этой поверхности.
| Константа | Значение | Описание |
|---|---|---|
QSurface::RasterSurface |
0 |
Поверхность состоит из пикселей и может быть отрисована с помощью программного растрового процессора, такого как растровый движок рисования Qt. |
QSurface::OpenGLSurface |
1 |
Поверхность совместима с OpenGL и может использоваться совместно с QOpenGLContext. |
QSurface::RasterGLSurface |
2 |
Поверхность может быть отрисована с помощью программного растрового процессора и также поддерживает OpenGL. Этот тип поверхности предназначен для внутреннего использования Qt и требует использования закрытого API. |
QSurface::OpenVGSurface |
3 |
Поверхность совместима с OpenVG и может использоваться совместно с контекстами OpenVG. |
QSurface::VulkanSurface |
4 |
Поверхность совместима с Vulkan и может использоваться совместно с графическим API Vulkan. |
QSurface::MetalSurface |
5 |
Поверхность совместима с Metal и может использоваться совместно с графическим API Metal от Apple. Этот тип поверхности поддерживается только на macOS. |
QSurface::Direct3DSurface |
6 |
Поверхность совместима с Direct3D 11 и 12 и может использоваться совместно с API DXGI и Direct3D. Этот тип поверхности поддерживается только на Windows. |
Документация по функциям членов
[protected] QSurface::QSurface(QSurface::SurfaceClass type)
Создает поверхность с заданным типом type.
[virtual] QSurface::~QSurface()
Удаляет поверхность.
[pure virtual] QSurfaceFormat QSurface::format() const
Возвращает формат поверхности.
[pure virtual] QSize QSurface::size() const
Возвращает размер поверхности в пикселях.
[since 5.3] bool QSurface::supportsOpenGL() const
Возвращает true, если поверхность совместима с OpenGL и может быть использована совместно с QOpenGLContext; в противном случае возвращает false.
Эта функция была добавлена в Qt 5.3.
QSurface::SurfaceClass QSurface::surfaceClass() const
Возвращает класс поверхности.
[pure virtual] QPlatformSurface *QSurface::surfaceHandle() const
Возвращает дескриптор платформенно-специфической реализации поверхности.
[pure virtual] QSurface::SurfaceType QSurface::surfaceType() const
Возвращает тип поверхности.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qsurface.html