From 2dc656c0987494635d02b529470f2e17efc2e3ee Mon Sep 17 00:00:00 2001 From: Ilia Choly Date: Thu, 9 Mar 2017 12:50:37 -0500 Subject: [PATCH] Add ol.RenderOrderFunction typedef --- externs/olx.js | 8 ++++---- src/ol/layer/vector.js | 4 ++-- src/ol/typedefs.js | 11 ++++++++++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/externs/olx.js b/externs/olx.js index 9912d40497..751e120b6a 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -3881,7 +3881,7 @@ olx.layer.TileOptions.prototype.useInterimTilesOnError; /** - * @typedef {{renderOrder: (function(ol.Feature, ol.Feature):number|null|undefined), + * @typedef {{renderOrder: (ol.RenderOrderFunction|null|undefined), * minResolution: (number|undefined), * maxResolution: (number|undefined), * opacity: (number|undefined), @@ -3900,7 +3900,7 @@ olx.layer.VectorOptions; * Render order. Function to be used when sorting features before rendering. By * default features are drawn in the order that they are created. Use `null` to * avoid the sort, but get an undefined draw order. - * @type {function(ol.Feature, ol.Feature):number|null|undefined} + * @type {ol.RenderOrderFunction|null|undefined} * @api */ olx.layer.VectorOptions.prototype.renderOrder; @@ -4015,7 +4015,7 @@ olx.layer.VectorOptions.prototype.visible; * preload: (number|undefined), * renderBuffer: (number|undefined), * renderMode: (ol.layer.VectorTileRenderType|string|undefined), - * renderOrder: (function(ol.Feature, ol.Feature):number|undefined), + * renderOrder: (ol.RenderOrderFunction|undefined), * source: (ol.source.VectorTile|undefined), * style: (ol.style.Style|Array.|ol.StyleFunction|undefined), * updateWhileAnimating: (boolean|undefined), @@ -4058,7 +4058,7 @@ olx.layer.VectorTileOptions.prototype.renderMode; /** * Render order. Function to be used when sorting features before rendering. By * default features are drawn in the order that they are created. - * @type {function(ol.Feature, ol.Feature):number|undefined} + * @type {ol.RenderOrderFunction|undefined} * @api */ olx.layer.VectorTileOptions.prototype.renderOrder; diff --git a/src/ol/layer/vector.js b/src/ol/layer/vector.js index 96fa311f12..053e00e500 100644 --- a/src/ol/layer/vector.js +++ b/src/ol/layer/vector.js @@ -102,7 +102,7 @@ ol.layer.Vector.prototype.getRenderBuffer = function() { * order. */ ol.layer.Vector.prototype.getRenderOrder = function() { - return /** @type {function(ol.Feature, ol.Feature):number|null|undefined} */ ( + return /** @type {ol.RenderOrderFunction|null|undefined} */ ( this.get(ol.layer.Vector.Property_.RENDER_ORDER)); }; @@ -157,7 +157,7 @@ ol.layer.Vector.prototype.getUpdateWhileInteracting = function() { /** - * @param {function(ol.Feature, ol.Feature):number|null|undefined} renderOrder + * @param {ol.RenderOrderFunction|null|undefined} renderOrder * Render order. */ ol.layer.Vector.prototype.setRenderOrder = function(renderOrder) { diff --git a/src/ol/typedefs.js b/src/ol/typedefs.js index b3cdc557d9..4370156ff0 100644 --- a/src/ol/typedefs.js +++ b/src/ol/typedefs.js @@ -442,6 +442,15 @@ ol.RasterOperation; ol.RegularShapeRenderOptions; +/** + * A function to be used when sorting features before rendering. + * It takes two instances of {@link ol.Feature} and returns a `{number}`. + * + * @typedef {function(ol.Feature, ol.Feature):number} + */ +ol.RenderOrderFunction; + + /** * @typedef {function(ol.Extent, number, number) : ol.ImageBase} */ @@ -631,7 +640,7 @@ ol.TilePriorityFunction; /** * @typedef {{ * dirty: boolean, - * renderedRenderOrder: (null|function(ol.Feature, ol.Feature):number), + * renderedRenderOrder: (null|ol.RenderOrderFunction), * renderedTileRevision: number, * renderedRevision: number, * replayGroup: ol.render.ReplayGroup}}