Spec-Zone.ru › Qt 5.15

Класс QBackingStore

Класс QBackingStore предоставляет область рисования для QWindow. Подробнее...

Заголовок: #include <QBackingStore>
qmake: QT += gui
С момента: Qt 5.0

Этот класс был представлен в Qt 5.0.

  • Список всех членов, включая унаследованные члены

Открытые функции

QBackingStore(QWindow *window)
~QBackingStore()
void beginPaint(const QRegion &region)
void endPaint()
void flush(const QRegion &region, 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 &region)
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 &region)

Начинает рисование на поверхности буфера в заданной region.

Перед использованием paintDevice() для рисования необходимо вызвать эту функцию.

См. также endPaint() и paintDevice().

void QBackingStore::endPaint()

Заканчивает рисование.

После завершения рисования с помощью paintDevice() необходимо вызвать эту функцию.

См. также beginPaint() и paintDevice().

void QBackingStore::flush(const QRegion &region, 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 &region)

Устанавливает 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API