Add usage to ol.structs.Buffer

This commit is contained in:
Tom Payne
2013-03-21 11:52:11 +01:00
parent 705b71ae2a
commit 35df0693e0

View File

@@ -1,9 +1,20 @@
goog.provide('ol.structs.Buffer');
goog.require('goog.array');
goog.require('goog.webgl');
goog.require('ol.structs.IntegerSet');
/**
* @enum {number}
*/
ol.structs.BufferUsage = {
STATIC_DRAW: goog.webgl.STATIC_DRAW,
STREAM_DRAW: goog.webgl.STREAM_DRAW,
DYNAMIC_DRAW: goog.webgl.DYNAMIC_DRAW
};
/**
* @define {boolean} Replace unused entries with NaNs.
*/
@@ -15,8 +26,9 @@ ol.BUFFER_REPLACE_UNUSED_ENTRIES_WITH_NANS = goog.DEBUG;
* @constructor
* @param {Array.<number>=} opt_arr Array.
* @param {number=} opt_used Used.
* @param {number=} opt_usage Usage.
*/
ol.structs.Buffer = function(opt_arr, opt_used) {
ol.structs.Buffer = function(opt_arr, opt_used, opt_usage) {
/**
* @private
@@ -49,6 +61,13 @@ ol.structs.Buffer = function(opt_arr, opt_used) {
}
}
/**
* @private
* @type {number}
*/
this.usage_ = goog.isDef(opt_usage) ?
opt_usage : ol.structs.BufferUsage.STATIC_DRAW;
};
@@ -118,6 +137,14 @@ ol.structs.Buffer.prototype.getFreeSet = function() {
};
/**
* @return {number} Usage.
*/
ol.structs.Buffer.prototype.getUsage = function() {
return this.usage_;
};
/**
* @param {number} size Size.
* @param {number} offset Offset.