105 control = other.control;
113 assert(control ==
nullptr);
114 control =
new Control{bufSize};
119 return control !=
nullptr;
124 return control ? control->data :
nullptr;
129 if(control !=
nullptr) {
136 if(control ==
nullptr) {
139 assert(control->refCount != 0);
140 if(control->release() == 0) {
148 return control ? control->refCount : 0;
153 return control ? control->size : 0;
158 if(control ==
nullptr) {
161 return control->data[offset];
166 return control == other.control;
216 bool readComplete{
false};
ReadBuffer(PixelFormat format, size_t bufSize)
Definition: Graphics/src/include/Graphics/Buffer.h:200
SharedBuffer()
Definition: Graphics/src/include/Graphics/Buffer.h:74
ReadBuffer()
Definition: Graphics/src/include/Graphics/Buffer.h:192
void addRef()
Definition: Graphics/src/include/Graphics/Buffer.h:52
ReadStatus status
Definition: Graphics/src/include/Graphics/Buffer.h:224
uint8_t * data
Definition: Graphics/src/include/Graphics/Buffer.h:69
void init(size_t bufSize)
Definition: Graphics/src/include/Graphics/Buffer.h:111
Definition: Graphics/src/include/Graphics/Buffer.h:38
SharedBuffer & operator=(const SharedBuffer &other)
Definition: Graphics/src/include/Graphics/Buffer.h:100
SharedBuffer data
Buffer to read pixel data.
Definition: Graphics/src/include/Graphics/Buffer.h:187
size_t size() const
Definition: Graphics/src/include/Graphics/Buffer.h:151
~Control()
Definition: Graphics/src/include/Graphics/Buffer.h:46
bool operator==(const SharedBuffer &other) const
Definition: Graphics/src/include/Graphics/Buffer.h:164
uint8_t & operator[](size_t offset)
Definition: Graphics/src/include/Graphics/Buffer.h:156
size_t size
Definition: Graphics/src/include/Graphics/Buffer.h:70
Composite ReadBuffer with status.
Definition: Graphics/src/include/Graphics/Buffer.h:222
SharedBuffer(const SharedBuffer &other)
Definition: Graphics/src/include/Graphics/Buffer.h:80
size_t refCount
Definition: Graphics/src/include/Graphics/Buffer.h:71
size_t size() const
Definition: Graphics/src/include/Graphics/Buffer.h:204
size_t release()
Definition: Graphics/src/include/Graphics/Buffer.h:58
size_t usage_count() const
Definition: Graphics/src/include/Graphics/Buffer.h:146
SharedBuffer(size_t bufSize)
Definition: Graphics/src/include/Graphics/Buffer.h:85
void addRef()
Definition: Graphics/src/include/Graphics/Buffer.h:127
SharedBuffer(SharedBuffer &other)
Definition: Graphics/src/include/Graphics/Buffer.h:90
void release()
Definition: Graphics/src/include/Graphics/Buffer.h:134
Shared heap-allocated data buffer.
Definition: Graphics/src/include/Graphics/Buffer.h:35
Control(size_t bufSize)
Definition: Graphics/src/include/Graphics/Buffer.h:41
Stores result of read operation.
Definition: Graphics/src/include/Graphics/Buffer.h:213
bool operator!=(const SharedBuffer &other) const
Definition: Graphics/src/include/Graphics/Buffer.h:169
~SharedBuffer()
Definition: Graphics/src/include/Graphics/Buffer.h:95
Control * getControl()
Definition: Graphics/src/include/Graphics/Buffer.h:174
PixelFormat
Definition: Colors.h:295
ReadBuffer(const ReadBuffer &other)
Definition: Graphics/src/include/Graphics/Buffer.h:196
Buffer used for reading pixel data from device.
Definition: Graphics/src/include/Graphics/Buffer.h:186