Remove lint
This commit is contained in:
@@ -443,7 +443,9 @@ export function drawImageOrLabel(
|
||||
context.translate(x, y);
|
||||
context.scale(scale[0], scale[1]);
|
||||
context.drawImage(
|
||||
/** @type {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} */ (labelOrImage),
|
||||
/** @type {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} */ (
|
||||
labelOrImage
|
||||
),
|
||||
originX,
|
||||
originY,
|
||||
w,
|
||||
@@ -456,7 +458,9 @@ export function drawImageOrLabel(
|
||||
} else {
|
||||
// if image not flipped translate and scale can be avoided
|
||||
context.drawImage(
|
||||
/** @type {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} */ (labelOrImage),
|
||||
/** @type {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} */ (
|
||||
labelOrImage
|
||||
),
|
||||
originX,
|
||||
originY,
|
||||
w,
|
||||
|
||||
@@ -256,9 +256,15 @@ class CanvasBuilder extends VectorContext {
|
||||
let flatCoordinates, builderEnd, builderEnds, builderEndss;
|
||||
let offset;
|
||||
if (type == GeometryType.MULTI_POLYGON) {
|
||||
flatCoordinates = /** @type {import("../../geom/MultiPolygon.js").default} */ (geometry).getOrientedFlatCoordinates();
|
||||
flatCoordinates =
|
||||
/** @type {import("../../geom/MultiPolygon.js").default} */ (
|
||||
geometry
|
||||
).getOrientedFlatCoordinates();
|
||||
builderEndss = [];
|
||||
const endss = /** @type {import("../../geom/MultiPolygon.js").default} */ (geometry).getEndss();
|
||||
const endss =
|
||||
/** @type {import("../../geom/MultiPolygon.js").default} */ (
|
||||
geometry
|
||||
).getEndss();
|
||||
offset = 0;
|
||||
for (let i = 0, ii = endss.length; i < ii; ++i) {
|
||||
const myEnds = [];
|
||||
@@ -286,12 +292,16 @@ class CanvasBuilder extends VectorContext {
|
||||
builderEnds = [];
|
||||
flatCoordinates =
|
||||
type == GeometryType.POLYGON
|
||||
? /** @type {import("../../geom/Polygon.js").default} */ (geometry).getOrientedFlatCoordinates()
|
||||
? /** @type {import("../../geom/Polygon.js").default} */ (
|
||||
geometry
|
||||
).getOrientedFlatCoordinates()
|
||||
: geometry.getFlatCoordinates();
|
||||
offset = this.drawCustomCoordinates_(
|
||||
flatCoordinates,
|
||||
0,
|
||||
/** @type {import("../../geom/Polygon.js").default|import("../../geom/MultiLineString.js").default} */ (geometry).getEnds(),
|
||||
/** @type {import("../../geom/Polygon.js").default|import("../../geom/MultiLineString.js").default} */ (
|
||||
geometry
|
||||
).getEnds(),
|
||||
stride,
|
||||
builderEnds
|
||||
);
|
||||
|
||||
@@ -538,9 +538,8 @@ class Executor {
|
||||
* @param {Array<*>} instruction Instruction.
|
||||
*/
|
||||
setStrokeStyle_(context, instruction) {
|
||||
context[
|
||||
'strokeStyle'
|
||||
] = /** @type {import("../../colorlike.js").ColorLike} */ (instruction[1]);
|
||||
context['strokeStyle'] =
|
||||
/** @type {import("../../colorlike.js").ColorLike} */ (instruction[1]);
|
||||
context.lineWidth = /** @type {number} */ (instruction[2]);
|
||||
context.lineCap = /** @type {CanvasLineCap} */ (instruction[3]);
|
||||
context.lineJoin = /** @type {CanvasLineJoin} */ (instruction[4]);
|
||||
@@ -669,10 +668,14 @@ class Executor {
|
||||
let x, y, currentGeometry;
|
||||
while (i < ii) {
|
||||
const instruction = instructions[i];
|
||||
const type = /** @type {import("./Instruction.js").default} */ (instruction[0]);
|
||||
const type = /** @type {import("./Instruction.js").default} */ (
|
||||
instruction[0]
|
||||
);
|
||||
switch (type) {
|
||||
case CanvasInstruction.BEGIN_GEOMETRY:
|
||||
feature = /** @type {import("../../Feature.js").FeatureLike} */ (instruction[1]);
|
||||
feature = /** @type {import("../../Feature.js").FeatureLike} */ (
|
||||
instruction[1]
|
||||
);
|
||||
currentGeometry = instruction[3];
|
||||
if (!feature.getGeometry()) {
|
||||
i = /** @type {number} */ (instruction[2]);
|
||||
@@ -721,7 +724,10 @@ class Executor {
|
||||
case CanvasInstruction.CUSTOM:
|
||||
d = /** @type {number} */ (instruction[1]);
|
||||
dd = instruction[2];
|
||||
const geometry = /** @type {import("../../geom/SimpleGeometry.js").default} */ (instruction[3]);
|
||||
const geometry =
|
||||
/** @type {import("../../geom/SimpleGeometry.js").default} */ (
|
||||
instruction[3]
|
||||
);
|
||||
const renderer = instruction[4];
|
||||
const fn = instruction.length == 6 ? instruction[5] : undefined;
|
||||
state.geometry = geometry;
|
||||
@@ -743,7 +749,10 @@ class Executor {
|
||||
case CanvasInstruction.DRAW_IMAGE:
|
||||
d = /** @type {number} */ (instruction[1]);
|
||||
dd = /** @type {number} */ (instruction[2]);
|
||||
image = /** @type {HTMLCanvasElement|HTMLVideoElement|HTMLImageElement} */ (instruction[3]);
|
||||
image =
|
||||
/** @type {HTMLCanvasElement|HTMLVideoElement|HTMLImageElement} */ (
|
||||
instruction[3]
|
||||
);
|
||||
|
||||
// Remaining arguments in DRAW_IMAGE are in alphabetical order
|
||||
anchorX = /** @type {number} */ (instruction[4]);
|
||||
@@ -754,9 +763,14 @@ class Executor {
|
||||
const originY = /** @type {number} */ (instruction[9]);
|
||||
const rotateWithView = /** @type {boolean} */ (instruction[10]);
|
||||
let rotation = /** @type {number} */ (instruction[11]);
|
||||
const scale = /** @type {import("../../size.js").Size} */ (instruction[12]);
|
||||
const scale = /** @type {import("../../size.js").Size} */ (
|
||||
instruction[12]
|
||||
);
|
||||
let width = /** @type {number} */ (instruction[13]);
|
||||
const declutterImageWithText = /** @type {import("../canvas.js").DeclutterImageWithText} */ (instruction[14]);
|
||||
const declutterImageWithText =
|
||||
/** @type {import("../canvas.js").DeclutterImageWithText} */ (
|
||||
instruction[14]
|
||||
);
|
||||
|
||||
if (!image && instruction.length >= 19) {
|
||||
// create label images
|
||||
@@ -1047,7 +1061,9 @@ class Executor {
|
||||
break;
|
||||
case CanvasInstruction.END_GEOMETRY:
|
||||
if (opt_featureCallback !== undefined) {
|
||||
feature = /** @type {import("../../Feature.js").FeatureLike} */ (instruction[1]);
|
||||
feature = /** @type {import("../../Feature.js").FeatureLike} */ (
|
||||
instruction[1]
|
||||
);
|
||||
const result = opt_featureCallback(feature, currentGeometry);
|
||||
if (result) {
|
||||
return result;
|
||||
@@ -1101,7 +1117,10 @@ class Executor {
|
||||
}
|
||||
}
|
||||
|
||||
context.fillStyle = /** @type {import("../../colorlike.js").ColorLike} */ (instruction[1]);
|
||||
context.fillStyle =
|
||||
/** @type {import("../../colorlike.js").ColorLike} */ (
|
||||
instruction[1]
|
||||
);
|
||||
++i;
|
||||
break;
|
||||
case CanvasInstruction.SET_STROKE_STYLE:
|
||||
|
||||
@@ -228,8 +228,12 @@ class ExecutorGroup {
|
||||
* @return {T|undefined} Callback result.
|
||||
*/
|
||||
function featureCallback(feature, geometry) {
|
||||
const imageData = context.getImageData(0, 0, contextSize, contextSize)
|
||||
.data;
|
||||
const imageData = context.getImageData(
|
||||
0,
|
||||
0,
|
||||
contextSize,
|
||||
contextSize
|
||||
).data;
|
||||
for (let i = 0, ii = indexes.length; i < ii; i++) {
|
||||
if (imageData[indexes[i]] > 0) {
|
||||
if (
|
||||
|
||||
@@ -571,7 +571,9 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
break;
|
||||
case GeometryType.MULTI_LINE_STRING:
|
||||
this.drawMultiLineString(
|
||||
/** @type {import("../../geom/MultiLineString.js").default} */ (geometry)
|
||||
/** @type {import("../../geom/MultiLineString.js").default} */ (
|
||||
geometry
|
||||
)
|
||||
);
|
||||
break;
|
||||
case GeometryType.MULTI_POLYGON:
|
||||
@@ -581,7 +583,9 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
break;
|
||||
case GeometryType.GEOMETRY_COLLECTION:
|
||||
this.drawGeometryCollection(
|
||||
/** @type {import("../../geom/GeometryCollection.js").default} */ (geometry)
|
||||
/** @type {import("../../geom/GeometryCollection.js").default} */ (
|
||||
geometry
|
||||
)
|
||||
);
|
||||
break;
|
||||
case GeometryType.CIRCLE:
|
||||
@@ -633,10 +637,12 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
*/
|
||||
drawPoint(geometry) {
|
||||
if (this.squaredTolerance_) {
|
||||
geometry = /** @type {import("../../geom/Point.js").default} */ (geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
));
|
||||
geometry = /** @type {import("../../geom/Point.js").default} */ (
|
||||
geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
)
|
||||
);
|
||||
}
|
||||
const flatCoordinates = geometry.getFlatCoordinates();
|
||||
const stride = geometry.getStride();
|
||||
@@ -656,10 +662,12 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
*/
|
||||
drawMultiPoint(geometry) {
|
||||
if (this.squaredTolerance_) {
|
||||
geometry = /** @type {import("../../geom/MultiPoint.js").default} */ (geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
));
|
||||
geometry = /** @type {import("../../geom/MultiPoint.js").default} */ (
|
||||
geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
)
|
||||
);
|
||||
}
|
||||
const flatCoordinates = geometry.getFlatCoordinates();
|
||||
const stride = geometry.getStride();
|
||||
@@ -679,10 +687,12 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
*/
|
||||
drawLineString(geometry) {
|
||||
if (this.squaredTolerance_) {
|
||||
geometry = /** @type {import("../../geom/LineString.js").default} */ (geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
));
|
||||
geometry = /** @type {import("../../geom/LineString.js").default} */ (
|
||||
geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
)
|
||||
);
|
||||
}
|
||||
if (!intersects(this.extent_, geometry.getExtent())) {
|
||||
return;
|
||||
@@ -715,10 +725,13 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
*/
|
||||
drawMultiLineString(geometry) {
|
||||
if (this.squaredTolerance_) {
|
||||
geometry = /** @type {import("../../geom/MultiLineString.js").default} */ (geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
));
|
||||
geometry =
|
||||
/** @type {import("../../geom/MultiLineString.js").default} */ (
|
||||
geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
)
|
||||
);
|
||||
}
|
||||
const geometryExtent = geometry.getExtent();
|
||||
if (!intersects(this.extent_, geometryExtent)) {
|
||||
@@ -757,10 +770,12 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
*/
|
||||
drawPolygon(geometry) {
|
||||
if (this.squaredTolerance_) {
|
||||
geometry = /** @type {import("../../geom/Polygon.js").default} */ (geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
));
|
||||
geometry = /** @type {import("../../geom/Polygon.js").default} */ (
|
||||
geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
)
|
||||
);
|
||||
}
|
||||
if (!intersects(this.extent_, geometry.getExtent())) {
|
||||
return;
|
||||
@@ -800,10 +815,12 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
*/
|
||||
drawMultiPolygon(geometry) {
|
||||
if (this.squaredTolerance_) {
|
||||
geometry = /** @type {import("../../geom/MultiPolygon.js").default} */ (geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
));
|
||||
geometry = /** @type {import("../../geom/MultiPolygon.js").default} */ (
|
||||
geometry.simplifyTransformed(
|
||||
this.squaredTolerance_,
|
||||
this.userTransform_
|
||||
)
|
||||
);
|
||||
}
|
||||
if (!intersects(this.extent_, geometry.getExtent())) {
|
||||
return;
|
||||
@@ -932,7 +949,9 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
if (!contextTextState) {
|
||||
context.font = textState.font;
|
||||
context.textAlign = /** @type {CanvasTextAlign} */ (textAlign);
|
||||
context.textBaseline = /** @type {CanvasTextBaseline} */ (textState.textBaseline);
|
||||
context.textBaseline = /** @type {CanvasTextBaseline} */ (
|
||||
textState.textBaseline
|
||||
);
|
||||
this.contextTextState_ = {
|
||||
font: textState.font,
|
||||
textAlign: textAlign,
|
||||
@@ -948,8 +967,12 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
context.textAlign = /** @type {CanvasTextAlign} */ (textAlign);
|
||||
}
|
||||
if (contextTextState.textBaseline != textState.textBaseline) {
|
||||
contextTextState.textBaseline = /** @type {CanvasTextBaseline} */ (textState.textBaseline);
|
||||
context.textBaseline = /** @type {CanvasTextBaseline} */ (textState.textBaseline);
|
||||
contextTextState.textBaseline = /** @type {CanvasTextBaseline} */ (
|
||||
textState.textBaseline
|
||||
);
|
||||
context.textBaseline = /** @type {CanvasTextBaseline} */ (
|
||||
textState.textBaseline
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1082,7 +1105,8 @@ class CanvasImmediateRenderer extends VectorContext {
|
||||
const textStrokeStyleColor = textStrokeStyle.getColor();
|
||||
const textStrokeStyleLineCap = textStrokeStyle.getLineCap();
|
||||
const textStrokeStyleLineDash = textStrokeStyle.getLineDash();
|
||||
const textStrokeStyleLineDashOffset = textStrokeStyle.getLineDashOffset();
|
||||
const textStrokeStyleLineDashOffset =
|
||||
textStrokeStyle.getLineDashOffset();
|
||||
const textStrokeStyleLineJoin = textStrokeStyle.getLineJoin();
|
||||
const textStrokeStyleWidth = textStrokeStyle.getWidth();
|
||||
const textStrokeStyleMiterLimit = textStrokeStyle.getMiterLimit();
|
||||
|
||||
@@ -192,13 +192,18 @@ class CanvasTextBuilder extends CanvasBuilder {
|
||||
if (geometryType == GeometryType.LINE_STRING) {
|
||||
ends = [flatCoordinates.length];
|
||||
} else if (geometryType == GeometryType.MULTI_LINE_STRING) {
|
||||
ends = /** @type {import("../../geom/MultiLineString.js").default} */ (geometry).getEnds();
|
||||
ends = /** @type {import("../../geom/MultiLineString.js").default} */ (
|
||||
geometry
|
||||
).getEnds();
|
||||
} else if (geometryType == GeometryType.POLYGON) {
|
||||
ends = /** @type {import("../../geom/Polygon.js").default} */ (geometry)
|
||||
.getEnds()
|
||||
.slice(0, 1);
|
||||
} else if (geometryType == GeometryType.MULTI_POLYGON) {
|
||||
const endss = /** @type {import("../../geom/MultiPolygon.js").default} */ (geometry).getEndss();
|
||||
const endss =
|
||||
/** @type {import("../../geom/MultiPolygon.js").default} */ (
|
||||
geometry
|
||||
).getEndss();
|
||||
ends = [];
|
||||
for (let i = 0, ii = endss.length; i < ii; ++i) {
|
||||
ends.push(endss[i][0]);
|
||||
@@ -236,27 +241,45 @@ class CanvasTextBuilder extends CanvasBuilder {
|
||||
switch (geometryType) {
|
||||
case GeometryType.POINT:
|
||||
case GeometryType.MULTI_POINT:
|
||||
flatCoordinates = /** @type {import("../../geom/MultiPoint.js").default} */ (geometry).getFlatCoordinates();
|
||||
flatCoordinates =
|
||||
/** @type {import("../../geom/MultiPoint.js").default} */ (
|
||||
geometry
|
||||
).getFlatCoordinates();
|
||||
break;
|
||||
case GeometryType.LINE_STRING:
|
||||
flatCoordinates = /** @type {import("../../geom/LineString.js").default} */ (geometry).getFlatMidpoint();
|
||||
flatCoordinates =
|
||||
/** @type {import("../../geom/LineString.js").default} */ (
|
||||
geometry
|
||||
).getFlatMidpoint();
|
||||
break;
|
||||
case GeometryType.CIRCLE:
|
||||
flatCoordinates = /** @type {import("../../geom/Circle.js").default} */ (geometry).getCenter();
|
||||
flatCoordinates =
|
||||
/** @type {import("../../geom/Circle.js").default} */ (
|
||||
geometry
|
||||
).getCenter();
|
||||
break;
|
||||
case GeometryType.MULTI_LINE_STRING:
|
||||
flatCoordinates = /** @type {import("../../geom/MultiLineString.js").default} */ (geometry).getFlatMidpoints();
|
||||
flatCoordinates =
|
||||
/** @type {import("../../geom/MultiLineString.js").default} */ (
|
||||
geometry
|
||||
).getFlatMidpoints();
|
||||
stride = 2;
|
||||
break;
|
||||
case GeometryType.POLYGON:
|
||||
flatCoordinates = /** @type {import("../../geom/Polygon.js").default} */ (geometry).getFlatInteriorPoint();
|
||||
flatCoordinates =
|
||||
/** @type {import("../../geom/Polygon.js").default} */ (
|
||||
geometry
|
||||
).getFlatInteriorPoint();
|
||||
if (!textState.overflow) {
|
||||
geometryWidths.push(flatCoordinates[2] / this.resolution);
|
||||
}
|
||||
stride = 3;
|
||||
break;
|
||||
case GeometryType.MULTI_POLYGON:
|
||||
const interiorPoints = /** @type {import("../../geom/MultiPolygon.js").default} */ (geometry).getFlatInteriorPoints();
|
||||
const interiorPoints =
|
||||
/** @type {import("../../geom/MultiPolygon.js").default} */ (
|
||||
geometry
|
||||
).getFlatInteriorPoints();
|
||||
flatCoordinates = [];
|
||||
for (let i = 0, ii = interiorPoints.length; i < ii; i += 3) {
|
||||
if (!textState.overflow) {
|
||||
|
||||
Reference in New Issue
Block a user