svg.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.setClip = exports.setTransform = exports.setShadow = void 0;
  4. var dom_1 = require("./dom");
  5. function setShadow(model, context) {
  6. var el = model.cfg.el;
  7. var attrs = model.attr();
  8. var cfg = {
  9. dx: attrs.shadowOffsetX,
  10. dy: attrs.shadowOffsetY,
  11. blur: attrs.shadowBlur,
  12. color: attrs.shadowColor,
  13. };
  14. if (!cfg.dx && !cfg.dy && !cfg.blur && !cfg.color) {
  15. el.removeAttribute('filter');
  16. }
  17. else {
  18. var id = context.find('filter', cfg);
  19. if (!id) {
  20. id = context.addShadow(cfg);
  21. }
  22. el.setAttribute('filter', "url(#" + id + ")");
  23. }
  24. }
  25. exports.setShadow = setShadow;
  26. function setTransform(model) {
  27. var matrix = model.attr().matrix;
  28. if (matrix) {
  29. var el = model.cfg.el;
  30. var transform = [];
  31. for (var i = 0; i < 9; i += 3) {
  32. transform.push(matrix[i] + "," + matrix[i + 1]);
  33. }
  34. transform = transform.join(',');
  35. if (transform.indexOf('NaN') === -1) {
  36. el.setAttribute('transform', "matrix(" + transform + ")");
  37. }
  38. else {
  39. console.warn('invalid matrix:', matrix);
  40. }
  41. }
  42. }
  43. exports.setTransform = setTransform;
  44. function setClip(model, context) {
  45. var clip = model.getClip();
  46. var el = model.get('el');
  47. if (!clip) {
  48. el.removeAttribute('clip-path');
  49. }
  50. else if (clip && !el.hasAttribute('clip-path')) {
  51. dom_1.createDom(clip);
  52. clip.createPath(context);
  53. var id = context.addClip(clip);
  54. el.setAttribute('clip-path', "url(#" + id + ")");
  55. }
  56. }
  57. exports.setClip = setClip;
  58. //# sourceMappingURL=svg.js.map