From 35df0693e03a583ad5f809b0bb195f493492f922 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Thu, 21 Mar 2013 11:52:11 +0100 Subject: [PATCH] Add usage to ol.structs.Buffer --- src/ol/structs/buffer.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/ol/structs/buffer.js b/src/ol/structs/buffer.js index 0281835e8b..611c2e9e11 100644 --- a/src/ol/structs/buffer.js +++ b/src/ol/structs/buffer.js @@ -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.=} 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.