Класс QOpenGLDebugMessage
Класс QOpenGLDebugMessage оборачивает сообщение об отладке OpenGL. Подробнее...
| Заголовок: | #include <QOpenGLDebugMessage> |
| CMake: | find_package(Qt6 COMPONENTS OpenGL REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::OpenGL) |
| qmake: | QT += opengl |
| С момента: | Qt 5.1 |
Примечание: Все функции в этом классе являются реентерабельными.
Типы публичного доступа
| флаги | Степень серьезности |
| перечисление | Severity { InvalidSeverity, HighSeverity, MediumSeverity, LowSeverity, NotificationSeverity, AnySeverity } |
| перечисление | Источник { InvalidSource, APISource, WindowSystemSource, ShaderCompilerSource, ThirdPartySource, …, AnySource } |
| флаги | Источники |
| перечисление | Тип { InvalidType, ErrorType, DeprecatedBehaviorType, UndefinedBehaviorType, PortabilityType, …, AnyType } |
| флаги | Типы |
Публичные функции
| QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage) | |
| QOpenGLDebugMessage() | |
| QOpenGLDebugMessage & | operator=(QOpenGLDebugMessage &&debugMessage) |
| QOpenGLDebugMessage & | operator=(const QOpenGLDebugMessage &debugMessage) |
| ~QOpenGLDebugMessage() | |
| GLuint | id() const |
| QString | message() const |
| QOpenGLDebugMessage::Severity | severity() const |
| QOpenGLDebugMessage::Source | source() const |
| void | swap(QOpenGLDebugMessage &debugMessage) |
| QOpenGLDebugMessage::Type | type() const |
| bool | operator!=(const QOpenGLDebugMessage &debugMessage) const |
| bool | operator==(const QOpenGLDebugMessage &debugMessage) const |
Статические публичные члены
| QOpenGLDebugMessage | createApplicationMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType) |
| QOpenGLDebugMessage | createThirdPartyMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType) |
Связанные нечлены
| QDebug | operator<<(QDebug debug, const QOpenGLDebugMessage &message) |
| QDebug | operator<<(QDebug debug, QOpenGLDebugMessage::Source source) |
| QDebug | operator<<(QDebug debug, QOpenGLDebugMessage::Type type) |
| QDebug | operator<<(QDebug debug, QOpenGLDebugMessage::Severity severity) |
Подробное описание
Сообщения об отладке обычно создаются сервером OpenGL и затем считываются клиентами OpenGL (либо из внутреннего журнала отладки OpenGL, либо регистрируются в реальном времени). Сообщение об отладке имеет текстовое представление, уникальный для поставщика числовой идентификатор, источник, тип и уровень серьезности.
Приложения или сторонние библиотеки и наборы инструментов также могут создавать и вставлять сообщения в журнал отладки. Для этого можно использовать статические функции createApplicationMessage() или createThirdPartyMessage().
См. также QOpenGLDebugLogger.
Документация по типам членов
перечисление QOpenGLDebugMessage::Severity QOpenGLDebugMessage::Степень серьезности
Перечисление Severity определяет уровень серьезности сообщения об отладке.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLDebugMessage::InvalidSeverity |
0x00000000 |
Уровень серьезности сообщения недействителен; это уровень серьезности объекта QOpenGLDebugMessage, созданного по умолчанию. |
QOpenGLDebugMessage::HighSeverity |
0x00000001 |
Сообщению присвоен высокий уровень серьезности. |
QOpenGLDebugMessage::MediumSeverity |
0x00000002 |
Сообщению присвоен средний уровень серьезности. |
QOpenGLDebugMessage::LowSeverity |
0x00000004 |
Сообщению присвоен низкий уровень серьезности. |
QOpenGLDebugMessage::NotificationSeverity |
0x00000008 |
Сообщение является уведомлением. |
QOpenGLDebugMessage::AnySeverity |
0xffffffff |
Это значение соответствует маске всех возможных уровней серьезности сообщений. |
Тип Severities — это typedef для QFlags<Severity>. Он хранит комбинацию значений Severity, объединенных операцией OR.
перечисление QOpenGLDebugMessage::Источник QOpenGLDebugMessage::Источники
Перечисление Source определяет источник сообщения об отладке.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLDebugMessage::InvalidSource |
0x00000000 |
Источник сообщения недействителен; это источник объекта QOpenGLDebugMessage, созданного по умолчанию. |
QOpenGLDebugMessage::APISource |
0x00000001 |
Сообщение было сгенерировано в ответ на вызовы API OpenGL. |
QOpenGLDebugMessage::WindowSystemSource |
0x00000002 |
Сообщение было сгенерировано системой окон. |
QOpenGLDebugMessage::ShaderCompilerSource |
0x00000004 |
Сообщение было сгенерировано компилятором шейдеров. |
QOpenGLDebugMessage::ThirdPartySource |
0x00000008 |
Сообщение было сгенерировано сторонней стороной, например, фреймворком OpenGL или инструментом отладки. |
QOpenGLDebugMessage::ApplicationSource |
0x00000010 |
Сообщение было сгенерировано самим приложением. |
QOpenGLDebugMessage::OtherSource |
0x00000020 |
Сообщение было сгенерировано источником, не включенным в это перечисление. |
QOpenGLDebugMessage::AnySource |
0xffffffff |
Это значение соответствует маске всех возможных источников сообщений. |
Тип Sources — это typedef для QFlags<Source>. Он хранит логическое ИЛИ сочетание значений Source.
enum QOpenGLDebugMessage::Typeflags QOpenGLDebugMessage::Types
Перечисление Type определяет тип сообщения об отладке.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLDebugMessage::InvalidType |
0x00000000 |
Тип сообщения недопустим; это тип объекта QOpenGLDebugMessage, созданного по умолчанию. |
QOpenGLDebugMessage::ErrorType |
0x00000001 |
Сообщение представляет ошибку. |
QOpenGLDebugMessage::DeprecatedBehaviorType |
0x00000002 |
Сообщение представляет использование устаревшего поведения. |
QOpenGLDebugMessage::UndefinedBehaviorType |
0x00000004 |
Сообщение представляет использование неопределённого поведения. |
QOpenGLDebugMessage::PortabilityType |
0x00000008 |
Сообщение представляет использование поведения, специфичного для поставщика, что может вызвать проблемы с переносимостью. |
QOpenGLDebugMessage::PerformanceType |
0x00000010 |
Сообщение представляет проблему производительности. |
QOpenGLDebugMessage::OtherType |
0x00000020 |
Сообщение представляет тип, не включённый в это перечисление. |
QOpenGLDebugMessage::MarkerType |
0x00000040 |
Сообщение представляет метку в журнале отладки. |
QOpenGLDebugMessage::GroupPushType |
0x00000080 |
Сообщение представляет операцию входа в группу отладки. |
QOpenGLDebugMessage::GroupPopType |
0x00000100 |
Сообщение представляет операцию выхода из группы отладки. |
QOpenGLDebugMessage::AnyType |
0xffffffff |
Это значение соответствует маске всех возможных типов сообщений. |
Тип Types — это typedef для QFlags<Type>. Он хранит логическое ИЛИ сочетание значений Type.
Документация по функциям-членам
QOpenGLDebugMessage::QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage)
Создаёт сообщение об отладке как копию debugMessage.
См. также operator=().
QOpenGLDebugMessage::QOpenGLDebugMessage()
Создаёт сообщение об отладке с пустой строкой сообщения, id, установленным в 0, источником, установленным в InvalidSource, типом, установленным в InvalidType, и степенью серьёзности, установленной в InvalidSeverity.
Примечание: Этот конструктор не должен использоваться для создания сообщения об отладке; вместо этого используйте статические функции createApplicationMessage() или createThirdPartyMessage().
См. также createApplicationMessage() и createThirdPartyMessage().
QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(QOpenGLDebugMessage &&debugMessage)
Перемещающее присваивание debugMessage этому объекту.
QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(const QOpenGLDebugMessage &debugMessage)
Присваивает сообщение debugMessage этому объекту и возвращает ссылку на копию.
QOpenGLDebugMessage::~QOpenGLDebugMessage()
Уничтожает это сообщение об отладке.
[static] QOpenGLDebugMessage QOpenGLDebugMessage::createApplicationMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)
Создаёт и возвращает сообщение об отладке с text в качестве текста, id в качестве id, severity в качестве степени серьёзности и type в качестве типа. Источник сообщения будет установлен в ApplicationSource.
См. также QOpenGLDebugLogger::logMessage() и createThirdPartyMessage().
[static] QOpenGLDebugMessage QOpenGLDebugMessage::createThirdPartyMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)
Создаёт и возвращает сообщение об отладке с text в качестве текста, id в качестве id, severity в качестве степени серьёзности и type в качестве типа. Источник сообщения будет установлен в ThirdPartySource.
См. также QOpenGLDebugLogger::logMessage() и createApplicationMessage().
GLuint QOpenGLDebugMessage::id() const
Возвращает id сообщения об отладке. Ids обычно зависят от поставщика.
QString QOpenGLDebugMessage::message() const
Возвращает текстовое сообщение, содержащееся в этом сообщении об отладке.
QOpenGLDebugMessage::Severity QOpenGLDebugMessage::severity() const
Возвращает степень серьёзности сообщения об отладке.
QOpenGLDebugMessage::Source QOpenGLDebugMessage::source() const
Возвращает источник сообщения об отладке.
void QOpenGLDebugMessage::swap(QOpenGLDebugMessage &debugMessage)
Меняет местами сообщение debugMessage с этим сообщением. Эта операция очень быстрая и никогда не завершается с ошибкой.
QOpenGLDebugMessage::Type QOpenGLDebugMessage::type() const
Возвращает тип сообщения об отладке.
bool QOpenGLDebugMessage::operator!=(const QOpenGLDebugMessage &debugMessage) const
Возвращает true, если это сообщение отличается от debugMessage, или false в противном случае.
См. также operator==().
bool QOpenGLDebugMessage::operator==(const QOpenGLDebugMessage &debugMessage) const
Возвращает true, если это сообщение об отладке равно debugMessage, или false в противном случае. Два сообщения об отладке равны, если у них одинаковое текстовое сообщение, одинаковый id, одинаковый источник, одинаковый тип и одинаковая степень серьёзности.
См. также operator!=().
Связанные нечлены
QDebug operator<<(QDebug debug, const QOpenGLDebugMessage &message)
Записывает сообщение message в объект отладки debug для целей отладки.
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Source source)
Записывает источник source в объект отладки debug для целей отладки.
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Type type)
Записывает тип type в объект отладки debug для целей отладки.
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Severity severity)
Записывает степень серьёзности severity в объект отладки debug для целей отладки.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qopengldebugmessage.html