UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 705 B
import{pickDefaultScenePoint as x}from"../../renderer/engine-core/defs";import{isPointInConvexQuad as h}from"./pointInConvexQuad";export function getVisibleArea(t){const o=x(t.viewport.canvasToSvg({x:0,y:0})),i=x(t.viewport.canvasToSvg({x:t.canvas.clientWidth,y:0})),n=x(t.viewport.canvasToSvg({x:0,y:t.canvas.clientHeight})),a=x(t.viewport.canvasToSvg({x:t.canvas.clientWidth,y:t.canvas.clientHeight})),c=Math.min(o.x,i.x,n.x,a.x),v=Math.max(o.x,i.x,n.x,a.x),s=Math.min(o.y,i.y,n.y,a.y),m=Math.max(o.y,i.y,n.y,a.y);return{x:c,y:s,width:v-c,height:m-s,left:c,right:v,top:m,bottom:s,center:{x:(c+v)/2,y:(s+m)/2},corners:[o,i,a,n]}}export function isPointVisible(t,o){return h(o,getVisibleArea(t).corners)}