Remove goog.array.equals and goog.array.stableSort
This commit is contained in:
@@ -178,11 +178,11 @@ ol.array.remove = function(arr, obj) {
|
||||
/**
|
||||
* @param {Array<VALUE>} arr The array to modify.
|
||||
* @param {?function(this:THISVAL, VALUE, number, ?) : boolean} func The function to compare.
|
||||
* @param {THISVAL=} thisArg Optional this argument for the function.
|
||||
* @param {THISVAL=} opt_thisArg Optional this argument for the function.
|
||||
* @template VALUE,THISVAL
|
||||
* @return {VALUE} If the element was removed.
|
||||
*/
|
||||
ol.array.find = function(arr, func, thisArg) {
|
||||
ol.array.find = function(arr, func, opt_thisArg) {
|
||||
if (typeof func !== 'function') {
|
||||
throw new TypeError('func must be a function');
|
||||
}
|
||||
@@ -192,9 +192,50 @@ ol.array.find = function(arr, func, thisArg) {
|
||||
|
||||
for (var i = 0; i < length; i++) {
|
||||
value = list[i];
|
||||
if (func.call(thisArg, value, i, list)) {
|
||||
if (func.call(opt_thisArg, value, i, list)) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param {goog.array.ArrayLike} arr1 The first array to compare.
|
||||
* @param {goog.array.ArrayLike} arr2 The second array to compare.
|
||||
* @param {Function=} opt_equalsFn Optional comparison function.
|
||||
* @return {boolean} Whether the two arrays are equal.
|
||||
*/
|
||||
ol.array.equals = function(arr1, arr2, opt_equalsFn) {
|
||||
if (!goog.isArrayLike(arr1) || !goog.isArrayLike(arr2) || arr1.length !== arr2.length) {
|
||||
return false;
|
||||
}
|
||||
var length = arr1.length;
|
||||
var equalsFn = opt_equalsFn !== undefined ? opt_equalsFn : function(a, b) {
|
||||
return a === b;
|
||||
};
|
||||
for (var i = 0; i < length; i++) {
|
||||
if (!equalsFn(arr1[i], arr2[i])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
ol.array.stableSort = function(arr, compareFnc) {
|
||||
var length = arr.length;
|
||||
var tmp = Array(arr.length);
|
||||
var i;
|
||||
for (i = 0; i < length; i++) {
|
||||
tmp[i] = {index: i, value: arr[i]};
|
||||
}
|
||||
var compare = compareFnc || function(a, b) {
|
||||
return a > b ? 1 : a < b ? -1 : 0;
|
||||
};
|
||||
tmp.sort(function(a, b) {
|
||||
return compare(a.value, b.value) || a.index - b.index;
|
||||
});
|
||||
for (i = 0; i < arr.length; i++) {
|
||||
arr[i] = tmp[i].value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
goog.provide('ol.interaction.Modify');
|
||||
goog.provide('ol.interaction.ModifyEvent');
|
||||
|
||||
goog.require('goog.array');
|
||||
goog.require('goog.asserts');
|
||||
goog.require('goog.events');
|
||||
goog.require('goog.events.Event');
|
||||
@@ -14,6 +13,7 @@ goog.require('ol.Feature');
|
||||
goog.require('ol.MapBrowserEvent.EventType');
|
||||
goog.require('ol.MapBrowserPointerEvent');
|
||||
goog.require('ol.ViewHint');
|
||||
goog.require('ol.array');
|
||||
goog.require('ol.coordinate');
|
||||
goog.require('ol.events.condition');
|
||||
goog.require('ol.extent');
|
||||
@@ -999,7 +999,7 @@ ol.interaction.Modify.prototype.updateSegmentIndices_ = function(
|
||||
this.rBush_.forEachInExtent(geometry.getExtent(), function(segmentDataMatch) {
|
||||
if (segmentDataMatch.geometry === geometry &&
|
||||
(depth === undefined || segmentDataMatch.depth === undefined ||
|
||||
goog.array.equals(
|
||||
ol.array.equals(
|
||||
/** @type {null|{length: number}} */ (segmentDataMatch.depth),
|
||||
depth)) &&
|
||||
segmentDataMatch.index > index) {
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
goog.provide('ol.render.canvas.Immediate');
|
||||
|
||||
goog.require('goog.array');
|
||||
goog.require('goog.asserts');
|
||||
goog.require('goog.vec.Mat4');
|
||||
goog.require('ol.array');
|
||||
@@ -768,7 +767,7 @@ ol.render.canvas.Immediate.prototype.setContextStrokeState_ = function(strokeSta
|
||||
contextStrokeState.lineCap = context.lineCap = strokeState.lineCap;
|
||||
}
|
||||
if (ol.has.CANVAS_LINE_DASH) {
|
||||
if (!goog.array.equals(
|
||||
if (!ol.array.equals(
|
||||
contextStrokeState.lineDash, strokeState.lineDash)) {
|
||||
context.setLineDash(contextStrokeState.lineDash = strokeState.lineDash);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ goog.provide('ol.render.canvas.Replay');
|
||||
goog.provide('ol.render.canvas.ReplayGroup');
|
||||
goog.provide('ol.render.canvas.TextReplay');
|
||||
|
||||
goog.require('goog.array');
|
||||
goog.require('goog.asserts');
|
||||
goog.require('goog.object');
|
||||
goog.require('goog.vec.Mat4');
|
||||
@@ -1037,7 +1036,7 @@ ol.render.canvas.LineStringReplay.prototype.setStrokeStyle_ = function() {
|
||||
goog.asserts.assert(miterLimit !== undefined, 'miterLimit should be defined');
|
||||
if (state.currentStrokeStyle != strokeStyle ||
|
||||
state.currentLineCap != lineCap ||
|
||||
!goog.array.equals(state.currentLineDash, lineDash) ||
|
||||
!ol.array.equals(state.currentLineDash, lineDash) ||
|
||||
state.currentLineJoin != lineJoin ||
|
||||
state.currentLineWidth != lineWidth ||
|
||||
state.currentMiterLimit != miterLimit) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
goog.provide('ol.renderer.canvas.Layer');
|
||||
|
||||
goog.require('goog.array');
|
||||
goog.require('goog.asserts');
|
||||
goog.require('goog.vec.Mat4');
|
||||
goog.require('ol.array');
|
||||
goog.require('ol.dom');
|
||||
goog.require('ol.extent');
|
||||
goog.require('ol.layer.Layer');
|
||||
@@ -262,7 +262,7 @@ ol.renderer.canvas.Layer.testCanvasSize = (function() {
|
||||
var y = size[1] - 1;
|
||||
context.putImageData(imageData, x, y);
|
||||
var result = context.getImageData(x, y, 1, 1);
|
||||
good = goog.array.equals(imageData.data, result.data);
|
||||
good = ol.array.equals(imageData.data, result.data);
|
||||
}
|
||||
return good;
|
||||
};
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
goog.provide('ol.renderer.canvas.Map');
|
||||
|
||||
goog.require('goog.array');
|
||||
goog.require('goog.asserts');
|
||||
goog.require('goog.dom');
|
||||
goog.require('goog.style');
|
||||
goog.require('goog.vec.Mat4');
|
||||
goog.require('ol');
|
||||
goog.require('ol.RendererType');
|
||||
goog.require('ol.array');
|
||||
goog.require('ol.css');
|
||||
goog.require('ol.dom');
|
||||
goog.require('ol.layer.Image');
|
||||
@@ -171,7 +171,7 @@ ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) {
|
||||
this.dispatchComposeEvent_(ol.render.EventType.PRECOMPOSE, frameState);
|
||||
|
||||
var layerStatesArray = frameState.layerStatesArray;
|
||||
goog.array.stableSort(layerStatesArray, ol.renderer.Map.sortByZIndex);
|
||||
ol.array.stableSort(layerStatesArray, ol.renderer.Map.sortByZIndex);
|
||||
|
||||
var viewResolution = frameState.viewState.resolution;
|
||||
var i, ii, layer, layerRenderer, layerState;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
goog.provide('ol.renderer.dom.Map');
|
||||
|
||||
goog.require('goog.array');
|
||||
goog.require('goog.asserts');
|
||||
goog.require('goog.dom');
|
||||
goog.require('goog.events');
|
||||
@@ -10,6 +9,7 @@ goog.require('goog.style');
|
||||
goog.require('goog.vec.Mat4');
|
||||
goog.require('ol');
|
||||
goog.require('ol.RendererType');
|
||||
goog.require('ol.array');
|
||||
goog.require('ol.css');
|
||||
goog.require('ol.dom');
|
||||
goog.require('ol.layer.Image');
|
||||
@@ -176,7 +176,7 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) {
|
||||
this.dispatchComposeEvent_(ol.render.EventType.PRECOMPOSE, frameState);
|
||||
|
||||
var layerStatesArray = frameState.layerStatesArray;
|
||||
goog.array.stableSort(layerStatesArray, ol.renderer.Map.sortByZIndex);
|
||||
ol.array.stableSort(layerStatesArray, ol.renderer.Map.sortByZIndex);
|
||||
|
||||
var viewResolution = frameState.viewState.resolution;
|
||||
var i, ii, layer, layerRenderer, layerState;
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
goog.provide('ol.renderer.webgl.Map');
|
||||
|
||||
goog.require('goog.array');
|
||||
goog.require('goog.asserts');
|
||||
goog.require('goog.dom');
|
||||
goog.require('goog.events');
|
||||
@@ -14,6 +13,7 @@ goog.require('goog.style');
|
||||
goog.require('goog.webgl');
|
||||
goog.require('ol');
|
||||
goog.require('ol.RendererType');
|
||||
goog.require('ol.array');
|
||||
goog.require('ol.css');
|
||||
goog.require('ol.dom');
|
||||
goog.require('ol.layer.Image');
|
||||
@@ -470,7 +470,7 @@ ol.renderer.webgl.Map.prototype.renderFrame = function(frameState) {
|
||||
/** @type {Array.<ol.layer.LayerState>} */
|
||||
var layerStatesToDraw = [];
|
||||
var layerStatesArray = frameState.layerStatesArray;
|
||||
goog.array.stableSort(layerStatesArray, ol.renderer.Map.sortByZIndex);
|
||||
ol.array.stableSort(layerStatesArray, ol.renderer.Map.sortByZIndex);
|
||||
|
||||
var viewResolution = frameState.viewState.resolution;
|
||||
var i, ii, layerRenderer, layerState;
|
||||
|
||||
Reference in New Issue
Block a user