@visactor/vrender 0.17.8 → 0.17.9

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/cjs/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import '@visactor/vrender-core';
2
- export declare const version = "0.17.8";
2
+ export declare const version = "0.17.9";
3
3
  export * from '@visactor/vrender-core';
4
4
  export * from '@visactor/vrender-kits';
package/cjs/index.js CHANGED
@@ -21,7 +21,7 @@ Object.defineProperty(exports, "__esModule", {
21
21
 
22
22
  const vrender_core_1 = require("@visactor/vrender-core"), vrender_kits_1 = require("@visactor/vrender-kits"), vrender_kits_2 = require("@visactor/vrender-kits");
23
23
 
24
- exports.version = "0.17.8", (0, vrender_core_1.preLoadAllModule)(), (0, vrender_core_1.isBrowserEnv)() ? (0,
24
+ exports.version = "0.17.9", (0, vrender_core_1.preLoadAllModule)(), (0, vrender_core_1.isBrowserEnv)() ? (0,
25
25
  vrender_kits_1.loadBrowserEnv)(vrender_core_1.container) : (0, vrender_core_1.isNodeEnv)() && (0,
26
26
  vrender_kits_1.loadNodeEnv)(vrender_core_1.container), (0, vrender_kits_2.registerArc)(),
27
27
  (0, vrender_kits_2.registerArc3d)(), (0, vrender_kits_2.registerArea)(), (0, vrender_kits_2.registerCircle)(),
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAgC;AAChC,yDAA8F;AAC9F,yDAAqE;AACrE,yDAmBgC;AAEnB,QAAA,OAAO,GAAG,QAAQ,CAAC;AAEhC,IAAA,+BAAgB,GAAE,CAAC;AAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;IAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;CAC3B;KAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;IACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;CACxB;AACD,IAAA,0BAAW,GAAE,CAAC;AACd,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,8BAAe,GAAE,CAAC;AAClB,IAAA,gCAAiB,GAAE,CAAC;AACpB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,+BAAgB,GAAE,CAAC;AACnB,IAAA,iCAAkB,GAAE,CAAC;AACrB,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,+BAAgB,GAAE,CAAC;AACnB,yDAAuC;AACvC,yDAAuC","file":"index.js","sourcesContent":["import '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from '@visactor/vrender-core';\nimport { loadBrowserEnv, loadNodeEnv } from '@visactor/vrender-kits';\nimport {\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\nexport const version = \"0.17.8\";\n\npreLoadAllModule();\n\nif (isBrowserEnv()) {\n loadBrowserEnv(container);\n} else if (isNodeEnv()) {\n loadNodeEnv(container);\n}\nregisterArc();\nregisterArc3d();\nregisterArea();\nregisterCircle();\nregisterGlyph();\nregisterGroup();\nregisterImage();\nregisterLine();\nregisterPath();\nregisterPolygon();\nregisterPyramid3d();\nregisterRect();\nregisterRect3d();\nregisterRichtext();\nregisterShadowRoot();\nregisterSymbol();\nregisterText();\nregisterWrapText();\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAgC;AAChC,yDAA8F;AAC9F,yDAAqE;AACrE,yDAmBgC;AAEnB,QAAA,OAAO,GAAG,QAAQ,CAAC;AAEhC,IAAA,+BAAgB,GAAE,CAAC;AAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;IAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;CAC3B;KAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;IACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;CACxB;AACD,IAAA,0BAAW,GAAE,CAAC;AACd,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,4BAAa,GAAE,CAAC;AAChB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,8BAAe,GAAE,CAAC;AAClB,IAAA,gCAAiB,GAAE,CAAC;AACpB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,+BAAgB,GAAE,CAAC;AACnB,IAAA,iCAAkB,GAAE,CAAC;AACrB,IAAA,6BAAc,GAAE,CAAC;AACjB,IAAA,2BAAY,GAAE,CAAC;AACf,IAAA,+BAAgB,GAAE,CAAC;AACnB,yDAAuC;AACvC,yDAAuC","file":"index.js","sourcesContent":["import '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from '@visactor/vrender-core';\nimport { loadBrowserEnv, loadNodeEnv } from '@visactor/vrender-kits';\nimport {\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\nexport const version = \"0.17.9\";\n\npreLoadAllModule();\n\nif (isBrowserEnv()) {\n loadBrowserEnv(container);\n} else if (isNodeEnv()) {\n loadNodeEnv(container);\n}\nregisterArc();\nregisterArc3d();\nregisterArea();\nregisterCircle();\nregisterGlyph();\nregisterGroup();\nregisterImage();\nregisterLine();\nregisterPath();\nregisterPolygon();\nregisterPyramid3d();\nregisterRect();\nregisterRect3d();\nregisterRichtext();\nregisterShadowRoot();\nregisterSymbol();\nregisterText();\nregisterWrapText();\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\n"]}
package/dist/index.js CHANGED
@@ -2728,6 +2728,63 @@
2728
2728
  out.a = scaleX * a1, out.b = scaleX * b1, out.c = scaleY * c1, out.d = scaleY * d1, out.e = oe + oa * rotateCenterX + oc * rotateCenterY - a1 * offsetX - c1 * offsetY, out.f = of + ob * rotateCenterX + od * rotateCenterY - b1 * offsetX - d1 * offsetY;
2729
2729
  }
2730
2730
 
2731
+ var LRU = /*#__PURE__*/function () {
2732
+ function LRU() {
2733
+ _classCallCheck(this, LRU);
2734
+ this.CLEAN_THRESHOLD = 1e3, this.L_TIME = 1e3, this.R_COUNT = 1, this.R_TIMESTAMP_MAX_SIZE = 20;
2735
+ }
2736
+ _createClass(LRU, [{
2737
+ key: "clearCache",
2738
+ value: function clearCache(cache, params) {
2739
+ var _params$CLEAN_THRESHO = params.CLEAN_THRESHOLD,
2740
+ CLEAN_THRESHOLD = _params$CLEAN_THRESHO === void 0 ? this.CLEAN_THRESHOLD : _params$CLEAN_THRESHO,
2741
+ _params$L_TIME = params.L_TIME,
2742
+ L_TIME = _params$L_TIME === void 0 ? this.L_TIME : _params$L_TIME,
2743
+ _params$R_COUNT = params.R_COUNT,
2744
+ R_COUNT = _params$R_COUNT === void 0 ? this.R_COUNT : _params$R_COUNT;
2745
+ if (cache.size < CLEAN_THRESHOLD) return 0;
2746
+ var clearNum = 0;
2747
+ var clear = function clear(key) {
2748
+ clearNum++, cache["delete"](key);
2749
+ },
2750
+ now = Date.now();
2751
+ return cache.forEach(function (item, key) {
2752
+ if (item.timestamp.length < R_COUNT) return clear(key);
2753
+ var useCount = 0;
2754
+ for (; now - item.timestamp[item.timestamp.length - 1 - useCount] < L_TIME && (useCount++, !(useCount >= R_COUNT)););
2755
+ if (useCount < R_COUNT) return clear(key);
2756
+ for (; now - item.timestamp[0] > L_TIME;) item.timestamp.shift();
2757
+ }), clearNum;
2758
+ }
2759
+ }, {
2760
+ key: "addLimitedTimestamp",
2761
+ value: function addLimitedTimestamp(cacheItem, t, params) {
2762
+ var _params$R_TIMESTAMP_M = params.R_TIMESTAMP_MAX_SIZE,
2763
+ R_TIMESTAMP_MAX_SIZE = _params$R_TIMESTAMP_M === void 0 ? this.R_TIMESTAMP_MAX_SIZE : _params$R_TIMESTAMP_M;
2764
+ cacheItem.timestamp.length > R_TIMESTAMP_MAX_SIZE && cacheItem.timestamp.shift(), cacheItem.timestamp.push(t);
2765
+ }
2766
+ }, {
2767
+ key: "clearTimeStamp",
2768
+ value: function clearTimeStamp(cache, params) {
2769
+ var _params$L_TIME2 = params.L_TIME,
2770
+ L_TIME = _params$L_TIME2 === void 0 ? this.L_TIME : _params$L_TIME2,
2771
+ now = Date.now();
2772
+ cache.forEach(function (item) {
2773
+ for (; now - item.timestamp[0] > L_TIME;) item.timestamp.shift();
2774
+ });
2775
+ }
2776
+ }, {
2777
+ key: "clearItemTimestamp",
2778
+ value: function clearItemTimestamp(cacheItem, params) {
2779
+ var _params$L_TIME3 = params.L_TIME,
2780
+ L_TIME = _params$L_TIME3 === void 0 ? this.L_TIME : _params$L_TIME3,
2781
+ now = Date.now();
2782
+ for (; now - cacheItem.timestamp[0] > L_TIME;) cacheItem.timestamp.shift();
2783
+ }
2784
+ }]);
2785
+ return LRU;
2786
+ }();
2787
+
2731
2788
  function hslToRgb(h, s, l) {
2732
2789
  s /= 100, l /= 100;
2733
2790
  var c = (1 - Math.abs(2 * l - 1)) * s,
@@ -13351,19 +13408,27 @@
13351
13408
  }]);
13352
13409
  return ConicalCanvas;
13353
13410
  }();
13354
- var ColorInterpolate = /*#__PURE__*/function () {
13411
+ var ColorInterpolate = /*#__PURE__*/function (_LRU) {
13412
+ _inherits(ColorInterpolate, _LRU);
13413
+ var _super = _createSuper(ColorInterpolate);
13355
13414
  function ColorInterpolate() {
13415
+ var _this;
13356
13416
  var stops = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
13357
13417
  var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
13358
13418
  _classCallCheck(this, ColorInterpolate);
13419
+ _this = _super.call(this), _this.cacheParams = {
13420
+ CLEAN_THRESHOLD: 100,
13421
+ L_TIME: 1e3
13422
+ }, _this.dataMap = new Map();
13359
13423
  var canvas = ConicalCanvas.GetCanvas(),
13360
13424
  conicalCtx = ConicalCanvas.GetCtx();
13361
- if (canvas.width = precision, canvas.height = 1, !conicalCtx) return;
13425
+ if (canvas.width = precision, canvas.height = 1, !conicalCtx) return _possibleConstructorReturn(_this);
13362
13426
  if (conicalCtx.translate(0, 0), !conicalCtx) throw new Error("获取ctx发生错误");
13363
13427
  var gradient = conicalCtx.createLinearGradient(0, 0, precision, 0);
13364
13428
  stops.forEach(function (stop) {
13365
13429
  gradient.addColorStop(stop[0], stop[1]);
13366
- }), conicalCtx.fillStyle = gradient, conicalCtx.fillRect(0, 0, precision, 1), this.rgbaSet = conicalCtx.getImageData(0, 0, precision, 1).data;
13430
+ }), conicalCtx.fillStyle = gradient, conicalCtx.fillRect(0, 0, precision, 1), _this.rgbaSet = conicalCtx.getImageData(0, 0, precision, 1).data;
13431
+ return _this;
13367
13432
  }
13368
13433
  _createClass(ColorInterpolate, [{
13369
13434
  key: "getColor",
@@ -13371,32 +13436,32 @@
13371
13436
  var rgba = this.rgbaSet.slice(4 * offset, 4 * offset + 4);
13372
13437
  return "rgba(".concat(rgba[0], ", ").concat(rgba[1], ", ").concat(rgba[2], ", ").concat(rgba[3] / 255, ")");
13373
13438
  }
13374
- }], [{
13439
+ }, {
13375
13440
  key: "GetOrCreate",
13376
- value: function GetOrCreate() {
13377
- var stops = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
13378
- var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
13379
- var str = "";
13441
+ value: function GetOrCreate(x, y, w, h) {
13442
+ var stops = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
13443
+ var precision = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 100;
13444
+ var str = "".concat(x).concat(y).concat(w).concat(h);
13380
13445
  stops.forEach(function (item) {
13381
13446
  return str += item.join();
13382
13447
  }), str += precision;
13383
- var colorInter = ColorInterpolate.dataMap.get(str);
13384
- return colorInter || (colorInter = new ColorInterpolate(stops, precision), ColorInterpolate.dataMap.set(str, colorInter)), colorInter;
13385
- }
13386
- }, {
13387
- key: "SetColorInterpolateInstance",
13388
- value: function SetColorInterpolateInstance(stops, ins) {
13389
- ColorInterpolate.dataMap.set(stops, ins);
13448
+ var colorInter = this.dataMap.get(str);
13449
+ if (!colorInter) {
13450
+ colorInter = {
13451
+ data: new ColorInterpolate(stops, precision),
13452
+ timestamp: []
13453
+ }, this.addLimitedTimestamp(colorInter, Date.now(), {}), this.dataMap.set(str, colorInter);
13454
+ }
13455
+ return this.clearCache(this.dataMap, this.cacheParams), colorInter.data;
13390
13456
  }
13391
- }, {
13392
- key: "GetColorInterpolateInstance",
13393
- value: function GetColorInterpolateInstance(stops) {
13394
- return ColorInterpolate.dataMap.get(stops);
13457
+ }], [{
13458
+ key: "getInstance",
13459
+ value: function getInstance() {
13460
+ return ColorInterpolate._instance || (ColorInterpolate._instance = new ColorInterpolate()), ColorInterpolate._instance;
13395
13461
  }
13396
13462
  }]);
13397
13463
  return ColorInterpolate;
13398
- }();
13399
- ColorInterpolate.dataMap = new Map();
13464
+ }(LRU);
13400
13465
  var ConicalPatternStore = /*#__PURE__*/function () {
13401
13466
  function ConicalPatternStore() {
13402
13467
  _classCallCheck(this, ConicalPatternStore);
@@ -13468,7 +13533,7 @@
13468
13533
  var r = Math.sqrt(Math.max(Math.max(Math.pow(x, 2) + Math.pow(y, 2), Math.pow(width - x, 2) + Math.pow(y, 2)), Math.max(Math.pow(width - x, 2) + Math.pow(height - y, 2), Math.pow(x, 2) + Math.pow(height - y, 2)))),
13469
13534
  stepNum = deltaDeg + 1,
13470
13535
  step = deltaAngle / Math.max(1, stepNum - 1),
13471
- colorInter = ColorInterpolate.GetOrCreate(stops, stepNum),
13536
+ colorInter = ColorInterpolate.getInstance().GetOrCreate(x, y, width, height, stops, stepNum),
13472
13537
  lineWidth = 2 * Math.PI * r / 360;
13473
13538
  conicalCanvas.width = width, conicalCanvas.height = height, conicalCtx.setTransform(1, 0, 0, 1, 0, 0), conicalCtx.clearRect(0, 0, width, height), conicalCtx.translate(x, y), conicalCtx.rotate(startAngle);
13474
13539
  for (var i = 0, len = stepNum - 1; i < len && !(startAngle + i * step > endAngle); i++) {
@@ -34437,7 +34502,7 @@
34437
34502
 
34438
34503
  var roughModule = _roughModule;
34439
34504
 
34440
- const version = "0.17.8";
34505
+ const version = "0.17.9";
34441
34506
  preLoadAllModule();
34442
34507
  if (isBrowserEnv()) {
34443
34508
  loadBrowserEnv(container);