Класс 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 см. в Примере окна 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 должен быть либо главным окном, представленным этим backingstore, либо не временным дочерним окном этого окна. Передача nullptr приводит к использованию главного окна backingstore.
Если window является дочерним окном, область region должна быть в координатах дочернего окна, а offset — смещением дочернего окна относительно главного окна backingstore.
Вы должны вызвать эту функцию после завершения рисования с помощью 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/qt-5.12/qbackingstore.html