105 control = other.control;
113 assert(control ==
nullptr);
114 control =
new Control{bufSize};
117 explicit operator bool()
const
119 return control !=
nullptr;
124 return control ? control->
data :
nullptr;
129 if(control !=
nullptr) {
136 if(control ==
nullptr) {
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;
uint16_t uint16
Definition: c_types.h:13
Basic interactive button on screen.
Definition: Libraries/Graphics/src/include/Graphics/Control/Control.h:13
Definition: Graphics/src/include/Graphics/Buffer.h:39
void addRef()
Definition: Graphics/src/include/Graphics/Buffer.h:52
uint8_t * data
Definition: Graphics/src/include/Graphics/Buffer.h:69
size_t release()
Definition: Graphics/src/include/Graphics/Buffer.h:58
size_t refCount
Definition: Graphics/src/include/Graphics/Buffer.h:71
~Control()
Definition: Graphics/src/include/Graphics/Buffer.h:46
Control(size_t bufSize)
Definition: Graphics/src/include/Graphics/Buffer.h:41
size_t size
Definition: Graphics/src/include/Graphics/Buffer.h:70
Shared heap-allocated data buffer.
Definition: Graphics/src/include/Graphics/Buffer.h:36
SharedBuffer(size_t bufSize)
Definition: Graphics/src/include/Graphics/Buffer.h:85
SharedBuffer()
Definition: Graphics/src/include/Graphics/Buffer.h:74
size_t size() const
Definition: Graphics/src/include/Graphics/Buffer.h:151
uint8_t & operator[](size_t offset)
Definition: Graphics/src/include/Graphics/Buffer.h:156
~SharedBuffer()
Definition: Graphics/src/include/Graphics/Buffer.h:95
SharedBuffer(SharedBuffer &&other)=delete
size_t usage_count() const
Definition: Graphics/src/include/Graphics/Buffer.h:146
Control * getControl()
Definition: Graphics/src/include/Graphics/Buffer.h:174
void addRef()
Definition: Graphics/src/include/Graphics/Buffer.h:127
SharedBuffer(const SharedBuffer &other)
Definition: Graphics/src/include/Graphics/Buffer.h:80
bool operator==(const SharedBuffer &other) const
Definition: Graphics/src/include/Graphics/Buffer.h:164
bool operator!=(const SharedBuffer &other) const
Definition: Graphics/src/include/Graphics/Buffer.h:169
void init(size_t bufSize)
Definition: Graphics/src/include/Graphics/Buffer.h:111
SharedBuffer & operator=(const SharedBuffer &other)
Definition: Graphics/src/include/Graphics/Buffer.h:100
void release()
Definition: Graphics/src/include/Graphics/Buffer.h:134
uint8_t * get()
Definition: Graphics/src/include/Graphics/Buffer.h:122
SharedBuffer(SharedBuffer &other)
Definition: Graphics/src/include/Graphics/Buffer.h:90
PixelFormat
Definition: Colors.h:295
Buffer used for reading pixel data from device.
Definition: Graphics/src/include/Graphics/Buffer.h:186
PixelFormat format
Input: Requested pixel format, specify 'None' to get native format.
Definition: Graphics/src/include/Graphics/Buffer.h:189
ReadBuffer(const ReadBuffer &other)
Definition: Graphics/src/include/Graphics/Buffer.h:196
ReadBuffer(PixelFormat format, size_t bufSize)
Definition: Graphics/src/include/Graphics/Buffer.h:200
ReadBuffer()
Definition: Graphics/src/include/Graphics/Buffer.h:192
size_t size() const
Definition: Graphics/src/include/Graphics/Buffer.h:204
SharedBuffer data
Buffer to read pixel data.
Definition: Graphics/src/include/Graphics/Buffer.h:187
uint16 offset
Offset from start of buffer to start writing.
Definition: Graphics/src/include/Graphics/Buffer.h:188
uint8_t reserved
Definition: Graphics/src/include/Graphics/Buffer.h:190
Composite ReadBuffer with status.
Definition: Graphics/src/include/Graphics/Buffer.h:222
ReadStatus status
Definition: Graphics/src/include/Graphics/Buffer.h:224
Stores result of read operation.
Definition: Graphics/src/include/Graphics/Buffer.h:213
size_t bytesRead
On completion, set to actual length of data read.
Definition: Graphics/src/include/Graphics/Buffer.h:214
PixelFormat format
Format of data.
Definition: Graphics/src/include/Graphics/Buffer.h:215
bool readComplete
Definition: Graphics/src/include/Graphics/Buffer.h:216