js-cloudimage-360-view 4.0.0-beta.8 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js-cloudimage-360-view.min.js +2111 -1
- package/package.json +1 -2
- package/dist/assets/canvas.worker-B_m9quW5.js.map +0 -1
- package/dist/js-cloudimage-360-view.min.js.map +0 -1
- package/js-cloudimage-360-view-4.0.0-beta.3.tgz +0 -0
- package/vite-npm.config.js +0 -12
- /package/dist/{style.css → js-cloudimage-360-view.min.css} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "js-cloudimage-360-view",
|
|
3
|
-
"version": "4.0.0
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"main": "dist/js-cloudimage-360-view.min.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -43,7 +43,6 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@popperjs/core": "^2.11.2",
|
|
46
|
-
"js-cloudimage-360-view": "4.0.0-beta.7",
|
|
47
46
|
"lodash.debounce": "^4.0.8",
|
|
48
47
|
"lodash.throttle": "^4.1.1"
|
|
49
48
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.worker-B_m9quW5.js","sources":["../src/canvas.worker.js","../src/utils/zoom/calculate-zoomed-dimensions.js","../src/utils/zoom/calculate-zoomed-offset.js"],"sourcesContent":["import { calculateZoomedDimensions, calculateZoomOffsets } from './utils';\n\nlet canvas, ctx, dpr, drawWidth, drawHeight, wideImage;\n\nself.onmessage = async (event) => {\n const {\n action,\n offscreen,\n devicePixelRatio,\n imageData,\n zoomScale,\n pointerX,\n pointerY,\n imageAspectRatio,\n containerWidth,\n containerHeight,\n } = event.data;\n\n switch (action) {\n case 'initCanvas':\n initCanvas(offscreen, devicePixelRatio);\n break;\n case 'adaptCanvasSize':\n adaptCanvasSize(imageAspectRatio, containerWidth, containerHeight);\n break;\n case 'drawImageOnCanvas':\n drawImageOnCanvas(imageData, zoomScale, pointerX, pointerY);\n break;\n default:\n break;\n }\n};\n\nconst initCanvas = (offscreenCanvas, devicePixelRatio) => {\n canvas = offscreenCanvas;\n ctx = canvas.getContext('2d');\n dpr = devicePixelRatio;\n};\n\nconst adaptCanvasSize = (imageAspectRatio, containerWidth, containerHeight) => {\n const containerAspectRatio = containerWidth / containerHeight;\n wideImage = imageAspectRatio > containerAspectRatio;\n\n canvas.width = containerWidth * dpr;\n canvas.height = containerHeight * dpr;\n ctx.scale(dpr, dpr);\n\n if (wideImage) {\n drawWidth = containerWidth;\n drawHeight = containerWidth / imageAspectRatio;\n } else {\n drawHeight = containerHeight;\n drawWidth = containerHeight * imageAspectRatio;\n }\n\n ctx.imageSmoothingEnabled = true;\n ctx.imageSmoothingQuality = 'high';\n};\n\n// Draw the image on the OffscreenCanvas\nconst drawImageOnCanvas = (imageData = {}, zoomScale = 1, pointerX = 0, pointerY = 0) => {\n const { bitmapImage } = imageData;\n if (!canvas || !bitmapImage) return;\n\n let offsetX, offsetY;\n if (wideImage) {\n offsetX = 0;\n offsetY = (canvas.height / dpr - drawHeight) / 2;\n } else {\n offsetX = (canvas.width / dpr - drawWidth) / 2;\n offsetY = 0;\n }\n\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n if (zoomScale !== 1) {\n const { zoomedWidth, zoomedHeight } = calculateZoomedDimensions(drawWidth, drawHeight, zoomScale);\n\n const { zoomOffsetX, zoomOffsetY } = calculateZoomOffsets({\n pointerX,\n pointerY,\n imageData,\n zoomedWidth,\n zoomedHeight,\n drawWidth,\n drawHeight,\n });\n\n ctx.drawImage(\n bitmapImage,\n zoomOffsetX,\n zoomOffsetY,\n zoomedWidth,\n zoomedHeight,\n offsetX,\n offsetY,\n drawWidth,\n drawHeight\n );\n } else {\n ctx.drawImage(bitmapImage, offsetX, offsetY, drawWidth, drawHeight);\n }\n};\n","export const calculateZoomedDimensions = (drawWidth, drawHeight, zoomScale) => {\n const zoomedWidth = drawWidth / zoomScale;\n const zoomedHeight = drawHeight / zoomScale;\n return { zoomedWidth, zoomedHeight };\n};\n","export const calculateZoomOffsets = ({\n pointerX,\n pointerY,\n imageData,\n zoomedWidth,\n zoomedHeight,\n drawWidth,\n drawHeight,\n}) => {\n const { naturalWidth, naturalHeight } = imageData;\n let zoomOffsetX = (pointerX / drawWidth) * naturalWidth - zoomedWidth / 2;\n let zoomOffsetY = (pointerY / drawHeight) * naturalHeight - zoomedHeight / 2;\n\n // Calculate max offset values\n const maxOffsetX = Math.max(0, naturalWidth - zoomedWidth);\n const maxOffsetY = Math.max(0, naturalHeight - zoomedHeight);\n\n // Clamp zoom offsets to the valid range\n zoomOffsetX = Math.max(0, Math.min(zoomOffsetX, maxOffsetX));\n zoomOffsetY = Math.max(0, Math.min(zoomOffsetY, maxOffsetY));\n\n return { zoomOffsetX, zoomOffsetY };\n};\n"],"names":["canvas","ctx","dpr","drawWidth","drawHeight","wideImage","self","onmessage","async","event","action","offscreen","devicePixelRatio","imageData","zoomScale","pointerX","pointerY","imageAspectRatio","containerWidth","containerHeight","data","initCanvas","adaptCanvasSize","drawImageOnCanvas","offscreenCanvas","getContext","width","height","scale","imageSmoothingEnabled","imageSmoothingQuality","bitmapImage","offsetX","offsetY","clearRect","zoomedWidth","zoomedHeight","calculateZoomedDimensions","zoomOffsetX","zoomOffsetY","naturalWidth","naturalHeight","maxOffsetX","Math","max","maxOffsetY","min","calculateZoomOffsets","drawImage"],"mappings":"yBAEA,IAAIA,EAAQC,EAAKC,EAAKC,EAAWC,EAAYC,EAExCC,KAAAC,UAAYC,MAAOC,IAChB,MAAAC,OACJA,EAAAC,UACAA,EAAAC,iBACAA,EAAAC,UACAA,EAAAC,UACAA,EAAAC,SACAA,EAAAC,SACAA,EAAAC,iBACAA,EAAAC,eACAA,EAAAC,gBACAA,GACEV,EAAMW,KAEV,OAAQV,GACN,IAAK,aACHW,EAAWV,EAAWC,GACtB,MACF,IAAK,kBACaU,EAAAL,EAAkBC,EAAgBC,GAClD,MACF,IAAK,oBACeI,EAAAV,EAAWC,EAAWC,EAAUC,GAIxD,EAGM,MAAAK,EAAa,CAACG,EAAiBZ,KAC1BZ,EAAAwB,EACHvB,EAAAD,EAAOyB,WAAW,MAClBvB,EAAAU,CAAA,EAGFU,EAAkB,CAACL,EAAkBC,EAAgBC,KAEzDd,EAAYY,EADiBC,EAAiBC,EAG9CnB,EAAO0B,MAAQR,EAAiBhB,EAChCF,EAAO2B,OAASR,EAAkBjB,EAC9BD,EAAA2B,MAAM1B,EAAKA,GAEXG,GACUF,EAAAe,EACZd,EAAac,EAAiBD,IAEjBb,EAAAe,EACbhB,EAAYgB,EAAkBF,GAGhChB,EAAI4B,uBAAwB,EAC5B5B,EAAI6B,sBAAwB,MAAA,EAIxBP,EAAoB,CAACV,EAAY,CAAA,EAAIC,EAAY,EAAGC,EAAW,EAAGC,EAAW,KAC3E,MAAAe,YAAEA,GAAgBlB,EACpB,IAACb,IAAW+B,EAAa,OAE7B,IAAIC,EAASC,EAWb,GAVI5B,GACQ2B,EAAA,EACCC,GAAAjC,EAAO2B,OAASzB,EAAME,GAAc,IAEpC4B,GAAAhC,EAAO0B,MAAQxB,EAAMC,GAAa,EACnC8B,EAAA,GAGZhC,EAAIiC,UAAU,EAAG,EAAGlC,EAAO0B,MAAO1B,EAAO2B,QAEvB,IAAdb,EAAiB,CACnB,MAAMqB,YAAEA,EAAaC,aAAAA,GC5EgB,EAACjC,EAAWC,EAAYU,KAGxD,CAAEqB,YAFWhC,EAAYW,EAEVsB,aADDhC,EAAaU,ID0EMuB,CAA0BlC,EAAWC,EAAYU,IAEjFwB,YAAEA,EAAAC,YAAaA,GE9EW,GAClCxB,WACAC,WACAH,YACAsB,cACAC,eACAjC,UAAAA,EACAC,WAAAA,MAEM,MAAAoC,aAAEA,EAAcC,cAAAA,GAAkB5B,EACxC,IAAIyB,EAAevB,EAAWZ,EAAaqC,EAAeL,EAAc,EACpEI,EAAevB,EAAWZ,EAAcqC,EAAgBL,EAAe,EAG3E,MAAMM,EAAaC,KAAKC,IAAI,EAAGJ,EAAeL,GACxCU,EAAaF,KAAKC,IAAI,EAAGH,EAAgBL,GAMxC,OAHPE,EAAcK,KAAKC,IAAI,EAAGD,KAAKG,IAAIR,EAAaI,IAChDH,EAAcI,KAAKC,IAAI,EAAGD,KAAKG,IAAIP,EAAaM,IAEzC,CAAEP,cAAaC,cAAa,EFyDIQ,CAAqB,CACxDhC,WACAC,WACAH,YACAsB,cACAC,eACAjC,YACAC,eAGEH,EAAA+C,UACFjB,EACAO,EACAC,EACAJ,EACAC,EACAJ,EACAC,EACA9B,EACAC,EAEN,MACIH,EAAI+C,UAAUjB,EAAaC,EAASC,EAAS9B,EAAWC,EAC5D"}
|