123456789101112131415161718192021222324252627282930313233343536373839404142 |
- type Coordinates = {
- x: number | null;
- y: number | null;
- };
- type CreatePolylineType = (
- penCoordinates: Coordinates,
- color: string,
- opacity: number,
- strokeWidth: number,
- ) => SVGPolylineElement;
- type CompletePathType = (
- pathElement: SVGPolylineElement | null,
- penCoordinates: Coordinates,
- ) => void;
- export const createPolyline: CreatePolylineType = (
- penCoordinates,
- color,
- opacity,
- strokeWidth,
- ) => {
- const path = document.createElementNS(
- 'http://www.w3.org/2000/svg',
- 'polyline',
- );
- path.setAttribute('fill', 'none');
- path.setAttribute('stroke', color);
- path.setAttribute('stroke-width', strokeWidth.toString());
- path.setAttribute('stroke-opacity', (opacity * 0.01).toString());
- path.setAttribute('points', `${penCoordinates.x},${penCoordinates.y}`);
- return path;
- };
- export const completePath: CompletePathType = (pathElement, penCoordinates) => {
- if (pathElement && penCoordinates.x) {
- let points = pathElement.getAttribute('points') || '';
- points += ` ${penCoordinates.x},${penCoordinates.y}`;
- pathElement.setAttribute('points', points);
- }
- };
|