update_offset();
}
-void Bufferable::buffer_resized()
+void Bufferable::change_buffer(Buffer *buf)
{
for(Bufferable *b=this; b; b=b->next_in_buffer)
{
+ b->buffer = buf;
b->location_dirty = true;
b->dirty = true;
}
for(Bufferable *b=prev_in_buffer; b; b=b->prev_in_buffer)
{
+ b->buffer = buf;
b->location_dirty = true;
b->dirty = true;
}
prev_in_buffer = 0;
next_in_buffer = 0;
buffer = 0;
+ offset = 0;
}
void Bufferable::update_offset()
bufferable(b)
{
bufferable.buffer->require_size(bufferable.get_required_buffer_size());
- mapped_address = reinterpret_cast<char *>(bufferable.buffer->map(WRITE_ONLY));
+ mapped_address = reinterpret_cast<char *>(bufferable.buffer->map());
}
Bufferable::AsyncUpdater::~AsyncUpdater()