Module type for ol.render.Feature

This commit is contained in:
Frederic Junod
2018-04-20 14:53:56 +02:00
parent 3c0c4cd155
commit 7701c5fd3a
21 changed files with 105 additions and 128 deletions

View File

@@ -450,7 +450,7 @@ CanvasImmediateRenderer.prototype.setStyle = function(style) {
* Render a geometry into the canvas. Call
* {@link ol.render.canvas.Immediate#setStyle} first to set the rendering style.
*
* @param {module:ol/geom/Geometry~Geometry|ol.render.Feature} geometry The geometry to render.
* @param {module:ol/geom/Geometry~Geometry|module:ol/render/Feature~RenderFeature} geometry The geometry to render.
* @override
* @api
*/
@@ -526,7 +526,7 @@ CanvasImmediateRenderer.prototype.drawGeometryCollection = function(geometry) {
* Render a Point geometry into the canvas. Rendering is immediate and uses
* the current style.
*
* @param {module:ol/geom/Point~Point|ol.render.Feature} geometry Point geometry.
* @param {module:ol/geom/Point~Point|module:ol/render/Feature~RenderFeature} geometry Point geometry.
* @override
*/
CanvasImmediateRenderer.prototype.drawPoint = function(geometry) {
@@ -545,7 +545,7 @@ CanvasImmediateRenderer.prototype.drawPoint = function(geometry) {
* Render a MultiPoint geometry into the canvas. Rendering is immediate and
* uses the current style.
*
* @param {module:ol/geom/MultiPoint~MultiPoint|ol.render.Feature} geometry MultiPoint geometry.
* @param {module:ol/geom/MultiPoint~MultiPoint|module:ol/render/Feature~RenderFeature} geometry MultiPoint geometry.
* @override
*/
CanvasImmediateRenderer.prototype.drawMultiPoint = function(geometry) {
@@ -564,7 +564,7 @@ CanvasImmediateRenderer.prototype.drawMultiPoint = function(geometry) {
* Render a LineString into the canvas. Rendering is immediate and uses
* the current style.
*
* @param {module:ol/geom/LineString~LineString|ol.render.Feature} geometry LineString geometry.
* @param {module:ol/geom/LineString~LineString|module:ol/render/Feature~RenderFeature} geometry LineString geometry.
* @override
*/
CanvasImmediateRenderer.prototype.drawLineString = function(geometry) {
@@ -591,8 +591,7 @@ CanvasImmediateRenderer.prototype.drawLineString = function(geometry) {
* Render a MultiLineString geometry into the canvas. Rendering is immediate
* and uses the current style.
*
* @param {module:ol/geom/MultiLineString~MultiLineString|ol.render.Feature} geometry MultiLineString
* geometry.
* @param {module:ol/geom/MultiLineString~MultiLineString|module:ol/render/Feature~RenderFeature} geometry MultiLineString geometry.
* @override
*/
CanvasImmediateRenderer.prototype.drawMultiLineString = function(geometry) {
@@ -624,7 +623,7 @@ CanvasImmediateRenderer.prototype.drawMultiLineString = function(geometry) {
* Render a Polygon geometry into the canvas. Rendering is immediate and uses
* the current style.
*
* @param {module:ol/geom/Polygon~Polygon|ol.render.Feature} geometry Polygon geometry.
* @param {module:ol/geom/Polygon~Polygon|module:ol/render/Feature~RenderFeature} geometry Polygon geometry.
* @override
*/
CanvasImmediateRenderer.prototype.drawPolygon = function(geometry) {

View File

@@ -201,7 +201,7 @@ CanvasPolygonReplay.prototype.finish = function() {
/**
* @private
* @param {module:ol/geom/Geometry~Geometry|ol.render.Feature} geometry Geometry.
* @param {module:ol/geom/Geometry~Geometry|module:ol/render/Feature~RenderFeature} geometry Geometry.
*/
CanvasPolygonReplay.prototype.setFillStrokeStyles_ = function(geometry) {
const state = this.state;

View File

@@ -439,8 +439,8 @@ CanvasReplay.prototype.drawCustom = function(geometry, feature, renderer) {
/**
* @protected
* @param {module:ol/geom/Geometry~Geometry|ol.render.Feature} geometry Geometry.
* @param {module:ol/Feature~Feature|ol.render.Feature} feature Feature.
* @param {module:ol/geom/Geometry~Geometry|module:ol/render/Feature~RenderFeature} geometry Geometry.
* @param {module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature} feature Feature.
*/
CanvasReplay.prototype.beginGeometry = function(geometry, feature) {
this.beginGeometryInstruction1_ = [CanvasInstruction.BEGIN_GEOMETRY, feature, 0];
@@ -487,7 +487,7 @@ CanvasReplay.prototype.setStrokeStyle_ = function(context, instruction) {
/**
* @param {module:ol/render/canvas~DeclutterGroup} declutterGroup Declutter group.
* @param {module:ol/Feature~Feature|ol.render.Feature} feature Feature.
* @param {module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature} feature Feature.
*/
CanvasReplay.prototype.renderDeclutter_ = function(declutterGroup, feature) {
if (declutterGroup && declutterGroup.length > 5) {
@@ -529,7 +529,7 @@ CanvasReplay.prototype.renderDeclutter_ = function(declutterGroup, feature) {
* @param {Object.<string, boolean>} skippedFeaturesHash Ids of features
* to skip.
* @param {Array.<*>} instructions Instructions array.
* @param {function((module:ol/Feature~Feature|ol.render.Feature)): T|undefined}
* @param {function((module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature)): T|undefined}
* featureCallback Feature callback.
* @param {module:ol/extent~Extent=} opt_hitExtent Only check features that intersect this
* extent.
@@ -575,14 +575,14 @@ CanvasReplay.prototype.replay_ = function(
// When the batch size gets too big, performance decreases. 200 is a good
// balance between batch size and number of fill/stroke instructions.
const batchSize = this.instructions != instructions || this.overlaps ? 0 : 200;
let /** @type {module:ol/Feature~Feature|ol.render.Feature} */ feature;
let /** @type {module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature} */ feature;
let x, y;
while (i < ii) {
const instruction = instructions[i];
const type = /** @type {ol.render.canvas.Instruction} */ (instruction[0]);
switch (type) {
case CanvasInstruction.BEGIN_GEOMETRY:
feature = /** @type {module:ol/Feature~Feature|ol.render.Feature} */ (instruction[1]);
feature = /** @type {module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature} */ (instruction[1]);
if ((skipFeatures &&
skippedFeaturesHash[getUid(feature).toString()]) ||
!feature.getGeometry()) {
@@ -751,7 +751,7 @@ CanvasReplay.prototype.replay_ = function(
break;
case CanvasInstruction.END_GEOMETRY:
if (featureCallback !== undefined) {
feature = /** @type {module:ol/Feature~Feature|ol.render.Feature} */ (instruction[1]);
feature = /** @type {module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature} */ (instruction[1]);
const result = featureCallback(feature);
if (result) {
return result;
@@ -861,7 +861,7 @@ CanvasReplay.prototype.replay = function(
* @param {number} viewRotation View rotation.
* @param {Object.<string, boolean>} skippedFeaturesHash Ids of features
* to skip.
* @param {function((module:ol/Feature~Feature|ol.render.Feature)): T=} opt_featureCallback
* @param {function((module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature)): T=} opt_featureCallback
* Feature callback.
* @param {module:ol/extent~Extent=} opt_hitExtent Only check features that intersect this
* extent.
@@ -958,7 +958,7 @@ CanvasReplay.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) {
/**
* @param {module:ol/render/canvas~FillStrokeState} state State.
* @param {module:ol/geom/Geometry~Geometry|ol.render.Feature} geometry Geometry.
* @param {module:ol/geom/Geometry~Geometry|module:ol/render/Feature~RenderFeature} geometry Geometry.
* @return {Array.<*>} Fill instruction.
*/
CanvasReplay.prototype.createFill = function(state, geometry) {
@@ -996,8 +996,8 @@ CanvasReplay.prototype.createStroke = function(state) {
/**
* @param {module:ol/render/canvas~FillStrokeState} state State.
* @param {function(this:ol.render.canvas.Replay, module:ol/render/canvas~FillStrokeState, (module:ol/geom/Geometry~Geometry|ol.render.Feature)):Array.<*>} createFill Create fill.
* @param {module:ol/geom/Geometry~Geometry|ol.render.Feature} geometry Geometry.
* @param {function(this:ol.render.canvas.Replay, module:ol/render/canvas~FillStrokeState, (module:ol/geom/Geometry~Geometry|module:ol/render/Feature~RenderFeature)):Array.<*>} createFill Create fill.
* @param {module:ol/geom/Geometry~Geometry|module:ol/render/Feature~RenderFeature} geometry Geometry.
*/
CanvasReplay.prototype.updateFillStyle = function(state, createFill, geometry) {
const fillStyle = state.fillStyle;
@@ -1044,8 +1044,8 @@ CanvasReplay.prototype.updateStrokeStyle = function(state, applyStroke) {
/**
* @param {module:ol/geom/Geometry~Geometry|ol.render.Feature} geometry Geometry.
* @param {module:ol/Feature~Feature|ol.render.Feature} feature Feature.
* @param {module:ol/geom/Geometry~Geometry|module:ol/render/Feature~RenderFeature} geometry Geometry.
* @param {module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature} feature Feature.
*/
CanvasReplay.prototype.endGeometry = function(geometry, feature) {
this.beginGeometryInstruction1_[2] = this.instructions.length;

View File

@@ -286,12 +286,9 @@ CanvasReplayGroup.prototype.finish = function() {
* @param {number} resolution Resolution.
* @param {number} rotation Rotation.
* @param {number} hitTolerance Hit tolerance in pixels.
* @param {Object.<string, boolean>} skippedFeaturesHash Ids of features
* to skip.
* @param {function((module:ol/Feature~Feature|ol.render.Feature)): T} callback Feature
* callback.
* @param {Object.<string, module:ol/render/canvas~DeclutterGroup>} declutterReplays Declutter
* replays.
* @param {Object.<string, boolean>} skippedFeaturesHash Ids of features to skip.
* @param {function((module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature)): T} callback Feature callback.
* @param {Object.<string, module:ol/render/canvas~DeclutterGroup>} declutterReplays Declutter replays.
* @return {T|undefined} Callback result.
* @template T
*/
@@ -335,7 +332,7 @@ CanvasReplayGroup.prototype.forEachFeatureAtCoordinate = function(
let replayType;
/**
* @param {module:ol/Feature~Feature|ol.render.Feature} feature Feature.
* @param {module:ol/Feature~Feature|module:ol/render/Feature~RenderFeature} feature Feature.
* @return {?} Callback result.
*/
function featureCallback(feature) {
@@ -453,12 +450,10 @@ CanvasReplayGroup.prototype.isEmpty = function() {
* @param {CanvasRenderingContext2D} context Context.
* @param {module:ol/transform~Transform} transform Transform.
* @param {number} viewRotation View rotation.
* @param {Object.<string, boolean>} skippedFeaturesHash Ids of features
* to skip.
* @param {Array.<ol.render.ReplayType>=} opt_replayTypes Ordered replay types
* to replay. Default is {@link ol.render.replay.ORDER}
* @param {Object.<string, module:ol/render/canvas~DeclutterGroup>=} opt_declutterReplays Declutter
* replays.
* @param {Object.<string, boolean>} skippedFeaturesHash Ids of features to skip.
* @param {Array.<ol.render.ReplayType>=} opt_replayTypes Ordered replay types to replay.
* Default is {@link ol.render.replay.ORDER}
* @param {Object.<string, module:ol/render/canvas~DeclutterGroup>=} opt_declutterReplays Declutter replays.
*/
CanvasReplayGroup.prototype.replay = function(context,
transform, viewRotation, skippedFeaturesHash, opt_replayTypes, opt_declutterReplays) {