UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 955 B
import{Rect as v}from"../../components/Map/drawing/config/Rect";const h=new Map;export function createCircleCanvas(o,n){const c=n.toUpperCase();if(!h.has(c)){const e=document.createElement("canvas"),s=o*2*devicePixelRatio+1*2;e.width=s,e.height=s;const i=e.getContext("2d");i.fillStyle=n,i.beginPath(),i.arc(s/2,s/2,o*devicePixelRatio,0,2*Math.PI),i.fill(),h.set(c,e)}return h.get(c)}const r=new Map;export function createBookmarkCanvas(o,n){const c=o;if(r.has(c))return r.get(c);const e=o,a=e*1.4,s=Math.ceil(e*n),i=Math.ceil(a*n),l=document.createElement("canvas");l.width=s,l.height=i;const t=l.getContext("2d");return t.scale(n,n),t.fillStyle="#fdbf2b",t.strokeStyle="#fff",t.lineWidth=4/n,t.beginPath(),t.moveTo(0,0),t.lineTo(0,a),t.lineTo(e/2,a-e/2),t.lineTo(e,a),t.lineTo(e,0),t.lineTo(0,0),t.fill(),t.stroke(),r.set(c,l),l}export function getBounds(o,n,c,e,a=1,s){const i=c*a,l=e*a,t=i/2,d=l/2,f={x:o-t,y:n-d},g={x:o+t,y:n+d};return new v(f,g,s)}