Класс QBackingStore
Класс QBackingStore предоставляет область рисования для QWindow. Подробнее...
| Заголовок: | #include <QBackingStore> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| С момента: | Qt 5.0 |
Открытые функции
| QBackingStore(QWindow *window) | |
| ~QBackingStore() | |
| void | beginPaint(const QRegion ®ion) |
| void | endPaint() |
| void | flush(const QRegion ®ion, QWindow *window = nullptr, const QPoint &offset = QPoint()) |
| QPlatformBackingStore * | handle() const |
| bool | hasStaticContents() const |
| QPaintDevice * | paintDevice() |
| void | resize(const QSize &size) |
| bool | scroll(const QRegion &area, int dx, int dy) |
| void | setStaticContents(const QRegion ®ion) |
| QSize | size() const |
| QRegion | staticContents() const |
| QWindow * | window() const |
Подробное описание
QBackingStore позволяет использовать QPainter для рисования на QWindow с типом RasterSurface. Другой способ отрисовки на QWindow — использование OpenGL с QOpenGLContext.
QBackingStore содержит буферизованное представление содержимого окна и, следовательно, поддерживает частичные обновления, используя QPainter для обновления только подрегиона содержимого окна.
QBackingStore может использоваться приложением, которое хочет использовать QPainter без ускорения OpenGL и без дополнительной нагрузки при использовании стеков пользовательского интерфейса QWidget или QGraphicsView. Пример использования QBackingStore см. в примере Raster Window.
Документация по функциям-членам
QBackingStore::QBackingStore(QWindow *window)
Создаёт пустую поверхность для заданного верхнего уровня window.
QBackingStore::~QBackingStore()
Удаляет эту поверхность.
void QBackingStore::beginPaint(const QRegion ®ion)
Начинает рисование на поверхности backing store в заданной region.
Вы должны вызвать эту функцию перед использованием paintDevice() для рисования.
См. также endPaint() и paintDevice().
void QBackingStore::endPaint()
Оканчивает рисование.
Вы должны вызвать эту функцию после рисования с помощью paintDevice().
См. также beginPaint() и paintDevice().
void QBackingStore::flush(const QRegion ®ion, QWindow *window = nullptr, const QPoint &offset = QPoint())
Очищает заданную region из указанного window на экран.
window должен быть либо верхним окном, представленным этим backingstore, либо дочерним окном этого окна, которое не является временным. Передача nullptr подразумевает обращение к верхнему окну backingstore.
Если window — это дочернее окно, region должна быть в координатах дочернего окна, а offset — смещение дочернего окна относительно верхнего уровня окна backingstore.
Вы должны вызвать эту функцию после завершения рисования с помощью endPaint().
QPlatformBackingStore *QBackingStore::handle() const
Возвращает указатель на реализацию QPlatformBackingStore
bool QBackingStore::hasStaticContents() const
Возвращает логическое значение, указывающее, содержит ли это окно статическое содержимое или нет.
QPaintDevice *QBackingStore::paintDevice()
Возвращает устройство рисования для этой поверхности.
Предупреждение: Устройство является допустимым только между вызовами beginPaint() и endPaint(). Вы не должны кэшировать возвращаемое значение.
void QBackingStore::resize(const QSize &size)
Устанавливает размер поверхности окна на size.
См. также size().
bool QBackingStore::scroll(const QRegion &area, int dx, int dy)
Прокручивает заданную area на dx пикселей вправо и dy вниз; dx и dy могут быть отрицательными.
Возвращает true , если область была прокручена успешно; в противном случае — false.
void QBackingStore::setStaticContents(const QRegion ®ion)
Устанавливает region в качестве статического содержимого этого окна.
См. также staticContents().
QSize QBackingStore::size() const
Возвращает текущий размер поверхности окна.
QRegion QBackingStore::staticContents() const
Возвращает QRegion, представляющую область окна, содержащую статическое содержимое.
См. также setStaticContents().
QWindow *QBackingStore::window() const
Возвращает указатель на верхнее окно, связанное с этой поверхностью.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qbackingstore.html