1234567891011121314151617181920212223242526272829303132 |
- 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);
- }
- };
|