Класс QBackingStore
Класс QBackingStore предоставляет область рисования для QWindow. Подробнее...
| Заголовок: | #include <QBackingStore> |
| 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 предоставляет область рисования для QWindow.
QBackingStore позволяет использовать QPainter для рисования на QWindow с типом RasterSurface. Другой способ отрисовки на QWindow — использование OpenGL с QOpenGLContext.
Класс QBackingStore содержит буферизованное представление содержимого окна и, следовательно, поддерживает частичные обновления, используя QPainter для обновления только подмножества содержимого окна.
QBackingStore может использоваться приложением, которое хочет использовать QPainter без ускорения OpenGL и без дополнительной нагрузки при использовании стеков пользовательского интерфейса QWidget или QGraphicsView. Пример использования QBackingStore см. в примере окна растрового изображения.
Документация по функциям-членам
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() необходимо вызвать эту функцию.
См. также QWindow::transientParent().
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/archives/qt-5.11/qbackingstore.html