|
Krita Source Code Documentation
|
#include <KisOpenGLBufferCircularStorage.h>
Inheritance diagram for KisOpenGLBufferCircularStorage:Classes | |
| struct | BufferBinder |
Public Member Functions | |
| void | allocate (int numBuffers, int bufferSize) |
| void | allocateMoreBuffers () |
| QOpenGLBuffer * | getNextBuffer () |
| bool | isValid () const |
| KisOpenGLBufferCircularStorage () | |
| KisOpenGLBufferCircularStorage (const KisOpenGLBufferCircularStorage &)=delete | |
| KisOpenGLBufferCircularStorage (KisOpenGLBufferCircularStorage &&)=delete | |
| KisOpenGLBufferCircularStorage (QOpenGLBuffer::Type type) | |
| KisOpenGLBufferCircularStorage & | operator= (const KisOpenGLBufferCircularStorage &)=delete |
| KisOpenGLBufferCircularStorage & | operator= (KisOpenGLBufferCircularStorage &&)=delete |
| void | reset () |
| int | size () const |
| ~KisOpenGLBufferCircularStorage () | |
Public Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Public Attributes | |
| std::vector< QOpenGLBuffer > | buffers |
| int | bufferSize = 0 |
| decltype(buffers) ::size_type | nextBuffer = 0 |
| QOpenGLBuffer::Type | type = QOpenGLBuffer::QOpenGLBuffer::VertexBuffer |
Public Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
Private Member Functions | |
| void | addBuffersImpl (size_t buffersToAdd, int bufferSize) |
Private Attributes | |
| const QScopedPointer< Private > | m_d |
A simple storage class that owns a fixed amount of QOpenGLBuffer objects and returns them sequentially. Using multiple distinct buffers lets us avoid blocks
Definition at line 34 of file KisOpenGLBufferCircularStorage.cpp.
| KisOpenGLBufferCircularStorage::KisOpenGLBufferCircularStorage | ( | ) |
Definition at line 43 of file KisOpenGLBufferCircularStorage.cpp.
| KisOpenGLBufferCircularStorage::KisOpenGLBufferCircularStorage | ( | QOpenGLBuffer::Type | type | ) |
Definition at line 48 of file KisOpenGLBufferCircularStorage.cpp.
|
default |
|
delete |
|
delete |
|
private |
Definition at line 119 of file KisOpenGLBufferCircularStorage.cpp.
References bufferSize, KIS_ASSERT, m_d, and nextPowerOfTwo().
| void KisOpenGLBufferCircularStorage::allocate | ( | int | numBuffers, |
| int | bufferSize ) |
Definition at line 56 of file KisOpenGLBufferCircularStorage.cpp.
References addBuffersImpl(), bufferSize, KIS_ASSERT, and reset().
| void KisOpenGLBufferCircularStorage::allocateMoreBuffers | ( | ) |
Definition at line 90 of file KisOpenGLBufferCircularStorage.cpp.
References addBuffersImpl(), KIS_SAFE_ASSERT_RECOVER_RETURN, m_d, and nextPowerOfTwo().
| QOpenGLBuffer * KisOpenGLBufferCircularStorage::getNextBuffer | ( | ) |
Definition at line 64 of file KisOpenGLBufferCircularStorage.cpp.
References isValid(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and m_d.
| bool KisOpenGLBufferCircularStorage::isValid | ( | ) | const |
Definition at line 73 of file KisOpenGLBufferCircularStorage.cpp.
References m_d.
|
delete |
|
delete |
| void KisOpenGLBufferCircularStorage::reset | ( | ) |
| int KisOpenGLBufferCircularStorage::size | ( | ) | const |
Definition at line 78 of file KisOpenGLBufferCircularStorage.cpp.
References m_d.
| std::vector<QOpenGLBuffer> KisOpenGLBufferCircularStorage::buffers |
Definition at line 36 of file KisOpenGLBufferCircularStorage.cpp.
| int KisOpenGLBufferCircularStorage::bufferSize = 0 |
Definition at line 38 of file KisOpenGLBufferCircularStorage.cpp.
|
private |
Definition at line 68 of file KisOpenGLBufferCircularStorage.h.
| decltype(buffers) ::size_type KisOpenGLBufferCircularStorage::nextBuffer = 0 |
Definition at line 37 of file KisOpenGLBufferCircularStorage.cpp.
| QOpenGLBuffer::Type KisOpenGLBufferCircularStorage::type = QOpenGLBuffer::QOpenGLBuffer::VertexBuffer |
Definition at line 39 of file KisOpenGLBufferCircularStorage.cpp.