diff options
Diffstat (limited to 'drape/data_buffer.hpp')
-rw-r--r-- | drape/data_buffer.hpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/drape/data_buffer.hpp b/drape/data_buffer.hpp index 0c82228449..15871a0326 100644 --- a/drape/data_buffer.hpp +++ b/drape/data_buffer.hpp @@ -1,16 +1,14 @@ #pragma once -#include "drape/pointers.hpp" #include "drape/gpu_buffer.hpp" +#include "drape/pointers.hpp" namespace dp { - class DataBufferBase { public: virtual ~DataBufferBase() {} - virtual uint32_t GetCapacity() const = 0; virtual uint32_t GetCurrentSize() const = 0; virtual uint32_t GetAvailableSize() const = 0; @@ -19,14 +17,14 @@ public: virtual void const * Data() const = 0; virtual void UploadData(void const * data, uint32_t elementCount) = 0; - virtual void UpdateData(void * destPtr, void const * srcPtr, uint32_t elementOffset, uint32_t elementCount) = 0; + virtual void UpdateData(void * destPtr, void const * srcPtr, uint32_t elementOffset, + uint32_t elementCount) = 0; virtual void Bind() = 0; - virtual void * Map() = 0; + virtual void * Map(uint32_t elementOffset, uint32_t elementCount) = 0; virtual void Unmap() = 0; }; - class DataBuffer { public: @@ -39,11 +37,10 @@ private: drape_ptr<DataBufferBase> m_impl; }; - class DataBufferMapper { public: - DataBufferMapper(ref_ptr<DataBuffer> buffer); + DataBufferMapper(ref_ptr<DataBuffer> buffer, uint32_t elementOffset, uint32_t elementCount); ~DataBufferMapper(); void UpdateData(void const * data, uint32_t elementOffset, uint32_t elementCount); @@ -52,6 +49,4 @@ private: ref_ptr<DataBuffer> m_buffer; void * m_ptr; }; - -} // namespace dp - +} // namespace dp |