Класс QBackingStore
Класс QBackingStore предоставляет область рисования для QWindow. Подробнее...
| Заголовок: | #include <QBackingStore> |
| qmake: | QT += gui |
| С момента: | Qt 5.0 |
Этот класс был представлен в 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 и без дополнительной накладной расходов при использовании стеков UI QWidget или QGraphicsView. Пример использования QBackingStore см. в примере Raster Window.
Документация по функциям-членам
QBackingStore::QBackingStore(QWindow *window)
Создаёт пустую поверхность для данного верхнего уровня window.
QBackingStore::~QBackingStore()
Удаляет эту поверхность.
void QBackingStore::beginPaint(const QRegion ®ion)
Начинает рисование на поверхности буфера в заданной 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 должен быть либо главным окном, представленным этим буфером, либо не транзитивным дочерним элементом этого окна. Передача nullptr возвращает к использованию главного окна буфера.
Если window является дочерним окном, region должна быть в координатах дочернего окна, а offset — смещением дочернего окна относительно главного окна буфера.
После завершения рисования с помощью 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-5.15/qbackingstore.html