1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import PropTypes from "prop-types";
import React from "react";
import {Group, Line} from "react-konva";
import {TILE_PLUS_COLOR} from "../../../colors/index";
import {TILE_PLUS_MARGIN_IN_PIXELS, TILE_PLUS_WIDTH_IN_PIXELS, TILE_SIZE_IN_PIXELS} from "../MapConstants";
const TilePlusIcon = ({pixelX, pixelY}) => {
const linePoints = [
[
pixelX + 0.5 * TILE_SIZE_IN_PIXELS,
pixelY + TILE_PLUS_MARGIN_IN_PIXELS,
pixelX + 0.5 * TILE_SIZE_IN_PIXELS,
pixelY + TILE_SIZE_IN_PIXELS - TILE_PLUS_MARGIN_IN_PIXELS,
],
[
pixelX + TILE_PLUS_MARGIN_IN_PIXELS,
pixelY + 0.5 * TILE_SIZE_IN_PIXELS,
pixelX + TILE_SIZE_IN_PIXELS - TILE_PLUS_MARGIN_IN_PIXELS,
pixelY + 0.5 * TILE_SIZE_IN_PIXELS,
],
];
return (
<Group>
{linePoints.map((points, index) => (
<Line
key={index}
points={points}
lineCap="round"
stroke={TILE_PLUS_COLOR}
strokeWidth={TILE_PLUS_WIDTH_IN_PIXELS}
listening={false}
/>
))}
</Group>
)
};
TilePlusIcon.propTypes = {
pixelX: PropTypes.number,
pixelY: PropTypes.number,
};
export default TilePlusIcon;
|