chunk-42RTSVHV.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import {
  2. o
  3. } from "./chunk-WPDBODJM.js";
  4. import {
  5. f
  6. } from "./chunk-RYY6632W.js";
  7. // node_modules/@arcgis/core/symbols/cim/rasterizingUtils.js
  8. var a = (o2) => "vertical" === o2 || "horizontal" === o2 || "cross" === o2 || "esriSFSCross" === o2 || "esriSFSVertical" === o2 || "esriSFSHorizontal" === o2;
  9. function r(o2, r2, e2) {
  10. const i = f(Math.ceil(e2)), n = a(r2) ? 8 * i : 16 * i, s = 2 * i;
  11. o2.width = n, o2.height = n;
  12. const l = o2.getContext("2d");
  13. l.strokeStyle = "#FFFFFF", l.lineWidth = i, l.beginPath(), "vertical" !== r2 && "cross" !== r2 && "esriSFSCross" !== r2 && "esriSFSVertical" !== r2 || (l.moveTo(n / 2, -s), l.lineTo(n / 2, n + s)), "horizontal" !== r2 && "cross" !== r2 && "esriSFSCross" !== r2 && "esriSFSHorizontal" !== r2 || (l.moveTo(-s, n / 2), l.lineTo(n + s, n / 2)), "forward-diagonal" !== r2 && "diagonal-cross" !== r2 && "esriSFSDiagonalCross" !== r2 && "esriSFSForwardDiagonal" !== r2 || (l.moveTo(-s, -s), l.lineTo(n + s, n + s), l.moveTo(n - s, -s), l.lineTo(n + s, s), l.moveTo(-s, n - s), l.lineTo(s, n + s)), "backward-diagonal" !== r2 && "diagonal-cross" !== r2 && "esriSFSBackwardDiagonal" !== r2 && "esriSFSDiagonalCross" !== r2 || (l.moveTo(n + s, -s), l.lineTo(-s, n + s), l.moveTo(s, -s), l.lineTo(-s, s), l.moveTo(n + s, n - s), l.lineTo(n - s, n + s)), l.stroke();
  14. const h = l.getImageData(0, 0, o2.width, o2.height), c = new Uint8Array(h.data);
  15. let m;
  16. for (let t = 0; t < c.length; t += 4)
  17. m = c[t + 3] / 255, c[t] = c[t] * m, c[t + 1] = c[t + 1] * m, c[t + 2] = c[t + 2] * m;
  18. return [c, o2.width, o2.height];
  19. }
  20. function e(t, a2) {
  21. const r2 = "Butt" === a2, e2 = "Square" === a2, i = !r2 && !e2;
  22. t.length % 2 == 1 && (t = [...t, ...t]);
  23. const n = 15.5, s = 2 * n;
  24. let l = 0;
  25. for (const o2 of t)
  26. l += o2;
  27. const h = Math.round(l * n), c = new Float32Array(h * s), m = 0.5 * n;
  28. let S = 0, F = 0, g = 0.5, T = true;
  29. for (const o2 of t) {
  30. for (S = F, F += o2 * n; g <= F; ) {
  31. let o3 = 0.5;
  32. for (; o3 < s; ) {
  33. const t2 = (o3 - 0.5) * h + g - 0.5, a3 = i ? (o3 - n) * (o3 - n) : Math.abs(o3 - n);
  34. c[t2] = T ? r2 ? Math.max(Math.max(S + m - g, a3), Math.max(g - F + m, a3)) : a3 : i ? Math.min((g - S) * (g - S) + a3, (g - F) * (g - F) + a3) : e2 ? Math.min(Math.max(g - S, a3), Math.max(F - g, a3)) : Math.min(Math.max(g - S + m, a3), Math.max(F + m - g, a3)), o3++;
  35. }
  36. g++;
  37. }
  38. T = !T;
  39. }
  40. const d = c.length, f2 = new Uint8Array(4 * d);
  41. for (let M = 0; M < d; ++M) {
  42. const t2 = (i ? Math.sqrt(c[M]) : c[M]) / n;
  43. o(t2, f2, 4 * M);
  44. }
  45. return [f2, h, s];
  46. }
  47. export {
  48. r,
  49. e
  50. };
  51. //# sourceMappingURL=chunk-42RTSVHV.js.map