blob: 21fd5d67315d75880e189933752a9c336d19db51 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include "drape/attribute_buffer_mutator.hpp"
namespace dp
{
AttributeBufferMutator::~AttributeBufferMutator()
{
SharedBufferManager & mng = SharedBufferManager::instance();
for (size_t i = 0; i < m_array.size(); ++i)
{
TBufferNode & node = m_array[i];
mng.freeSharedBuffer(node.second, node.first);
}
}
void AttributeBufferMutator::AddMutation(BindingInfo const & info, MutateNode const & node)
{
m_data[info].push_back(node);
}
void * AttributeBufferMutator::AllocateMutationBuffer(uint32_t byteCount)
{
m_array.push_back(make_pair(SharedBufferManager::instance().reserveSharedBuffer(byteCount), byteCount));
return &((*m_array.back().first)[0]);
}
} // namespace dp
|