aboutsummaryrefslogtreecommitdiffstats
path: root/web/js
diff options
context:
space:
mode:
Diffstat (limited to 'web/js')
-rw-r--r--web/js/nms-color-util.js7
-rw-r--r--web/js/nms-map-handlers.js16
2 files changed, 14 insertions, 9 deletions
diff --git a/web/js/nms-color-util.js b/web/js/nms-color-util.js
index 82f24d7..ec7f619 100644
--- a/web/js/nms-color-util.js
+++ b/web/js/nms-color-util.js
@@ -7,6 +7,7 @@
*/
var nmsColor = nmsColor || {
+ _cache: [],
lightblue: "#d9edf7",
lightgreen: "#dff0d8",
lightred: "#f2dede",
@@ -47,6 +48,7 @@ nmsColor.drawGradient = function(gradients) {
var ctx = nmsMap._c.hidden.ctx; // FIXME: Move it away...
var gradient = ctx.createLinearGradient(0,0,1000,0);
var stops = gradients.length - 1;
+ nmsColor._cache = [];
nms.gradients = gradients;
for (var color in gradients) {
var i = color / stops;
@@ -79,10 +81,13 @@ nmsColor.getColorStop = function(x) {
* made generic.
*/
nmsColor._getColor = function(x,y) {
+ if (nmsColor._cache[x] != undefined)
+ return nmsColor._cache[x];
var ctx = nmsMap._c.hidden.ctx; // FIXME: Move it away...
var imageData = ctx.getImageData(x, y, 1, 1);
var data = imageData.data;
if (data.length < 4)
return false;
- return 'rgb(' + data[0] + ',' + data[1] + ',' + data[2] + ')';
+ nmsColor._cache[x] = 'rgb(' + data[0] + ',' + data[1] + ',' + data[2] + ')';
+ return nmsColor._cache[x];
}
diff --git a/web/js/nms-map-handlers.js b/web/js/nms-map-handlers.js
index 21f2bb2..9a06b42 100644
--- a/web/js/nms-map-handlers.js
+++ b/web/js/nms-map-handlers.js
@@ -596,14 +596,14 @@ function comboInfo(sw) {
var worst = new handlerInfo("combo", "Combo");
worst.score = -1;
for (var h in handlers) {
- try {
- if (handlers[h].tag== "combo")
- continue;
- var ret = handlers[h].getInfo(sw);
- if (ret.score > worst.score) {
- worst = ret;
- }
- } catch(e) { }
+ if (handlers[h].tag== "combo")
+ continue;
+ if (handlers[h].getInfo == undefined)
+ continue;
+ var ret = handlers[h].getInfo(sw);
+ if (ret.score > worst.score) {
+ worst = ret;
+ }
}
worst.data = [{
description: "Worst: " + worst.description,