{"version":3,"sources":["https://lively-kernel.org/lively4/BP2019RH1/src/internal/individuals-as-points/map/interactiveMapCanvas.js"],"names":["InteractiveMapCanvas","constructor","defaultColoredMap","defaultColoredCanvas","drawingCanvas","canvas","context","getContext","transform","scale","strokeStyle","draw","save","clearRect","width","height","translate","x","y","drawMap","drawIndividuals","drawIndividualsStroked","restore","updateStrokeStyle","setStrokeStyle","updateTransform","updateScale"],"mappings":";;;;;;;;AAAO,YAAMA,oBAAN,CAA2B;;AAEhCC,oBAAYC,iBAAZ,EAA+BC,oBAA/B,EAAqDC,aAArD,EAAoE;AAClE,eAAKF,iBAAL,GAAyBA,iBAAzB;AACA,eAAKC,oBAAL,GAA4BA,oBAA5B;AACA,eAAKE,MAAL,GAAcD,aAAd;AACA,eAAKE,OAAL,GAAeF,cAAcG,UAAd,CAAyB,IAAzB,CAAf;AACA,eAAKC,SAAL,GAAiB,EAAC,KAAM,CAAP,EAAU,KAAM,CAAhB,EAAmB,KAAK,CAAxB,EAAjB;AACA,eAAKC,KAAL,GAAa,CAAb;AACA,eAAKC,WAAL,GAAmB,KAAnB;AACD;;AAEDC,eAAO;AACL,eAAKL,OAAL,CAAaM,IAAb;AACA,eAAKN,OAAL,CAAaO,SAAb,CAAuB,CAAvB,EAA0B,CAA1B,EAA6B,KAAKR,MAAL,CAAYS,KAAzC,EAAgD,KAAKT,MAAL,CAAYU,MAA5D;AACA,eAAKT,OAAL,CAAaU,SAAb,CAAuB,KAAKR,SAAL,CAAeS,CAAtC,EAAyC,KAAKT,SAAL,CAAeU,CAAxD;AACA,eAAKZ,OAAL,CAAaG,KAAb,CAAmB,KAAKA,KAAxB,EAA+B,KAAKA,KAApC;AACA,eAAKP,iBAAL,CAAuBiB,OAAvB;AACA,cAAI,CAAC,KAAKT,WAAV,EAAuB;AACrB,iBAAKP,oBAAL,CAA0BiB,eAA1B;AACD,WAFD,MAEO;AACL,iBAAKjB,oBAAL,CAA0BkB,sBAA1B;AACD;AACD,eAAKf,OAAL,CAAagB,OAAb;AACD;;AAEDC,0BAAkBb,WAAlB,EAA+B;AAC7B,eAAKA,WAAL,GAAmBA,WAAnB;AACA,eAAKC,IAAL;AACD;;AAEDa,uBAAed,WAAf,EAA4B;AAC1B,eAAKA,WAAL,GAAmBA,WAAnB;AACD;;AAEDe,wBAAgBjB,SAAhB,EAA2B;AACzB,eAAKA,SAAL,GAAiBA,SAAjB;AACD;;AAEDkB,oBAAYjB,KAAZ,EAAmB;AACjB,eAAKA,KAAL,GAAaA,KAAb;AACA,eAAKP,iBAAL,CAAuBwB,WAAvB,CAAmCjB,KAAnC;AACA,eAAKN,oBAAL,CAA0BuB,WAA1B,CAAsCjB,KAAtC;AACD;AA3C+B","file":"interactiveMapCanvas.js","sourcesContent":["export class InteractiveMapCanvas {\n  \n  constructor(defaultColoredMap, defaultColoredCanvas, drawingCanvas) {\n    this.defaultColoredMap = defaultColoredMap\n    this.defaultColoredCanvas = defaultColoredCanvas\n    this.canvas = drawingCanvas\n    this.context = drawingCanvas.getContext(\"2d\")\n    this.transform = {\"k\" : 1, \"x\" : 0, \"y\": 0}\n    this.scale = 1\n    this.strokeStyle = false\n  }\n  \n  draw() {\n    this.context.save()\n    this.context.clearRect(0, 0, this.canvas.width, this.canvas.height)\n    this.context.translate(this.transform.x, this.transform.y)\n    this.context.scale(this.scale, this.scale)\n    this.defaultColoredMap.drawMap()\n    if (!this.strokeStyle) {\n      this.defaultColoredCanvas.drawIndividuals()\n    } else {\n      this.defaultColoredCanvas.drawIndividualsStroked()\n    }    \n    this.context.restore()\n  }\n  \n  updateStrokeStyle(strokeStyle) {\n    this.strokeStyle = strokeStyle\n    this.draw()\n  }\n  \n  setStrokeStyle(strokeStyle) {\n    this.strokeStyle = strokeStyle\n  }\n  \n  updateTransform(transform) {\n    this.transform = transform\n  }\n  \n  updateScale(scale) {\n    this.scale = scale\n    this.defaultColoredMap.updateScale(scale)\n    this.defaultColoredCanvas.updateScale(scale)\n  }\n}"]}