2012-04-05 14:40:53 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright 2012 Google Inc.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
|
|
* found in the LICENSE file.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "GrBufferObj.h"
|
2012-04-16 16:24:35 +00:00
|
|
|
|
|
|
|
void GrBufferObj::allocate(GrGLint size, const GrGLchar *dataPtr) {
|
|
|
|
GrAlwaysAssert(size >= 0);
|
|
|
|
|
|
|
|
// delete pre-existing data
|
|
|
|
delete[] fDataPtr;
|
|
|
|
|
|
|
|
fSize = size;
|
|
|
|
fDataPtr = new GrGLchar[size];
|
|
|
|
if (dataPtr) {
|
|
|
|
memcpy(fDataPtr, dataPtr, fSize);
|
|
|
|
}
|
|
|
|
// TODO: w/ no dataPtr the data is unitialized - this could be tracked
|
|
|
|
}
|
|
|
|
|
|
|
|
void GrBufferObj::deleteAction() {
|
|
|
|
|
|
|
|
// buffers are automatically unmapped when deleted
|
|
|
|
this->resetMapped();
|
|
|
|
|
|
|
|
this->INHERITED::deleteAction();
|
|
|
|
}
|