Класс 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.0/qbackingstore.html