From 452d5454cb7aee0f5e578f68ef1992009569f193 Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Tue, 2 Oct 2018 12:32:37 -0600 Subject: [PATCH 1/3] Fix type check errors in ol/render/canvas/Immediate --- src/ol/render/canvas/Immediate.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/ol/render/canvas/Immediate.js b/src/ol/render/canvas/Immediate.js index 2baeee8fa2..f38d3fca00 100644 --- a/src/ol/render/canvas/Immediate.js +++ b/src/ol/render/canvas/Immediate.js @@ -577,7 +577,7 @@ class CanvasImmediateRenderer extends VectorContext { const context = this.context_; const flatCoordinates = geometry.getFlatCoordinates(); let offset = 0; - const ends = geometry.getEnds(); + const ends = /** @type {Array} */ (geometry.getEnds()); const stride = geometry.getStride(); context.beginPath(); for (let i = 0, ii = ends.length; i < ii; ++i) { @@ -612,7 +612,7 @@ class CanvasImmediateRenderer extends VectorContext { const context = this.context_; context.beginPath(); this.drawRings_(geometry.getOrientedFlatCoordinates(), - 0, geometry.getEnds(), geometry.getStride()); + 0, /** @type {Array} */ (geometry.getEnds()), geometry.getStride()); if (this.fillState_) { context.fill(); } @@ -693,12 +693,12 @@ class CanvasImmediateRenderer extends VectorContext { const context = this.context_; const contextStrokeState = this.contextStrokeState_; if (!contextStrokeState) { - context.lineCap = strokeState.lineCap; + context.lineCap = /** @type {CanvasLineCap} */ (strokeState.lineCap); if (CANVAS_LINE_DASH) { context.setLineDash(strokeState.lineDash); context.lineDashOffset = strokeState.lineDashOffset; } - context.lineJoin = strokeState.lineJoin; + context.lineJoin = /** @type {CanvasLineJoin} */ (strokeState.lineJoin); context.lineWidth = strokeState.lineWidth; context.miterLimit = strokeState.miterLimit; context.strokeStyle = strokeState.strokeStyle; @@ -713,7 +713,7 @@ class CanvasImmediateRenderer extends VectorContext { }; } else { if (contextStrokeState.lineCap != strokeState.lineCap) { - contextStrokeState.lineCap = context.lineCap = strokeState.lineCap; + contextStrokeState.lineCap = context.lineCap = /** @type {CanvasLineCap} */ (strokeState.lineCap); } if (CANVAS_LINE_DASH) { if (!equals(contextStrokeState.lineDash, strokeState.lineDash)) { @@ -725,7 +725,7 @@ class CanvasImmediateRenderer extends VectorContext { } } if (contextStrokeState.lineJoin != strokeState.lineJoin) { - contextStrokeState.lineJoin = context.lineJoin = strokeState.lineJoin; + contextStrokeState.lineJoin = context.lineJoin = /** @type {CanvasLineJoin} */ (strokeState.lineJoin); } if (contextStrokeState.lineWidth != strokeState.lineWidth) { contextStrokeState.lineWidth = context.lineWidth = strokeState.lineWidth; @@ -752,8 +752,8 @@ class CanvasImmediateRenderer extends VectorContext { textState.textAlign : defaultTextAlign; if (!contextTextState) { context.font = textState.font; - context.textAlign = textAlign; - context.textBaseline = textState.textBaseline; + context.textAlign = /** @type {CanvasTextAlign} */ (textAlign); + context.textBaseline = /** @type {CanvasTextBaseline} */ (textState.textBaseline); this.contextTextState_ = { font: textState.font, textAlign: textAlign, @@ -764,11 +764,11 @@ class CanvasImmediateRenderer extends VectorContext { contextTextState.font = context.font = textState.font; } if (contextTextState.textAlign != textAlign) { - contextTextState.textAlign = context.textAlign = textAlign; + contextTextState.textAlign = context.textAlign = /** @type {CanvasTextAlign} */ (textAlign); } if (contextTextState.textBaseline != textState.textBaseline) { contextTextState.textBaseline = context.textBaseline = - textState.textBaseline; + /** @type {CanvasTextBaseline} */ (textState.textBaseline); } } } From 9ac00667b4fe4fc0c3b2d45a64c8a202d46c830f Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Tue, 2 Oct 2018 12:38:31 -0600 Subject: [PATCH 2/3] Fix type check errors in ol/render/canvas/Replay --- src/ol/render/canvas/Replay.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ol/render/canvas/Replay.js b/src/ol/render/canvas/Replay.js index 44612bf33c..6ce0d83193 100644 --- a/src/ol/render/canvas/Replay.js +++ b/src/ol/render/canvas/Replay.js @@ -485,8 +485,8 @@ class CanvasReplay extends VectorContext { setStrokeStyle_(context, instruction) { context.strokeStyle = /** @type {import("../../colorlike.js").ColorLike} */ (instruction[1]); context.lineWidth = /** @type {number} */ (instruction[2]); - context.lineCap = /** @type {string} */ (instruction[3]); - context.lineJoin = /** @type {string} */ (instruction[4]); + context.lineCap = /** @type {CanvasLineCap} */ (instruction[3]); + context.lineJoin = /** @type {CanvasLineJoin} */ (instruction[4]); context.miterLimit = /** @type {number} */ (instruction[5]); if (CANVAS_LINE_DASH) { context.lineDashOffset = /** @type {number} */ (instruction[7]); @@ -723,7 +723,8 @@ class CanvasReplay extends VectorContext { const pathLength = lineStringLength(pixelCoordinates, begin, end, 2); const textLength = measure(text); if (overflow || textLength <= pathLength) { - const textAlign = /** @type {module:ol~render} */ (this).textStates[textKey].textAlign; + const textReplay = /** @type {import("./TextReplay.js").default} */ (this); + const textAlign = textReplay.textStates[textKey].textAlign; const startM = (pathLength - textLength) * TEXT_ALIGN[textAlign]; const parts = drawTextOnPath( pixelCoordinates, begin, end, 2, text, measure, startM, maxAngle); @@ -733,7 +734,7 @@ class CanvasReplay extends VectorContext { for (c = 0, cc = parts.length; c < cc; ++c) { part = parts[c]; // x, y, anchorX, rotation, chunk chars = /** @type {string} */ (part[4]); - label = /** @type {module:ol~render} */ (this).getImage(chars, textKey, '', strokeKey); + label = textReplay.getImage(chars, textKey, '', strokeKey); anchorX = /** @type {number} */ (part[2]) + strokeWidth; anchorY = baseline * label.height + (0.5 - baseline) * 2 * strokeWidth - offsetY; this.replayImage_(context, @@ -747,7 +748,7 @@ class CanvasReplay extends VectorContext { for (c = 0, cc = parts.length; c < cc; ++c) { part = parts[c]; // x, y, anchorX, rotation, chunk chars = /** @type {string} */ (part[4]); - label = /** @type {module:ol~render} */ (this).getImage(chars, textKey, fillKey, ''); + label = textReplay.getImage(chars, textKey, fillKey, ''); anchorX = /** @type {number} */ (part[2]); anchorY = baseline * label.height - offsetY; this.replayImage_(context, @@ -976,6 +977,7 @@ class CanvasReplay extends VectorContext { */ createFill(state, geometry) { const fillStyle = state.fillStyle; + /** @type {Array<*>} */ const fillInstruction = [CanvasInstruction.SET_FILL_STYLE, fillStyle]; if (typeof fillStyle !== 'string') { // Fill is a pattern or gradient - align it! From 9b12b30100a2190c245fdb7b875f85d06e8add48 Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Tue, 2 Oct 2018 12:39:45 -0600 Subject: [PATCH 3/3] Fix type check errors in ol/render/canvas/TextReplay --- src/ol/render/canvas/TextReplay.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ol/render/canvas/TextReplay.js b/src/ol/render/canvas/TextReplay.js index b0884904b7..e9cf45e306 100644 --- a/src/ol/render/canvas/TextReplay.js +++ b/src/ol/render/canvas/TextReplay.js @@ -288,8 +288,8 @@ class CanvasTextReplay extends CanvasReplay { if (strokeKey) { context.strokeStyle = strokeState.strokeStyle; context.lineWidth = strokeWidth; - context.lineCap = strokeState.lineCap; - context.lineJoin = strokeState.lineJoin; + context.lineCap = /** @type {CanvasLineCap} */ (strokeState.lineCap); + context.lineJoin = /** @type {CanvasLineJoin} */ (strokeState.lineJoin); context.miterLimit = strokeState.miterLimit; if (CANVAS_LINE_DASH && strokeState.lineDash.length) { context.setLineDash(strokeState.lineDash);