tldraw
Version:
A tiny little drawing editor.
33 lines (32 loc) • 996 B
JavaScript
function getCurvedArrowHandlePath(info) {
const {
start,
end,
handleArc: { radius, largeArcFlag, sweepFlag }
} = info;
return `M${start.handle.x},${start.handle.y} A${radius} ${radius} 0 ${largeArcFlag} ${sweepFlag} ${end.handle.x},${end.handle.y}`;
}
function getSolidCurvedArrowPath(info) {
const {
start,
end,
bodyArc: { radius, largeArcFlag, sweepFlag }
} = info;
return `M${start.point.x},${start.point.y} A${radius} ${radius} 0 ${largeArcFlag} ${sweepFlag} ${end.point.x},${end.point.y}`;
}
function getArrowPath(start, end) {
return `M${start.x},${start.y}L${end.x},${end.y}`;
}
function getStraightArrowHandlePath(info) {
return getArrowPath(info.start.handle, info.end.handle);
}
function getSolidStraightArrowPath(info) {
return getArrowPath(info.start.point, info.end.point);
}
export {
getCurvedArrowHandlePath,
getSolidCurvedArrowPath,
getSolidStraightArrowPath,
getStraightArrowHandlePath
};
//# sourceMappingURL=arrowpaths.mjs.map